当在AWS CodeBuild中运行时遇到“GetAuthorizationToken权限错误”时,这通常是由于缺少必要的权限所致。要解决这个问题,您可以按照以下步骤进行操作:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CodeBuildPermissions",
"Effect": "Allow",
"Action": [
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage",
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
}
]
}
将上述策略添加到您的CodeBuild的IAM角色中。您可以通过访问AWS控制台的IAM服务,找到与CodeBuild项目关联的角色并将策略添加到该角色。
如果您已经为CodeBuild项目设置了自定义VPC配置,那么还需要确保在VPC的网络访问控制列表(NACLs)和安全组中允许与ECR服务的通信。具体来说,您需要确保允许出站流量的目标端口范围包括以下端口:443、2049和111。
重新运行您的CodeBuild项目,错误“GetAuthorizationToken权限错误”应该已经解决了。
请注意,上述策略仅提供了最低权限,您可以根据您的需要进行调整和扩展。确保您的策略适用于您的具体用例和安全需求。