IAM Identity Center を使用して ABAC の権限セットを作成する
設定した属性値に基づいて AWS リソースにアクセスできるユーザーを決定するアクセス権限ポリシーを作成できます。ABAC を有効にして属性を指定すると、IAM Identity Center は認証されたユーザーの属性値を IAM に渡し、ポリシー評価で使用できるようにします。
aws:PrincipalTag 条件キー
アクセスコントロール属性は、アクセスコントロールルールを作成するための aws:PrincipalTag
条件キーを使って、アクセス権限セットに使用することができます。例えば、次の信頼ポリシーでは、組織内のすべてのリソースに、それぞれのコストセンターをタグ付けすることができます。また、開発者にコストセンターのリソースへのアクセスを許可する単一のアクセス権限セットを使用することもできます。これで、開発者が SSO とコストセンター属性を使ってアカウントに連携すると、それぞれのコストセンターのリソースにしかアクセスできなくなります。チームがプロジェクトに開発者やリソースを追加しても、リソースに正しいコストセンターをタグ付けするだけで済みます。そして、開発者が AWS アカウント にフェデレートする際に、AWS セッションでコストセンター情報を渡します。その結果、組織がコストセンターに新しいリソースや開発者を追加しても、開発者は権限の更新を必要とせずに、コストセンターに整合したリソースを管理することができます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/CostCenter": "${aws:PrincipalTag/CostCenter}" } } } ] }
詳細については、「IAM ユーザーガイド」のaws:PrincipalTagおよび「EC2: 一致するプリンシパルタグとリソースタグに基づいてインスタンスを開始または停止する」 を参照してください。
ポリシーの条件に無効な属性が含まれている場合、ポリシーの条件は失敗し、アクセスは拒否されます。詳細については、「ユーザーが外部の ID プロバイダーを使用してサインインしようとすると、「予期しないエラーが発生しました」というエラーが発生します」を参照してください。