🔥
【AWS】IAMポリシー、グループ、ロールの違い
1. IAMポリシーとは
-
概要:
- AWSリソースへのアクセス許可を定義するJSON形式のドキュメント。以下のサイトで作成可能
(https://awspolicygen.s3.amazonaws.com/policygen.html) - 例: 「このアカウントのS3バケットの参照を許可」など。
- AWSリソースへのアクセス許可を定義するJSON形式のドキュメント。以下のサイトで作成可能
-
主な構成要素:
- Effect: 許可するか拒否するか(AllowまたはDeny)。
- Action: 実行可能な操作(例: s3:ListBucket)。
- Resource: 操作対象のリソース(例: 特定のS3バケット)。
-
活用方法:
- AWSが提供する事前定義済みポリシー(例: AdministratorAccess、ReadOnlyAccess)を使用。
- 独自のポリシーを作成する場合はIAMポリシージェネレーターを活用。
2. IAMグループとは
-
概要:
- 複数のIAMユーザーをまとめるためのリソース。
- IAMグループにポリシーを割り当てると、所属する全ユーザーがその権限を共有。
-
メリット:
- 管理の効率化(個別のユーザーにポリシーを割り当てる手間を削減)。
-
例:
- 「開発者グループ」には開発関連の操作権限、「インフラ管理グループ」には管理者権限を付与。
3. IAMロールとは
-
概要:
- AWSリソースに一時的な権限を与える「ヘルメット」のようなもの。
- 例: EC2インスタンスがS3バケットの一覧を取得する権限を付与。
-
特徴:
- ユーザーやサービスに対して動的に権限を付与。
- 権限はIAMポリシーで定義。
-
現実世界の例:
- 訪問先で受け取る「臨時入館カード」:カードを返却すると権限が無効になる。
-
使用例:
- EC2インスタンスにIAMロールを割り当て、指定された操作(例: S3バケットの参照)のみ許可。
4. IAM管理の基本フロー
-
IAMポリシーを作成
- リソースへのアクセス許可をJSON形式で定義。
-
IAMユーザーまたはIAMグループにポリシーを割り当て
- 個別に割り当てる場合はIAMユーザーに付与。
- グループ管理で効率化する場合はIAMグループに付与。
-
IAMロールをAWSリソースに割り当て
- 必要な権限を一時的にAWSリソースに付与。
5. 活用例
-
IAMグループの利用例:
- 開発チーム:S3フルアクセス。
- QAチーム:S3リードオンリーアクセス。
- 管理者:AdministratorAccess。
-
IAMロールの利用例:
- EC2インスタンスがS3バケットを操作する権限を付与。
- 操作終了後、権限を自動的に削除。
Discussion