AssumeRole 権限の対象がすべてのロール

ロールを引き受ける権限を、必要なロール ARN に限定します。

説明

sts:AssumeRole に Resource: "*" を許可すると、このポリシーでは引き受ける対象ロールを制限しません。実際の引き受けには、対象ロールの信頼ポリシーと適用条件も満たす必要があります。

想定される影響

過度に広い信頼関係と組み合わさると、想定外のロールを引き受け、より大きな権限を使えるおそれがあります。

対処方法

Resource に必要なロール ARN だけを指定し、対象ロールの信頼ポリシーも確認してください。

例

この例は引き受ける対象を特定のロールに限定しています。ロール ARN とポリシーを付けるユーザー・グループを、実際の構成に合わせて指定してください。

変更前

yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: A sample template
Resources:
  mypolicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyName: mygrouppolicy
      PolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Action: ["sts:AssumeRole"]
            Resource: "*"
      Users: ["SomeUser"]

変更後

yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: A sample template
Resources:
  MyPolicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyName: mygrouppolicy
      PolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Action:
              - sts:AssumeRole
            Resource:
              - arn:aws:iam::123456789012:role/ReadOnlyApplicationRole
      Groups:
        - myexistinggroup1
        - !Ref mygroup

参考資料