使用客户托管密钥加密构建输出 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用客户托管密钥加密构建输出

如果您首次按照通过控制台开始使用中的步骤操作来访问 Amazon CodeBuild,则很可能不需要本主题中的信息。但随着您继续使用 CodeBuild,您可能想要执行一些操作,例如加密构建构件。

要使 Amazon CodeBuild 加密其构建输出构件,需要具备对 KMS 密钥的访问权限。默认情况下,CodeBuild 在您的 Amazon 账户中使用适用于 Amazon S3 的 Amazon 托管式密钥。

如果您不想使用 Amazon 托管式密钥,则必须自行创建并配置一个客户托管密钥。本部分介绍了如何通过 IAM 控制台执行此操作。

有关客户自主管理型密钥的信息,请参阅《Amazon KMS 开发人员指南》中的 Amazon Key Management Service 概念创建密钥

要配置由 CodeBuild 使用的客户自主管理型密钥,请遵循《Amazon KMS 开发人员指南》修改密钥策略的“如何修改密钥策略”部分中的说明。然后将以下语句(在 ### BEGIN ADDING STATEMENTS HERE ###### END ADDING STATEMENTS HERE ### 之间)添加到密钥策略中。为了简洁起见,也为了帮您查找添加语句的位置,此处使用了省略号 (...)。请勿删除任何语句,也不要将这些省略号键入密钥策略中。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com", "kms:CallerAccount": "111122223333" } } }, { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" } ] }
  • region-ID 表示与 CodeBuild 关联的 Amazon S3 存储桶所在的 Amazon 区域的 ID(例如,us-east-1)。

  • account-ID 表示拥有客户托管密钥的 Amazon 账户的 ID。

  • CodeBuild-service-role 表示您之前在此主题中创建或标识的 CodeBuild 服务角色的名称。

注意

要通过 IAM 控制台创建或配置客户托管密钥,您必须先使用以下任一身份登录该 Amazon Web Services 管理控制台: