

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

# 在 Amazon ECR 中设置私有存储库策略声明
<a name="set-repository-policy"></a>

您可以按照以下步骤向中的存储库添加访问策略声明。 Amazon Web Services 管理控制台 您可以为每个存储库添加多个策略声明。有关示例策略，请参阅 [Amazon ECR 中的私有存储库策略示例](repository-policy-examples.md)。

**重要**  
Amazon ECR 要求用户有权通过 IAM policy 调用 `ecr:GetAuthorizationToken` API，然后才能对注册表进行身份验证并从任意 Amazon ECR 存储库推送或提取任意镜像。Amazon ECR 提供了多个托管 IAM 策略来控制不同级别的用户访问。有关更多信息，请参阅 [Amazon Elastic Container Registry 基于身份的策略示例](security_iam_id-based-policy-examples.md)。

**设置存储库策略声明**

1. 在[https://console.aws.amazon.com/ecr/存储库](https://console.amazonaws.cn/ecr/repositories)中打开 Amazon ECR 控制台。

1. 从导航栏中，选择包含要对其设置策略声明的存储库的区域。

1. 在导航窗格中，选择**存储库**。

1. 在**存储库**页面上，选择要对其设置策略声明的存储库，以查看存储库的内容。

1. 从存储库镜像列表视图的导航窗格中，选择**权限**、**编辑**。
**注意**  
如果您未看到**权限**选项，请确保您处于存储库镜像列表视图中。

1. 在**编辑权限**页面上，选择**添加声明**。

1. 对于**声明名称**，输入声明的名称。

1. 对于**效果**，选择策略语句产生的结果是允许还是明确拒绝。

1. 对于**委托人**，选择策略声明应用到的范围。有关更多信息，请参阅 *IAM 用户指南*中的 [Amazon JSON 策略元素：委托人](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_elements_principal.html)。
   + 通过选中 Everyone **(\*)** 复选框，可以将该语句应用于所有经过身份验证的 Amazon 用户。
   + 对于**服务委托人**，指定服务委托人名称 (例如 `ecs.amazonaws.com`) 以将声明应用到特定的服务。
   + 在 “**Amazon 帐户**” 中 IDs，指定一个 Amazon 账号（例如`111122223333`），以将该账单应用于特定 Amazon 账户下的所有用户。可以使用逗号分隔的列表指定多个账户。
**重要**  
您授予权限的账户必须启用所创建存储库策略的区域，否则将发生错误。
   + 对于 **IAM 实体**，请选择您的 Amazon 账户下要应用声明的角色或用户。
**注意**  
对于目前不支持的更复杂的存储库策略 Amazon Web Services 管理控制台，您可以使用[https://docs.amazonaws.cn/cli/latest/reference/ecr/set-repository-policy.html](https://docs.amazonaws.cn/cli/latest/reference/ecr/set-repository-policy.html) Amazon CLI 命令应用该策略。

1. 对于**操作**，从各个 API 操作的列表中选择应当应用策略声明的 Amazon ECR API 操作的范围。

1. 完成后，选择**保存**设置策略。

1. 对要添加的每个存储库策略重复以上步骤。