今回の課題
IAM
>ロール
>信頼関係
の信頼関係
タブの信頼されたエンティティ
のポリシーが、どういった権限を許可しているのか理解してみる。
今回は以下の画像の、
AWSServiceRoleForRDS
ロールの信頼されたエンティティ
を見てみる。
信頼されたエンティティのポリシーは、以下のように記述されている。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "rds.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
結論
信頼されたエンティティ
に記載されているポリシーでは、以下の設定が行われていることがわかった。
sts:AssumeRole
というアクションを使用して、
AWSServiceFoleForRDS
ロールの権限を、
必要な時に一時的にRDS(rds.amazonaws.com
)が使うことができるように設定されている。
一つ一つ分解して理解する
信頼されたエンティティとは
IAMで作成したロールはユーザーだけではなくAWSリソースにも付与することができるが、
付与可能なAWSリソースを指定しておくためのものが、信頼されたエンティティ
。
信頼されたエンティティ
に記載されていないリソースには、ロールをアタッチすることはできない。
※ロールを作成するときに、AWSリソースやAWSアカウントを設定するが、そこで選択したサービスが信頼されたエンティティ
のPrincipal
に記載される。
AWS STSとは?
AWS Security Token Serviceの略称で、一時的な認証情報を発行する機能のこと。
以下の3つの認証情報が発行される。
- アクセスキー
- シークレットキー
- セッショントークン
一時的な認証情報は、AWSリソースへのアクションをより安全に制御するのに便利。
AssumeRoleとは?
AWS STSのサービスの機能の一つ。
ある特定のIAMロールに付与された権限を、別のAWSアカウントサービスやIAMユーザーといった別のエンティティに対して委譲することができる権限。
一時的に権限を移譲するので、セキュリティを確保しながら必要なリソースへのアクセスを許可することができる。
参考記事