

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

# タグを使用してキーへのアクセスを制御する
<a name="tag-authorization"></a>

Payment Cryptography AWS へのアクセスは、キーのタグに基づいて制御できます。例えば、プリンシパルが特定のタグを持つキーのみを有効または無効にすることを許可する IAM ポリシーを書き込むことができます。または、IAM ポリシーを使用して、キーに特定のタグがない限り、プリンシパルが暗号化オペレーションでキーを使用しないようにすることもできます。

この機能は、属性ベースのアクセスコントロール (ABAC) の AWS Payment Cryptography サポートの一部です。タグを使用してリソースへのアクセス AWS を制御する方法については、[「ABAC とは」を参照してください AWS。](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) および *IAM ユーザーガイド*[の AWS リソースタグを使用したリソースへのアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)。

AWS Payment Cryptography は、[aws:ResourceTag/*tag-key*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag) グローバル条件コンテキストキーをサポートしています。これにより、キーのタグに基づいてキーへのアクセスを制御できます。複数のキーに同じタグを付けることができるため、この機能を使用すると、キーの選択したセットにアクセス許可を適用できます。それらのタグを変更することで、セット内のキーを簡単に変更することもできます。

 AWS Payment Cryptography では、`aws:ResourceTag/tag-key`条件キーは IAM ポリシーでのみサポートされています。これは、1 つのキーだけに適用されるキーポリシー、または特定のキーを使用しないオペレーション ([ListKeys](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListKeys.html) または [ListAliases](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListAliases.html) オペレーションなど) ではサポートされません。

タグを使用してアクセスを制御すると、シンプルでスケーラブルかつ柔軟な方法でアクセス許可を管理できます。ただし、適切に設計および管理されていない場合、キーへのアクセスを誤って許可または拒否する可能性があります。タグを使用してアクセスを制御する場合は、次の方法を検討します。
+ タグを使用して、[最小特権アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)のベストプラクティスを強化します。IAM プリンシパルで、使用または管理する必要があるキーのみに対して、必要なアクセス許可のみを付与します。例えば、タグを使用して、プロジェクトに使用するキーにラベルを付けます。次に、プロジェクトタグでキーのみを使用する許可をプロジェクトチームに付与します。
+ プリンシパルにタグを追加、編集、削除できる `payment-cryptography:TagResource` および `payment-cryptography:UntagResource` 許可を付与する際は注意してください。タグを使用してキーへのアクセスを制御する場合、タグを変更すると、使用許可のないキーに対する使用許可をプリンシパルに付与してしまう可能性があります。他のプリンシパルがジョブを実行するために必要なキーへのアクセスを拒否することもできます。キーポリシーを変更したり、許可を作成したりする許可を持たないキー管理者も、タグを管理する許可があれば、キーへのアクセスを制御できます。

  可能な限り、ポリシー条件 (`aws:RequestTag/tag-key`または`aws:TagKeys`など) を使用して、特定のタグパターンまたは特定のキーのタグパターンに[プリンシパルのタグ付け許可を制限](tag-permissions.md#tag-permissions-conditions)します。
+ 現在タグ付けおよびタグ付け解除 AWS アカウント のアクセス許可を持っている のプリンシパルを確認し、必要に応じて調整します。IAM ポリシーでは、すべてのキーに対してタグ付けおよびタグ解除を許可する場合があります。例えば、Admin マネージドポリシーは、プリンシパルがすべてのキーで、タグ付け、タグ解除、タグの一覧表示を行うことを許可します。
+ タグに依存するポリシーを設定する前に、 のキーのタグを確認してください AWS アカウント。含めるタグにのみポリシーが適用されることを確認します。[CloudTrail ログ](monitoring-cloudtrail.md)および CloudWatch アラームを使用して、KMS キーへのアクセスに影響する可能性のある変更をタグ付けするようにアラートします。
+ タグベースのポリシー条件では、パターンマッチングを使用します。タグの特定のインスタンスには関連付けられません。タグベースの条件キーを使用するポリシーは、パターンに一致するすべての新規および既存のタグに影響します。ポリシー条件に一致するタグを削除して再作成すると、古いタグの場合と同様に、新しいタグに条件が適用されます。

例えば、次の IAM ポリシーの例を考えてみます。これにより、プリンシパルは、アカウント内の米国東部 (バージニア北部) リージョンで `"Project"="Alpha"` タグ付きのキーに対してのみ[復号化](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_Decrypt.html)オペレーションを呼び出すことができます。このポリシーは、サンプルの Alpha プロジェクトでロールにアタッチできます。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IAMPolicyWithResourceTag",
      "Effect": "Allow",
      "Action": [
        "payment-cryptography:DecryptData"
      ],
      "Resource": "arn:aws:payment-cryptography:us-east-1:111122223333:key/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Project": "Alpha"
        }
      }
    }
  ]
}
```

------

次の IAM ポリシーの例では、プリンシパルが、特定の暗号化オペレーションのために、アカウントで任意のキーを使用することを許可します。ただし、プリンシパルが `"Type"="Reserved"` タグのある、または `"Type"` タグのないキーにこれらの暗号化オペレーションを使用することを禁止します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IAMAllowCryptographicOperations",
      "Effect": "Allow",
      "Action": [
        "payment-cryptography:EncryptData",
        "payment-cryptography:DecryptData",
        "payment-cryptography:ReEncrypt*"
      ],
      "Resource": "arn:aws:payment-cryptography:*:111122223333:key/*"
    },
    {
      "Sid": "IAMDenyOnTag",
      "Effect": "Deny",
      "Action": [
        "payment-cryptography:EncryptData",
        "payment-cryptography:DecryptData",
        "payment-cryptography:ReEncrypt*"
      ],
      "Resource": "arn:aws:payment-cryptography:*:111122223333:key/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Type": "Reserved"
        }
      }
    },
    {
      "Sid": "IAMDenyNoTag",
      "Effect": "Deny",
      "Action": [
       "payment-cryptography:EncryptData",
       "payment-cryptography:DecryptData",
       "payment-cryptography:ReEncrypt*"
      ],
      "Resource": "arn:aws:kms:*:111122223333:key/*",
      "Condition": {
        "Null": {
          "aws:ResourceTag/Type": "true"
        }
      }
    }
  ]
}
```

------