

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

# 将您的上游存储库凭证存储在 Amazon Secrets Manager 密钥中
<a name="pull-through-cache-creating-secret"></a>

为需要身份验证的上游存储库创建缓存提取规则时，您必须以 Secrets Manager 密钥存储凭证。使用 Secrets Manager 密钥可能会产生费用。有关更多信息，请参阅[Amazon Secrets Manager 定价](https://www.amazonaws.cn/secrets-manager/pricing/)。

以下过程引导您了解如何为每个支持的上游存储库创建 Secrets Manager 密钥。您可以选择在 Amazon ECR 控制台中使用“创建缓存提取规则”工作流程来创建密钥，而不是使用 Secrets Manager 控制台来创建密钥。有关更多信息，请参阅 [在 Amazon ECR 中创建缓存提取规则](pull-through-cache-creating-rule.md)。

------
#### [ Docker Hub ]

**为 Docker Hub 凭证创建 Secrets Manager 密钥（Amazon Web Services 管理控制台）**创建 Secrets Manager 密钥（Amazon Web Services 管理控制台）

1. 打开 Secrets Manager 控制台，网址为[https://console.aws.amazon.com/secretsmanager/](https://console.amazonaws.cn/secretsmanager/)。

1. 选择**存储新密钥**。

1. 在**选择密钥类型**页面上，执行以下操作：

   1. 对于**密钥类型**，请选择**其他密钥类型**。

   1. 在**键/值对**中，为 Docker Hub 凭证创建两行键/值对。您可以在密钥中存储最多 65536 个字节。

      1. 对于第一 key/value 对，指定`username`为密钥，将您的 Docker Hub 用户名指定为值。

      1. 对于第二 key/value 对，指定`accessToken`为密钥，将您的 Docker Hub 访问令牌指定为值。有关如何创建 Docker Hub 访问令牌的更多信息，请参阅 Docker 文档中的 [Create and manage access tokens](https://docs.docker.com/security/for-developers/access-tokens/)。

   1. 对于**加密密钥**，保留默认的 **aws/secretsmanager** Amazon KMS key 值，然后选择**下一步**。使用此密钥不产生任何费用。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的 [Secrets Manager 中的密钥加密和解密](https://docs.amazonaws.cn/secretsmanager/latest/userguide/security-encryption.html)。
**重要**  
您必须使用默认 `aws/secretsmanager` 加密密钥来加密密钥。Amazon ECR 不支持为此密钥使用客户自主管理型密钥（CMK）。

1. 在**配置密钥**页面上，执行以下操作：

   1. 输入一个描述性的 **Secret name**（密钥名称）和 **Description**（说明）。密钥名称必须包含 1-512 个 Unicode 字符，并且以 `ecr-pullthroughcache/` 为前缀。
**重要**  
Amazon ECR Amazon Web Services 管理控制台 仅显示名称使用`ecr-pullthroughcache/`前缀的 Secrets Manager 机密。

   1. （可选）在**标签**部分中，在您的密钥中添加一个或多个标签。有关标记策略，请参阅《Amazon Secrets Manager 用户指南》**中的[标记 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/managing-secrets_tagging.html)。请不要将敏感信息存储在标签中，因为它们未加密。

   1. （可选）在**资源权限**，要将资源策略添加到您的密钥中，请选择**编辑权限**。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[将权限策略附加到 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)。

   1. （可选）在**复制密钥**中，要将您的密钥复制到另一个密钥 Amazon Web Services 区域，请选择**复制密钥**。您可以现在复制密钥，也可以回头再复制。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[将密钥复制到其他区域](https://docs.amazonaws.cn/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html)。

   1. 选择**下一步**。

1. （可选）在 **Configure rotation**（配置轮换）页面上，您可以启用自动轮换。您也可以现在保持关闭轮换，然后稍后将其打开。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[轮换 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/rotating-secrets.html)。选择**下一步**。

1. 在 **Review (审核)** 页上，审核您的密钥详细信息，然后选择 **Store (存储)**。

   Secrets Manager 将返回到密钥列表。如果您的新密钥未显示，请选择 Refresh（刷新）按钮。

------
#### [ GitHub Container Registry ]

**为你的 GitHub 容器注册表凭证创建 Secrets Manager 密钥 (Amazon Web Services 管理控制台)**创建 Secrets Manager 密钥（Amazon Web Services 管理控制台）

1. 打开 Secrets Manager 控制台，网址为[https://console.aws.amazon.com/secretsmanager/](https://console.amazonaws.cn/secretsmanager/)。

1. 选择**存储新密钥**。

1. 在**选择密钥类型**页面上，执行以下操作：

   1. 对于**密钥类型**，请选择**其他密钥类型**。

   1. 在**键/值对**中，为您的 GitHub 凭据创建两行。您可以在密钥中存储最多 65536 个字节。

      1. 对于第一 key/value 对，指定`username`为密钥，将您的 GitHub用户名指定为值。

      1. 对于第二 key/value 对，指定`accessToken`为密钥，将 GitHub 访问令牌指定为值。有关创建 GitHub 访问令牌的更多信息，请参阅 GitHub 文档中的[管理您的个人访问令牌](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)。

   1. 对于**加密密钥**，保留默认的 **aws/secretsmanager** Amazon KMS key 值，然后选择**下一步**。使用此密钥不产生任何费用。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的 [Secrets Manager 中的密钥加密和解密](https://docs.amazonaws.cn/secretsmanager/latest/userguide/security-encryption.html)。
**重要**  
您必须使用默认 `aws/secretsmanager` 加密密钥来加密密钥。Amazon ECR 不支持为此密钥使用客户自主管理型密钥（CMK）。

1. 在 **Configure secret**（配置密钥）页面上，执行以下操作：

   1. 输入一个描述性的 **Secret name**（密钥名称）和 **Description**（说明）。密钥名称必须包含 1-512 个 Unicode 字符，并且以 `ecr-pullthroughcache/` 为前缀。
**重要**  
Amazon ECR Amazon Web Services 管理控制台 仅显示名称使用`ecr-pullthroughcache/`前缀的 Secrets Manager 机密。

   1. （可选）在**标签**部分中，在您的密钥中添加一个或多个标签。有关标记策略，请参阅《Amazon Secrets Manager 用户指南》**中的[标记 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/managing-secrets_tagging.html)。请不要将敏感信息存储在标签中，因为它们未加密。

   1. （可选）在**资源权限**，要将资源策略添加到您的密钥中，请选择**编辑权限**。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[将权限策略附加到 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)。

   1. （可选）在**复制密钥**中，要将您的密钥复制到另一个密钥 Amazon Web Services 区域，请选择**复制密钥**。您可以现在复制密钥，也可以回头再复制。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[将密钥复制到其他区域](https://docs.amazonaws.cn/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html)。

   1. 选择**下一步**。

1. （可选）在 **Configure rotation**（配置轮换）页面上，您可以启用自动轮换。您也可以现在保持关闭轮换，然后稍后将其打开。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[轮换 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/rotating-secrets.html)。选择**下一步**。

1. 在 **Review (审核)** 页上，审核您的密钥详细信息，然后选择 **Store (存储)**。

   Secrets Manager 将返回到密钥列表。如果您的新密钥未显示，请选择 Refresh（刷新）按钮。

------
#### [ Microsoft Azure Container Registry ]

**为 Microsoft Azure 容器注册表凭证创建 Secrets Manager 密钥（Amazon Web Services 管理控制台）**创建 Secrets Manager 密钥（Amazon Web Services 管理控制台）

1. 打开 Secrets Manager 控制台，网址为[https://console.aws.amazon.com/secretsmanager/](https://console.amazonaws.cn/secretsmanager/)。

1. 选择**存储新密钥**。

1. 在**选择密钥类型**页面上，执行以下操作：

   1. 对于**密钥类型**，请选择**其他密钥类型**。

   1. 在**键/值对**中，为 Microsoft Azure 凭证创建两行键/值对。您可以在密钥中存储最多 65536 个字节。

      1. 对于第一 key/value 对，指定`username`为密钥，将你的 Microsoft Azure 容器注册表用户名指定为值。

      1. 对于第二 key/value 对，指定`accessToken`为密钥，将你的 Microsoft Azure 容器注册表访问令牌指定为值。有关如何创建 Microsoft Azure 访问令牌的更多信息，请参阅 Microsoft Azure 文档中的[创建令牌 - 门户](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions#create-token---portal)。

   1. 对于**加密密钥**，保留默认的 **aws/secretsmanager** Amazon KMS key 值，然后选择**下一步**。使用此密钥不产生任何费用。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的 [Secrets Manager 中的密钥加密和解密](https://docs.amazonaws.cn/secretsmanager/latest/userguide/security-encryption.html)。
**重要**  
您必须使用默认 `aws/secretsmanager` 加密密钥来加密密钥。Amazon ECR 不支持为此密钥使用客户自主管理型密钥（CMK）。

1. 在 **Configure secret**（配置密钥）页面上，执行以下操作：

   1. 输入一个描述性的 **Secret name**（密钥名称）和 **Description**（说明）。密钥名称必须包含 1-512 个 Unicode 字符，并且以 `ecr-pullthroughcache/` 为前缀。
**重要**  
Amazon ECR Amazon Web Services 管理控制台 仅显示名称使用`ecr-pullthroughcache/`前缀的 Secrets Manager 机密。

   1. （可选）在**标签**部分中，在您的密钥中添加一个或多个标签。有关标记策略，请参阅《Amazon Secrets Manager 用户指南》**中的[标记 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/managing-secrets_tagging.html)。请不要将敏感信息存储在标签中，因为它们未加密。

   1. （可选）在**资源权限**，要将资源策略添加到您的密钥中，请选择**编辑权限**。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[将权限策略附加到 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)。

   1. （可选）在**复制密钥**中，要将您的密钥复制到另一个密钥 Amazon Web Services 区域，请选择**复制密钥**。您可以现在复制密钥，也可以回头再复制。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[将密钥复制到其他区域](https://docs.amazonaws.cn/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html)。

   1. 选择**下一步**。

1. （可选）在 **Configure rotation**（配置轮换）页面上，您可以启用自动轮换。您也可以现在保持关闭轮换，然后稍后将其打开。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[轮换 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/rotating-secrets.html)。选择**下一步**。

1. 在 **Review (审核)** 页上，审核您的密钥详细信息，然后选择 **Store (存储)**。

   Secrets Manager 将返回到密钥列表。如果您的新密钥未显示，请选择 Refresh（刷新）按钮。

------
#### [ GitLab Container Registry ]

**为你的 GitLab 容器注册表凭证创建 Secrets Manager 密钥 (Amazon Web Services 管理控制台)**创建 Secrets Manager 密钥（Amazon Web Services 管理控制台）

1. 打开 Secrets Manager 控制台，网址为[https://console.aws.amazon.com/secretsmanager/](https://console.amazonaws.cn/secretsmanager/)。

1. 选择**存储新密钥**。

1. 在**选择密钥类型**页面上，执行以下操作：

   1. 对于**密钥类型**，请选择**其他密钥类型**。

   1. 在**键/值对**中，为您的 GitLab 凭据创建两行。您可以在密钥中存储最多 65536 个字节。

      1. 对于第一 key/value 对，指定`username`作为密钥，将您的 GitLab 容器注册表用户名指定为值。

      1. 对于第二 key/value 对，指定`accessToken`为密钥，将您的 GitLab 容器注册表访问令牌指定为值。有关创建 GitLab 容器注册表访问令牌的更多信息，请参阅 GitLab 文档中的[个人访问令](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)[牌、群组](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html)[访问令牌或项目访问令牌](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html)。

   1. 对于**加密密钥**，保留默认的 **aws/secretsmanager** Amazon KMS key 值，然后选择**下一步**。使用此密钥不产生任何费用。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的 [Secrets Manager 中的密钥加密和解密](https://docs.amazonaws.cn/secretsmanager/latest/userguide/security-encryption.html)。
**重要**  
您必须使用默认 `aws/secretsmanager` 加密密钥来加密密钥。Amazon ECR 不支持为此密钥使用客户自主管理型密钥（CMK）。

1. 在 **Configure secret**（配置密钥）页面上，执行以下操作：

   1. 输入一个描述性的 **Secret name**（密钥名称）和 **Description**（说明）。密钥名称必须包含 1-512 个 Unicode 字符，并且以 `ecr-pullthroughcache/` 为前缀。
**重要**  
Amazon ECR Amazon Web Services 管理控制台 仅显示名称使用`ecr-pullthroughcache/`前缀的 Secrets Manager 机密。

   1. （可选）在**标签**部分中，在您的密钥中添加一个或多个标签。有关标记策略，请参阅《Amazon Secrets Manager 用户指南》**中的[标记 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/managing-secrets_tagging.html)。请不要将敏感信息存储在标签中，因为它们未加密。

   1. （可选）在**资源权限**，要将资源策略添加到您的密钥中，请选择**编辑权限**。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[将权限策略附加到 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)。

   1. （可选）在**复制密钥**中，要将您的密钥复制到另一个密钥 Amazon Web Services 区域，请选择**复制密钥**。您可以现在复制密钥，也可以回头再复制。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[将密钥复制到其他区域](https://docs.amazonaws.cn/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html)。

   1. 选择**下一步**。

1. （可选）在 **Configure rotation**（配置轮换）页面上，您可以启用自动轮换。您也可以现在保持关闭轮换，然后稍后将其打开。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[轮换 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/rotating-secrets.html)。选择**下一步**。

1. 在 **Review (审核)** 页上，审核您的密钥详细信息，然后选择 **Store (存储)**。

   Secrets Manager 将返回到密钥列表。如果您的新密钥未显示，请选择 Refresh（刷新）按钮。

------
#### [ Chainguard Registry ]

**为你的 Chainguard 凭证创建 Secrets Manager 密钥 ()Amazon Web Services 管理控制台**创建 Secrets Manager 密钥（Amazon Web Services 管理控制台）

1. 打开 Secrets Manager 控制台，网址为[https://console.aws.amazon.com/secretsmanager/](https://console.amazonaws.cn/secretsmanager/)。

1. 选择**存储新密钥**。

1. 在**选择密钥类型**页面上，执行以下操作：

   1. 对于**密钥类型**，请选择**其他密钥类型**。

   1. 在**键/值对**中，为您的 Chainguard 凭据创建两行。您可以在密钥中存储最多 65536 个字节。

      1. 对于第一 key/value 对，指定`username`为密钥，将您的 Chainguard Registry 用户名指定为值。

      1. 对于第二 key/value 对，指定`accessToken`为密钥，将您的 Chainguard Registry 访问令牌指定为值。有关创建 Chainguard Registry 拉取令牌的更多信息，请参阅 Chainguard 文档中的[使用拉取令牌进行身份验证](https://edu.chainguard.dev/chainguard/chainguard-images/chainguard-registry/authenticating/#authenticating-with-a-pull-token)。

   1. 对于**加密密钥**，保留默认的 **aws/secretsmanager** Amazon KMS key 值，然后选择**下一步**。使用此密钥不产生任何费用。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的 [Secrets Manager 中的密钥加密和解密](https://docs.amazonaws.cn/secretsmanager/latest/userguide/security-encryption.html)。
**重要**  
您必须使用默认 `aws/secretsmanager` 加密密钥来加密密钥。Amazon ECR 不支持为此密钥使用客户自主管理型密钥（CMK）。

1. 在 **Configure secret**（配置密钥）页面上，执行以下操作：

   1. 输入一个描述性的 **Secret name**（密钥名称）和 **Description**（说明）。密钥名称必须包含 1-512 个 Unicode 字符，并且以 `ecr-pullthroughcache/` 为前缀。
**重要**  
Amazon ECR Amazon Web Services 管理控制台 仅显示名称使用`ecr-pullthroughcache/`前缀的 Secrets Manager 机密。

   1. （可选）在**标签**部分中，在您的密钥中添加一个或多个标签。有关标记策略，请参阅《Amazon Secrets Manager 用户指南》**中的[标记 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/managing-secrets_tagging.html)。请不要将敏感信息存储在标签中，因为它们未加密。

   1. （可选）在**资源权限**，要将资源策略添加到您的密钥中，请选择**编辑权限**。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[将权限策略附加到 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)。

   1. （可选）在**复制密钥**中，要将您的密钥复制到另一个密钥 Amazon Web Services 区域，请选择**复制密钥**。您可以现在复制密钥，也可以回头再复制。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[将密钥复制到其他区域](https://docs.amazonaws.cn/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html)。

   1. 选择**下一步**。

1. （可选）在 **Configure rotation**（配置轮换）页面上，您可以启用自动轮换。您也可以现在保持关闭轮换，然后稍后将其打开。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[轮换 Secrets Manager 密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/rotating-secrets.html)。选择**下一步**。

1. 在 **Review (审核)** 页上，审核您的密钥详细信息，然后选择 **Store (存储)**。

   Secrets Manager 将返回到密钥列表。如果您的新密钥未显示，请选择 Refresh（刷新）按钮。

------