

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用客户托管密钥加密构建输出
<a name="setting-up-kms"></a>

如果您是第一次按照中的步骤[通过控制台开始使用](getting-started-overview.md#getting-started) AWS CodeBuild 进行访问，则很可能不需要本主题中的信息。但是，当你继续使用时 CodeBuild，你可能需要做一些事情，比如加密构建工件。

 AWS CodeBuild 要加密其构建输出项目，它需要访问 KMS 密钥。默认情况下，在您的 AWS 账户中 CodeBuild 使用 AWS 托管式密钥 适用于 Amazon S3 的。

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

有关客户自主管理型密钥的信息，请参阅《AWS KMS 开发人员指南》**中的 [AWS Key Management Service 概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)和[创建密钥](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。

要配置客户托管密钥以供使用 CodeBuild，请按照《*AWS KMS 开发人员指南*》中修改密钥策略的 “如何[修改密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)” 部分中的说明进行操作。然后在密钥策略中添加以下语句（介于*\$1\$1\$1 BEGIN ADDING STATEMENTS HERE \$1\$1\$1*和之间*\$1\$1\$1 END ADDING STATEMENTS HERE \$1\$1\$1*）。为了简洁起见，也为了帮您查找添加语句的位置，此处使用了省略号 (`...`)。请勿删除任何语句，也不要将这些省略号键入密钥策略中。

------
#### [ 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*表示与之关联的 Amazon S3 存储桶 CodeBuild 所在 AWS 区域的 ID（例如`us-east-1`）。
+ *account-ID*表示拥有客户托管密钥的 AWS 账户的 ID。
+ *CodeBuild-service-role*表示您在本主题前面创建或确定的 CodeBuild 服务角色的名称。

**注意**  
要通过 IAM 控制台创建或配置客户托管密钥，您必须先使用以下 AWS 管理控制台 方式之一登录：  
您的 AWS 主账号。我们不建议这么做。有关更多信息，请参阅《用户指南》**中的[账户根用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)。
您 AWS 账户中的管理员用户。有关更多信息，请参阅用户*指南中的创建您的第一个 AWS 账户 root 用户*[和群组](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html)。
您 AWS 账户中有权创建或修改客户托管密钥的用户。有关更多信息，请参阅[《*AWS KMS 开发者指南》*中的使用 AWS KMS 控制台所需的权限](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#console-permissions)。