

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

# サードパーティー統合のための Amazon Q Developer へのアクセスを管理する
<a name="security_iam_manage-access-with-kms-policies"></a>

サードパーティーの統合では、アイデンティティベースでもリソースベースでもない IAM ポリシーではなく、 AWS Key Management Service (KMS) を使用して Amazon Q Developer へのアクセスを管理する必要があります。

## 管理者がカスタマーマネージドキーを使用してロールポリシーを更新できるようにする
<a name="kms-policy-examples-allow-access"></a>

次のキーポリシーの例では、KMS コンソールで設定されたロールにキーポリシーを作成する際に、[カスタマーマネージドキー (CMK)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) を使用するアクセス許可を付与します。CMK を設定する際は、Amazon Q を呼び出すために統合で使用される識別子である [IAM ロール ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) を指定する必要があります。GitLab インスタンスなどの統合を既にオンボードしている場合は、CMK で暗号化されるすべてのリソースについてインスタンスを再オンボードする必要があります。

`kms:ViaService` 条件キーは、KMS キーの使用を、指定された AWS サービスからのリクエストに制限します。また条件キーを使用して、特定のサービスからリクエストが送信された場合に KMS キーの使用許可を拒否することもできます。条件キーを使用すると、コンテンツの暗号化または復号に CMK を使用できるユーザーを制限できます。詳細については、「*AWS Key Management Service Developer Guide*」の「[kms:ViaService](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-via-service)」を参照してください。

KMS 暗号化コンテキストでは、対称暗号化 KMS キーを使用して暗号化オペレーションに含めることができるオプションのキーと値のペアのセットがあり、承認と監査性を強化できます。暗号化コンテキストを使用して、暗号化されたデータの整合性と信頼性を検証し、キーポリシーと IAM ポリシーで対称暗号化 KMS キーへのアクセスを制御して、AWS CloudTrail ログで暗号化オペレーションを特定および分類できます。詳細については、「*AWS Key Management Service Developer Guide*」の「[Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html)」を参照してください。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Sid0",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/{{rolename}}"
            },
            "Action": [
                "kms:GenerateDataKeyWithoutPlaintext",
                "kms:Decrypt",
                "kms:ReEncryptFrom",
                "kms:ReEncryptTo",
                "kms:GenerateDataKey",
                "kms:Encrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "q.{{us-east-1}}.amazonaws.com",
                    "kms:EncryptionContext:aws-crypto-ec:aws:qdeveloper:accountId": "{{111122223333}}"
                }
            }
        },
        {
            "Sid": "Sid1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/{{rolename}}"
            },
            "Action": "kms:DescribeKey",
            "Resource": "*"
        }
    ]
}
```

------