疑似パラメータとポリシー変数の共存
下記のコードでCloudFormationでIAMグループを作成しました。
${aws:username}は、下記のリンクのIAM ポリシーエレメントのポリシー変数に使用可能なリクエスト情報を使いました。
AWS AccountIdの部分もリテラルではなく変数を使う方法はないでしょうか。
下記は試してみましたがいずれもだめでした。
Resource: "arn:aws:iam::${aws:userid}:user/${aws:username}"
ポリシー変数は、IAMユーザは、AWSアカウントではなく一意IDが返されるからかもしれませんが、確認方法がわかりませんでした。
Resource: !Sub "arn:aws:iam::${AWS::AccountId}:user/${aws:username}"
ClodFormationの疑似パラメータを使いましたが、ポリシー変数と同じ${}表記なので、エラーになりました。
Type: "AWS::IAM::Group"
Properties:
GroupName: "Users"
Policies:
- PolicyName: group-user-policy
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action:
- "iam:GetAccountPasswordPolicy"
Resource: "*"
- Effect: Allow
Action:
- "iam:ChangePassword"
Resource: !Sub "arn:aws:iam::1234567890:user/${aws:username}"