用于提取缓存的 Amazon ECR 服务相关角色 - 亚马逊 ECR

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

用于提取缓存的 Amazon ECR 服务相关角色

Amazon ECR 使用名为的服务相关角色,AWSServiceRoleForECRPullThroughCache该角色ECR允许亚马逊代表您执行操作以完成缓存拉取操作。有关缓存提取的更多信息,请参阅用于控制在缓存拉取或复制操作期间创建的存储库的模板

Amazon 的服务相关角色权限 ECR

AWSServiceRoleForECRPullThroughCache服务相关角色信任以下服务来代入该角色。

  • pullthroughcache.ecr.amazonaws.com

权限详细信息

AWSECRPullThroughCache_ServiceRolePolicy 权限策略附加到服务相关角色。此托管政策授予 Amazon 执行以下操作的ECR权限。有关更多信息,请参阅 AWSECRPullThroughCache_ServiceRolePolicy

  • ecr— 允许 Amazon ECR 服务将图像推送到私有存储库。

  • secretsmanager:GetSecretValue— 允许 Amazon ECR 服务检索 AWS Secrets Manager 密钥的加密内容。当使用缓存提取规则在私有注册表中缓存需要身份验证的上游注册表中的映像时,需要此类权限。此权限仅适用于带 ecr-pullthroughcache/ 名称前缀的密钥。

AWSECRPullThroughCache_ServiceRolePolicy政策包含以下内容JSON。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ECR", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload", "ecr:PutImage" ], "Resource": "*" }, { "Sid": "SecretsManager", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:*:*:secret:ecr-pullthroughcache/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }

必须配置权限以允许实IAM体(例如用户、组或角色)创建、编辑或删除服务相关角色。有关更多信息,请参阅《IAM用户指南》中的服务相关角色权限

为 Amazon 创建服务相关角色 ECR

您无需手动创建用于提取缓存的 Amazon ECR 服务相关角色。当您在 AWS Management Console、或中为私有注册表创建直通缓存规则时 AWS CLI AWS API,Amazon ECR 会为您创建服务相关角色。

如果您删除了此服务相关角色然后需要再次创建它,则可以使用相同的流程在您的账户中重新创建此角色。当您为私有注册表创建直通缓存规则时,如果服务相关角色尚不存在,Amazon ECR 会再次为您创建该角色。

编辑 Amazon 的服务相关角色 ECR

Amazon ECR 不允许手动编辑AWSServiceRoleForECRPullThroughCache服务相关角色。在创建服务相关角色后,您将无法更改角色的名称,因为可能有多种实体引用该角色。但是,您可以使用编辑角色的描述IAM。有关更多信息,请参阅《IAM用户指南》中的编辑服务相关角色

删除 Amazon 的服务相关角色 ECR

如果不再需要使用某个需要服务相关角色的功能或服务,我们建议您删除该角色。这样您就没有未被主动监控或维护的未使用实体。但是,您必须先删除每个区域中的注册表缓存提取规则,才能手动删除服务相关角色。

注意

如果您在 Amazon ECR 服务仍在使用该角色时尝试删除资源,则删除操作可能会失败。如果发生这种情况,请等待几分钟,然后重试。

删除AWSServiceRoleForECRPullThroughCache服务相关角色使用的 Amazon ECR 资源
  1. 打开 Amazon ECR 控制台,网址为https://console.aws.amazon.com/ecr/

  2. 从导航栏中,选择创建缓存提取规则所在的区域。

  3. 在导航窗格中,选择私有注册表

  4. Private registry(私有注册表)页面上的 Pull through cache configuration(缓存提取配置)部分,选择 Edit(编辑)。

  5. 对于您创建的每个缓存提取规则,选择该规则,然后选择 Delete rule(删除规则)。

使用手动删除服务相关角色 IAM

使用IAM控制台 AWS CLI、或删除AWSServiceRoleForECRPullThroughCache服务相关角色。 AWS API有关更多信息,请参阅IAM用户指南中的删除服务相关角色