

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

# 属性ベースのアクセス制御 (ABAC) を使用してシークレットへのアクセスを制御する
<a name="auth-and-access-abac"></a>

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

タグを使用したアクセス許可の制御は、急速に成長している環境や、ポリシー管理が煩雑になっている状況で役に立ちます。ABAC ルールはランタイムに動的に評価され、ユーザーのアプリケーションとデータへのアクセスと許可される操作のタイプは、ポリシーのコンテキスト要因に基づいて自動的に変更されます。例えば、ユーザーが部門を変更すると、権限を更新したり、新しいロールをリクエストしたりすることなく、アクセスが自動的に調整されます。詳細については、[「ABAC とは AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」、[「タグに基づいてシークレットにアクセスするためのアクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)」、[「IAM Identity Center で ABAC を使用して Secrets Manager の認可ニーズをスケール](https://aws.amazon.com/blogs/security/scale-your-authorization-needs-for-secrets-manager-using-abac-with-iam-identity-center/)する」を参照してください。

## 例: 特定のタグを持つシークレットへの ID アクセスを許可する
<a name="tag-secrets-abac"></a>

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

------
#### [ JSON ]

****  

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

------

## 例: シークレットのタグに一致するタグを持つ ID のみにアクセスを制限する
<a name="auth-and-access_tags2"></a>

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

------
#### [ JSON ]

****  

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

------