

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

# 在 Secrets Manager 密钥中创建和存储令牌
<a name="asm-create-secret"></a>

如果您选择使用 Secrets Manager 来存储访问令牌，则可以使用现有密钥连接或创建新密钥。要创建新密钥，请执行以下操作：

------
#### [ AWS 管理控制台 ]

**要在中创建 Secrets Manager 密钥 AWS 管理控制台**

1. 对于**源提供商**，请选择 **Bitbucket** 或 E **GitHub nter** prise。**GitHub**

1. 对于**凭证**，执行以下操作之一：
   + 选择**默认来源凭证**，使用您账户的默认来源凭证应用于所有项目。

     1. 如果未连接到源提供商，请选择**管理默认来源凭证**。

     1. 对于**凭证类型**，请选择除之外的凭据类型。**CodeConnections**

     1. 对于**服务**，选择 **Secrets Manager**，对于**密钥**，选择**新密钥**。

     1. 在**密钥名称**中，输入密钥的名称。

     1. （可选）在**密钥描述 - 可选**中，为密钥输入描述。

     1. 根据您选择的源提供商，输入您的令牌或用户名和应用程序密码，然后选择**保存**。
   + 选择**自定义来源凭证**，以便使用自定义来源凭证来覆盖您账户的默认设置。

     1. 对于**凭证类型**，请选择除之外的凭据类型。**CodeConnections**

     1. 在**连接**中，选择**创建密钥**。

     1. 在**密钥名称**中，输入密钥的名称。

     1. （可选）在**密钥描述 - 可选**中，为密钥输入描述。

     1. 根据您选择的源提供商，输入您的令牌或用户名和应用程序密码，然后选择**创建**。

------
#### [ AWS CLI ]

**要在中创建 Secrets Manager 密钥 AWS CLI**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。使用运行 S AWS CLI ecrets Manager **create-secret** 命令。

  ```
  aws secretsmanager create-secret --region <aws-region> \
              --name '<secret-name>' \
              --description '<secret-description>' \
              --secret-string '{
                  "ServerType":"<server-type>",
                  "AuthType":"<auth-type>",
                  "Token":"<token>"
                  }' \
              --tags Key=codebuild:source,Value='' \
                  Key=codebuild:source:type,Value=<type> \
                  Key=codebuild:source:provider,Value=<provider>
  ```

   CodeBuild 接受的 Secrets Manager 密钥必须与 CodeBuild 项目位于相同的账户和 AWS 区域中，并且必须采用以下 JSON 格式：

  ```
  {
              "ServerType": ServerType,
              "AuthType: AuthType,
              "Token": string,
              "Username": string // Optional and is only used for Bitbucket app password
          }
  ```    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/codebuild/latest/userguide/asm-create-secret.html)

  此外，在密钥上 CodeBuild 使用以下资源标签，以确保在创建或编辑项目时可以轻松选择密钥。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/codebuild/latest/userguide/asm-create-secret.html)

------