説明
ロールの信頼ポリシーの Principal にアカウント ARN を指定すると、そのアカウントに権限の委任を許可します。ARN の root はルートユーザーだけを意味せず、そのアカウントで権限を付与された主体もロールを引き受けられます。
想定される影響
委任範囲が広すぎると、信頼したアカウント内の想定外の主体がロールの権限を使えるおそれがあります。
対処方法
必要なロールやサービスプリンシパルを指定するか、適切な条件で範囲を限定してください。アカウント単位の委任が必要な場合は、そのアカウントで誰にロールを引き受ける権限を付与しているかも確認してください。
例
この例はアカウント単位の信頼を特定のロールへの信頼に絞っています。実在するアカウントとロールの ARN を指定してください。
変更前
yaml
AWSTemplateFormatVersion: "2010-09-09"
Resources:
RootRole:
Type: "AWS::IAM::Role"
Properties:
AssumeRolePolicyDocument: >
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Effect": "Allow",
"Sid": ""
}
]
}
変更後
yaml
AWSTemplateFormatVersion: "2010-09-09"
Resources:
ApplicationRole:
Type: "AWS::IAM::Role"
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Action: "sts:AssumeRole"
Effect: "Allow"
Principal:
AWS: "arn:aws:iam::111122223333:role/TrustedApplicationRole"