

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

# タグへのアクセスを制御する
<a name="tag-permissions"></a>

API を使用して、タグを追加、表示、削除するには、 コンソールまたは API を使用して、プリンシパルがIAM ポリシーでタグ付けされている必要があります。

タグ AWS のグローバル条件キーを使用して、これらのアクセス許可を制限することもできます。 AWS Payment Cryptography ではこれらの条件により、[TagResource](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_TagResource.html) および [UntagResource](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_UntagResource.html) のようなタグ付けオペレーションへのアクセスを制御できます。

サンプルポリシーおよび詳細については、「*IAM ユーザーガイド*」の「[タグキーに基づいたアクセス制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-tag-keys)」を参照してください。

タグを作成および管理するためのアクセス許可は、次のように機能します。

**payment-cryptography:TagResource**  
プリンシパルにタグの追加または編集を許可します。キーの作成中にタグを追加するには、プリンシパルが特定のキーに制限されない IAM ポリシーでアクセス許可を持っている必要があります。

**payment-cryptography:ListTagsForResource**  
プリンシパルがキーのタグを表示できるようにします。

**payment-cryptography:UntagResource**  
プリンシパルがキーからタグを削除できるようにします。

## ポリシーのタグ付け許可
<a name="tag-permission-examples"></a>

キーポリシーまたは IAM ポリシーでタグ付け許可を付与できます。例えば、次のキーポリシーの例では、選択したユーザーにキーに対するタグ付け許可が付与されます。これにより、サンプルの管理者ロールまたはデベロッパーロールを引き受けることができるすべてのユーザーにタグを表示する許可が付与されます。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "example-key-policy",
  "Statement": [
    { 
      "Sid": "EnableIAMUserPermissions",
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::{{111122223333}}:root"},
      "Action": "payment-cryptography:*",
      "Resource": "*"
    },
    {
      "Sid": "AllowAllTaggingPermissions",
      "Effect": "Allow",
      "Principal": {"AWS": [
        "arn:aws:iam::{{111122223333}}:user/LeadAdmin",
        "arn:aws:iam::{{111122223333}}:user/SupportLead"
      ]},
      "Action": [
        "payment-cryptography:TagResource",
        "payment-cryptography:ListTagsForResource",
        "payment-cryptography:UntagResource"
      ],
      "Resource": "*"
    },
    {
      "Sid": "Allow roles to view tags",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::{{111122223333}}:role/Administrator",
          "arn:aws:iam::{{111122223333}}:role/Developer"
        ]
      },
      "Action": "payment-cryptography:ListTagsForResource",
      "Resource": "*"
    }
  ]
}
```

------

プリンシパルに複数のキーに対するタグ付け許可を付与するには、IAM ポリシーを使用します。このポリシーを有効にするには、各キーのキーポリシーで、アカウントが IAM ポリシーを使用してキーへのアクセスを制御することを許可する必要があります。

例えば、次の IAM ポリシーではプリンシパルがキーを作成することを許可します。指定したアカウントのすべてのキーでタグを作成および管理することもできます。この組み合わせにより、プリンシパルは [CreateKey](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html) オペレーションのタグパラメータを使用して、キー作成時にキーにタグを追加できます。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IAMPolicyCreateKeys",
      "Effect": "Allow",
      "Action": "payment-cryptography:CreateKey",
      "Resource": "*"
    },
    {
      "Sid": "IAMPolicyTags",
      "Effect": "Allow",
      "Action": [
        "payment-cryptography:TagResource",
        "payment-cryptography:UntagResource",
        "payment-cryptography:ListTagsForResource"
      ],
      "Resource": "arn:aws:payment-cryptography:*:{{111122223333}}:key/*"
    }    
  ]
}
```

------

## タグ付け許可を制限する
<a name="tag-permissions-conditions"></a>

ポリシー条件を使用して、タグ付け許可を制限できます。次のポリシー条件を `payment-cryptography:TagResource` および `payment-cryptography:UntagResource` 許可に適用できます。例えば、`aws:RequestTag/tag-key` 条件を使用して、プリンシパルが特定のタグのみを追加できるようにするか、プリンシパルが特定のタグキーを持つタグを追加しないように許可できます。
+ [aws:RequestTag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag)
+ [aws:ResourceTag/*tag-key*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag) (IAM ポリシーのみ)
+ [aws:TagKeys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tag-keys)

ベストプラクティスとして、タグを使用してキーへのアクセスを制御する場合は、`aws:RequestTag/tag-key`または`aws:TagKeys`条件キーを使用して、許可するタグ (またはタグキー) を決定します。

例えば、次の IAM ポリシーは前述のものと似ています。ただしこのポリシーでは、プリンシパルはタグ (`TagResource`) の作成とタグ `UntagResource` の削除を、`Project` タグキーを持つタグに対してのみ実行できます。

`TagResource` および `UntagResource` リクエストは複数のタグを含む可能性があるため、`ForAllValues` または `ForAnyValue` 集合演算子を[aws:TagKeys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys) 条件で指定する必要があります。`ForAnyValue` 演算子では、リクエスト内のタグキー 1 つ以上が、ポリシーのタグキーの 1 つと一致する必要があります。`ForAllValues` 演算子では、リクエスト内のタグキーすべてが、ポリシーのタグキーの 1 つと一致する必要があります。`ForAllValues` 演算子はリクエストにタグがない場合も `true` を返しますが、TagResource と UntagResource は、タグが指定されていない場合、失敗します。集合演算子の詳細については、「*IAM ユーザーガイド*」の「[複数のキーと値の使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html#reference_policies_multi-key-or-value-conditions)」を参照してください。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IAMPolicyCreateKey",
      "Effect": "Allow",
      "Action": "payment-cryptography:CreateKey",
      "Resource": "*"
    },
    {
      "Sid": "IAMPolicyViewAllTags",
      "Effect": "Allow",
      "Action": "payment-cryptography:ListTagsForResource",
      "Resource": "arn:aws:payment-cryptography:*:{{111122223333}}:key/*"
    },
    {
      "Sid": "IAMPolicyManageTags",
      "Effect": "Allow",
      "Action": [
        "payment-cryptography:TagResource",
        "payment-cryptography:UntagResource"
      ],
      "Resource": "arn:aws:payment-cryptography:*:{{111122223333}}:key/*",
      "Condition": {
          "ForAllValues:StringEquals": {"aws:TagKeys": "Project"}
      }
    }
  ]
}
```

------