

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 管理對 Amazon Q Developer 的存取權以進行第三方整合
<a name="security_iam_manage-access-with-kms-policies"></a>

對於第三方整合，您必須使用 AWS Key Management Service (KMS) 來管理對 Amazon Q Developer 的存取，而不是身分型或資源型的 IAM 政策。

## 允許管理員使用客戶自管金鑰來更新角色政策
<a name="kms-policy-examples-allow-access"></a>

下列範例金鑰政策會授與在 KMS 主控台中所設定角色上建立金鑰政策時，使用[客戶自管金鑰 (CMK)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) 的許可。設定 CMK 時，您必須提供 [IAM 角色 ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)，整合會使用此識別符來呼叫 Amazon Q。如果您已將整合 (例如 GitLab 執行個體) 上線，則必須將執行個體重新上線，所有資源才能使用 CMK 進行加密。

`kms:ViaService` 條件金鑰會將 KMS 金鑰的使用限於來自所指定 AWS 服務的請求。此外，若請求來自特定服務，它也可用來拒絕使用 KMS 金鑰的許可。使用條件金鑰可限制誰能使用 CMK 來加密或解密內容。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的 [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 開發人員指南》**中的[加密內容](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": "*"
        }
    ]
}
```

------