はじめに
ソリューションアーキテクトアソシエイト対策の学習メモ
IAMとは
- 「Identity and Access Management」の略
- ユーザ、グループのアクセス権を適切に管理するための仕組み
- ユーザは複数グループに所属できる、所属しないこともできる
- グループ内にグループを作成することはできない
IAM ロール
- AWSサービスが別のサービスにアクセスする権限を与えるための仕組み
- 例:EC2サーバにロールをアタッチしてS3へアクセスを許可する
ポリシー
- ユーザ、グループ、ロール、特定のAWSリソースにJSONで書かれた権限を割り当てできる
- アタッチされた対象が「どのような操作ができるか」
{
// Version(必須、常に2012-10-17)
"Version": "2012-10-17",
"Statement": [
{
// Statementの識別子、任意(オプション)
"Sid": "ThirdStatement",
// アクセス許可、拒否(Arrow,Deny)
"Effect": "Allow",
// このポリシーが適用されるアカウント/ユーザ/ロール
"Principal": {
"AWS: ["arn:aws:iam:1234567890:root"]"
}
// このポリシーで許可/拒否されるアクション一覧
"Action": [
"s3:List*",
"s3:Get*"
],
// アクションの対象となるリソース一覧
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket-confidential-data",
"arn:aws:s3:::amzn-s3-demo-bucket-confidential-data/*"
],
// ポリシーが適用される条件(オプション)
"Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
}
]
}
管理ポリシーとインラインポリシー
- 管理ポリシー
- AWS管理ポリシー
- AWSによって事前に用意されたポリシーのこと(AmazonEC2FullAccessなど)
- 複数のユーザ、グループ、ロール等に適用できる
- カスタマー管理ポリシー
- ユーザが作成したポリシー
- 複数のユーザ、グループ、ロール等に適用できる
- AWS管理ポリシー
- インラインポリシー
- IAM アイデンティティ (ユーザー、グループ、またはロール) に埋め込まれたポリシー
- 作成したポリシーをユーザ等に適用すると、他のユーザ等に対して適用することが出来ない
アイデンティティベースのポリシー
- ユーザー、グループ、またはロールにアタッチ され、そのエンティティが実行できるアクションを定義
リソースベースのポリシー
- 特定のAWSリソース(S3バケットなど)に直接アタッチされそのリソースにアクセスできるエンティティ(IAM ユーザー、ロール、AWS アカウントなど)を定義