はじめに
本記事はこちらの関連ブログです。
IAM Identity Centerや許可セットについて、ご存じでない方は以下の記事を参考にしてください。
許可セットに含まれるカスタマー管理ポリシーとは
IAM Identity Center(以下、IIC)の許可セットに適用できるIAMポリシーには、AWSマネージドポリシー、インラインポリシーに加えて、カスタマー管理ポリシーが存在します。
カスタマー管理ポリシーを利用すると、複数の許可セットを管理する際にIAMポリシーの組み合わせで権限管理が可能になります。
そのため、複雑な権限管理を行いたい場合には、インラインポリシーと比較して優れた選択肢となります。
ただし、カスタマー管理ポリシーはAWSマネージドポリシーのように事前定義されていないため、あらかじめ許可セットの割り当て先アカウントでIAMポリシーを作成しておく必要があります。
IAMポリシーを作成する方法としては各アカウントで作成する方法もありますが、CloudFormation StackSetsを活用して一括デプロイする方が運用上の利便性が高いです。
実際に試してみる
IAMポリシーをCloudFormation StackSetsを使用して事前に作成する方法で、カスタマー管理ポリシーを作成していきます。
こちらのCloudFormation StackSetsテンプレートを利用して、割り当て先アカウントへIAMポリシーの作成します。
AWSTemplateFormatVersion: "2010-09-09"
Resources:
S3BucketCreationManagedPolicy:
Type: "AWS::IAM::ManagedPolicy"
Properties:
ManagedPolicyName: "S3BucketCreationPolicy"
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Action:
- "s3:CreateBucket"
Resource: "*"
許可セット割り当て前に、上記テンプレートを使用してCloudFormation StackSetsを実行し、割り当て先アカウントへIAMポリシーを作成します。
次に、管理アカウントのIIC許可セット画面で、許可セットにアタッチするIAMポリシーを選択します。
今回はこちらを選択します
- AWSマネージドポリシー:ReadOnlyAccess
- カスタマー管理ポリシー:S3BucketCreationPolicy
注意点
許可セット名を「PermissionSetTest」として、許可セットを作成します。
許可セットの作成後、IICのAWSアカウント画面から
対象のユーザ/グループと作成した許可セットを選択して、割り当てを行います。
割り当てが完了後、割り当て先アカウントへ移動し、IAMロールを確認します。
想定通り許可セットの割り当てによってIAMロールが作成されていることが確認できました。
まとめ
- 許可セットにはAWSマネージドポリシー、インラインポリシー、カスタマー管理ポリシーを適用できる
- カスタマー管理ポリシーを活用することで、複数の許可セットに対する権限管理を効率化できる場合がある
- カスタマー管理ポリシーは事前に許可セット割り当て先アカウントへデプロイしておく必要がある