はじめに
IAMのロール作成時に聞かれる「信頼されたエンティティ」って何となったので調べて分かった事を備忘録としてを残す
信頼されたエンティティとは
IAMで作成したロールはユーザだけでなくサービス(s3とかLambdaとか)にも付与することができるが、その付与可能なサービスを設定しているのが「信頼されたエンティティ」の部分
この「信頼されたエンティティ」にないサービスにはロールをアタッチできない
具体的に見ていく
ロール作成
ロールをIAMで作成すると以下のような画面が出てくるが、ここで選択したサービスを「信頼されたエンティティ(=今作成中のロールをアタッチできる対象として許可する)」とみなすようになる
作成したロールの信頼関係(どのサービスならこのロールをアタッチできるか?)
「信頼されたエンティティ」の所にlambda.amazonaws.com
と書かれている通り、Lambdaであればこのロールを使う事ができるように設定できている
Lambdaからアタッチできるか?確認
ロール一覧に先ほど作成したtest-role
が表示されているのが確認できる
信頼されたエンティティを修正してLambdaからアタッチできない事を確認
信頼されたエンティティが以下のような状態でLambdaのアタッチ可能なロール一覧を見てみると・・・
おまけ
信頼されたエンティティを複数定義する
以下のように自分でJSONを編集すれば他のサービスも信頼されたエンティティに追加する事ができる
※JSON編集画面は作成したロールの信頼関係(どのサービスならこのロールをアタッチできるか?)の画像にある「信頼関係の編集」ボタンから開ける
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"s3.amazonaws.com",
"lambda.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}