2021/05/27

AWSへのアクセス権限を管理してくれるAWS IAMのインラインポリシーとは?

 
  

AWS IAMのインラインポリシーで、AWSリソースへのアクセス管理は万全です!


アマゾンの代表的クラウドサービスAWS(Amazon Web Service)は、AWS外のエンドポイントから集められたデータが保管サーバーに一旦蓄積され、アプリケーションサーバーでユーザーのリクエストが実行されます。

AWSリソースへのアクセスを安全に管理しているのが、AWS IAM(Identity and Access Management)です。

これから、AWSにアクセスするための権限を役割ごとに作成、管理するためのAWS IAMと、アクセス権限をユーザーごとに直接組み込むインラインポリシーについてお話ししていきます。

ユーザーがAWSのサービスやリソースに安心してアクセスできる、AWS IAMとは?


AWS IAMは、ユーザーのアクセス権限を役割ごとに設定することで、AWSリソースとAWSアカウントへのアクセスを管理します。

これから、AWS IAMの仕組みについてご紹介します。

AWS IAMの仕組み

AWS IAMは、AWSにアクセスするための権限を、役割ごとに作成、管理します。

AWS IAMがアクセスを管理する仕組みについて、ユーザーごとのアクセスと役割ごとのアクセス許可の管理、および外部フェデレーティッドユーザーのアクセス許可の管理の三点からお話ししていきます。

IAMユーザーのアクセスはどのように管理されているか?

AWS IAMでは、ユーザーの作成と個別セキュリティ認証情報の割り当て、または一時的なセキュリティ認証情報をリクエストすることによって、各ユーザーにAWS のサービスやリソースへのアクセス権を付与します。

個別セキュリティ認証情報には、アクセスキー、パスワード、多要素認証デバイス情報などがあり、特に多要素認証デバイス情報は、パソコンだけでなくNFC対応デバイスなどでも認証できるようになるので、今後有用なものとなるでしょう。

また、一時的セキュリティ認証情報とは、AWS Security Token Service (AWS STS)を使用して、数分の数時間の短期間にアクセスを許可する情報です。

このようにして、管理者が、ユーザーにどの操作の実行を許可するのか管理できるようになります。

IAM役割によって、どのようにアクセスの許可が管理されているか?

AWS IAMでは、作成されたユーザー情報を元に役割を作成することで、アクセスの許可を管理し、あらかじめ定義したロールごとのエンティティや実行できるAWSサービスも管理します。

このほか、さらに、ユーザーの代わりにサービスにリンクされている役割を使って、AWSリソースを作成したり管理したりする権限で、AWSのサービスにアクセスすることもできます。

外部フェデレーティッドユーザーは、どのようにアクセス許可が管理されるか?

外部フェデレーティッドユーザー(既にAWS以外のIDを持っているユーザー)は、AWSリソースを使ったりリソースにアクセスするアプリケーションを使ったりする場合には、AWSセキュリティ認証情報が必要です。

IAMの役割によって、ID ごとに IAM ユーザーを作成する必要はなく、あらかじめAWSを管理している部署や第三者のプロバイダーから、外部フェデレーティッドユーザーのアクセス許可を指定できます。

外部フェデレーティッドユーザーのアクセスが許可されると、ユーザー、グループおよび役割など既存の社内IDで、AWSマネジメントコンソールへのアクセス、AWS APIの呼び出し、リソースへのアクセスが許可されます。

AWSへのアクセス権限をユーザーごとに直接組み込むインラインポリシーとは?


特定のIAM IDによるAWSへのアクセス権限を設定する場合に必要なポリシーには、管理ポリシーと、インラインポリシーがあります。

さらに、管理ポリシーには、AWSが作成・管理するAWS管理ポリシーと、AWSアカウントで作成・管理するカスタマー管理ポリシーがあります。

このほか、AWSへのアクセス権限をユーザーごとに直接組み込むポリシーをインラインポリシーといいます。

ここから、それぞれのポリシーについてお話しする中で、インラインポリシーを使うべき場面をご紹介しましょう。

管理ポリシーとは?

管理ポリシーは、独自のAmazonリソースネーム(Amazon Resource Name:ARN)が付いたスタンドアローンポリシーのことです。

ARNは、Amazon Relational Database Service(Amazon RDS)へのアクセスを認可するためのタグを付与する場合や、APIコールなど、明らかにAWS全体に関わるリソースを指定する必要があるとき、AWSリソースを特定するために必要なものです。

したがって、管理ポリシーを見れば、どのAWSリソースにアクセスするためのポリシーなのかが一意的にわかります。

管理ポリシーは、変更管理が自動化かつ一元化されているために、必要に応じて管理ポリシーが変更され、特にAWS管理ポリシーが更新された場合には、ポリシーをアタッチしているプリンシパルエンティティに自動的に反映されます。

AWS管理ポリシー

AWS管理ポリシーによって、一般的なユースケースでアクセス許可を提供でき、ここで定義されているアクセス許可は変更できませんが、不定期に更新されます。

AWS管理ポリシーは、AWSクラウド上のいろいろな職務機能を簡単に付与でき、システム管理、データベース管理、ネットワーク管理など、IT的な職務機能と密接に関連しています。

AWS管理ポリシーには、次のポリシーが含まれます。

・AdministratorAccess :AWSへのフルアクセスを許可およびアクセス許可を委任できるポリシーで、アカウント管理者に付与することを推奨します。
・PowerUserAccess:IAMとOrganizationsへの制限されたアクセスを除く、すべてのサービスへのフルアクセスが許可されるポリシーです。
・AWS ReadOnlyAccess:すべてのAWSサービスおよびリソースへの読取専用のアクセス権が付与されるポリシーです。

カスタマー管理ポリシー

カスタマー管理ポリシーは、ユーザーのAWSアカウントで管理できるスタンドアローンポリシーを作成することができるポリシーです。

特徴として、AWSアカウントの複数のプリンシパルエンティティにポリシーをアタッチできることですが、このことで、ポリシーで定義されたアクセス権限がエンティティに付与されることになります。

また、これまでのAWS管理ポリシーをコピーして開始することができます。最初の段階でポリシーが正しいことがわかっていれば、ユーザーのリクエストに沿ったカスタマイズを行うことができます。

インラインポリシー

インラインポリシーは、IAMアイデンティティ(ユーザー、グループまたは役割)に埋め込まれたポリシーで、本質的にアイデンティティの一部であるといえます。

インラインポリシーをIDに埋め込む時期は、IDを作成した時、またはそれ以降となります。

インラインポリシーの特徴として、2つの役割に同じポリシーが含まれている場合でも、1つのポリシーを共有していないことが挙げられます。

インラインポリシーを使うべき場面は、たとえば、ポリシー内のアクセス権限を一意的に割り当てる必要がある場合です。これは、ポリシーとそれが適用されているアイデンティティが厳密に1対1の関係を維持する必要があるためです。

注意点として、AWSマネジメントコンソール上でアイデンティティを削除すると、そのアイデンティティに組み込まれたポリシーも同時に削除されてしまいます。これは、プリンシパルエンティティの一部であるからです。

AWS IAMのインラインポリシーは、AWSへのアクセス権限を管理してくれます!


ここまで、AWS IAMで役割ごとのアクセス権限を管理するための管理ポリシーと、ユーザーごとにアクセス権を直接組み込むインラインポリシーについてご紹介しました。

AWSは、ユーザーがAWSのサービスやリソースに安全にアクセスするために、ユーザーに特化アクセスポリシーを用意してくれています。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】