属性ベースのアクセス制御 (ABAC) を使用してシークレットへのアクセスを制御する - AWS Secrets Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

属性ベースのアクセス制御 (ABAC) を使用してシークレットへのアクセスを制御する

属性ベースのアクセス制御 (ABAC) は、部門、ビジネスユニット、認証結果に影響を与える可能性のあるその他の要因など、ユーザー、データ、または環境の属性や特性に基づいてアクセス許可を定義する認証戦略です。AWS では、属性は タグ と呼ばれます。

タグを使用したアクセス許可の制御は、急速に成長している環境や、ポリシー管理が煩雑になっている状況で役に立ちます。ABAC ルールはランタイムに動的に評価され、ユーザーのアプリケーションとデータへのアクセスと許可される操作のタイプは、ポリシーのコンテキスト要因に基づいて自動的に変更されます。例えば、ユーザーが部門を変更すると、権限を更新したり、新しいロールをリクエストしたりすることなく、アクセスが自動的に調整されます。詳細については、「What is ABAC for AWS?」、「Define permissions to access secrets based on tags.」、「Scale your authorization needs for Secrets Manager using ABAC with IAM Identity Center」を参照してください。

例: 特定のタグを持つシークレットへの ID アクセスを許可する

次のポリシーは、キーが「ServerName」、値が「ServerABC」のタグが付けられたシークレットの DescribeSecret アクセスを許可します。このポリシーを ID にアタッチすると、その ID にはアカウント内のそのタグを持つシークレットに対するアクセス権限が与えられます。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "secretsmanager:DescribeSecret", "Resource": "*", "Condition": { "StringEquals": { "secretsmanager:ResourceTag/ServerName": "ServerABC" } } } }

例: シークレットのタグに一致するタグを持つ ID のみにアクセスを制限する

次のポリシーでは、アカウント GetSecretValue のすべての ID が、ID の AccessProject タグの値がシークレットの AccessProject タグと同じ値を持つアカウントのシークレットにアクセスすることを許可します。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "AWS": "123456789012" }, "Condition": { "StringEquals": { "aws:ResourceTag/AccessProject": "${ aws:PrincipalTag/AccessProject }" } }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } }