

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

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

# 使用密钥遮蔽数据
<a name="workflows-secrets"></a>

有时您可能需要在工作流中使用敏感数据，例如身份验证凭证。应避免将这些值以纯文本形式存储在存储库中的任何地方，因为任何有权访问包含密钥的存储库的人都可以看到密钥。同样，不应在任何工作流定义中直接使用这些值，因为它们将作为文件在存储库中可见。使用 CodeCatalyst，您可以通过向项目添加密钥，然后在工作流程定义文件中引用该密钥来保护这些值。请注意，每个操作最多可有 5 个密钥。

**注意**  
密钥只能用于替换工作流定义文件中的密码和敏感信息。

**Topics**
+ [创建密钥](workflows-secrets.creating.md)
+ [编辑密钥](workflows-secrets.editing.md)
+ [使用密钥](workflows-secrets.using.md)
+ [删除密钥](workflows-secrets.deleting.md)

# 创建密钥
<a name="workflows-secrets.creating"></a>

使用以下过程创建密钥。密钥包含您想要隐藏以防其他人查看的敏感信息。

**注意**  
密钥对操作可见，在写入文件时不会被屏蔽。

**创建密钥**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 在导航窗格中，选择 **CI/CD**，然后选择**密钥**。

1. 选择**创建密钥**。

1. 输入以下信息：  
**名称**  
输入密钥的名称。  
**值**  
输入密钥的值。这是您想要隐藏以防其他人查看的敏感信息。默认情况下，该值不显示。要显示该值，请选择**显示值**。  
**描述**  
（可选）输入密钥的描述。

1. 选择**创建**。

# 编辑密钥
<a name="workflows-secrets.editing"></a>

使用以下过程编辑步骤。

**编辑密钥**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 在导航窗格中，选择 **CI/CD**，然后选择**密钥**。

1. 在密钥列表中，选择要编辑的密钥。

1. 选择**编辑**。

1. 编辑以下属性：  
**值**  
输入密钥的值。这是您要隐藏以防其他人查看的值。默认情况下，该值不显示。  
**描述**  
（可选）输入密钥的描述。

1. 选择**保存**。

# 使用密钥
<a name="workflows-secrets.using"></a>

要在工作流操作中使用密钥，您必须获取密钥的引用标识符并在工作流操作中使用该标识符。

**Topics**
+ [获取密钥的标识符](#workflows-using-secrets.get-identifier)
+ [在工作流中引用密钥](#workflows-using-secrets.using-identifier)

## 获取密钥的标识符
<a name="workflows-using-secrets.get-identifier"></a>

使用以下过程获取密钥的引用标识符。您将此标识符添加到工作流中。

**获取密钥的引用标识符**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 在导航窗格中，选择 **CI/CD**，然后选择**密钥**。

1. 在密钥列表中，选择要使用的密钥。

1. 在**引用 ID** 列中，复制密钥的标识符。以下是**引用 ID** 的语法：

   ```
   ${Secrets.<name>}
   ```

## 在工作流中引用密钥
<a name="workflows-using-secrets.using-identifier"></a>

使用以下过程在工作流中引用密钥。

**引用密钥**

1. 在导航窗格中，选择 **CI/CD**，然后选择**工作流**。

1. 选择工作流的名称。您可以按定义工作流的源存储库或分支名称筛选，也可以按工作流名称或状态筛选。

1. 选择**编辑**。

1. 选择 **YAML**。

1. 修改 YAML 以使用密钥的标识符。例如，要在 `curl` 命令中使用存储为密钥的用户名和密码，应使用类似于以下内容的 `Run` 命令：

   ```
   - Run: curl -u <username-secret-identifier>:<password-secret-identifier> https://example.com
   ```

1. （可选）选择**验证**，在提交之前验证工作流的 YAML 代码。

1. 选择**提交**，输入提交消息，然后再次选择**提交**。

# 删除密钥
<a name="workflows-secrets.deleting"></a>

使用以下步骤来删除密钥和密钥引用标识符。

**注意**  
在删除密钥之前，我们建议您从所有工作流操作中移除该密钥的引用标识符。如果您删除密钥而不删除引用标识符，则该操作在下次运行时将失败。

**从工作流中删除密钥的引用标识符**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 在导航窗格中，选择 **CI/CD**，然后选择**工作流**。

1. 选择工作流的名称。您可以按定义工作流的源存储库或分支名称筛选，也可以按工作流名称或状态筛选。

1. 选择**编辑**。

1. 选择 **YAML**。

1. 在工作流中搜索以下字符串：

   ```
   ${Secrets.
   ```

   这将找到所有密钥的所有引用标识符。

1. 删除所选密钥的参考标识符，或将其替换为纯文本值。

1. （可选）选择**验证**，在提交之前验证工作流的 YAML 代码。

1. 选择**提交**，输入提交消息，然后再次选择**提交**。

**删除密钥**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 在导航窗格中，选择 **CI/CD**，然后选择**密钥**。

1. 在密钥列表中，选择要删除的密钥。

1. 选择**删除**。

1. 输入 **delete** 以确认删除。

1. 选择**删除**。