[英]Service Account Unable to Push Docker Image to Google Artifact Registry
I am trying to push
a Docker image to Google Artifact Registry (GAR) while impersonating a Service Account ( $SERV_ACCT_EMAIL
):我试图在模拟服务帐户 (
$SERV_ACCT_EMAIL
) 时将 Docker 图像push
送到 Google Artifact Registry (GAR):
denied: Permission "artifactregistry.repositories.downloadArtifacts" denied on resource "projects/$GCP_PROJECT_ID/locations/us-west1/repositories/$GAR_REPOSITORY" (or it may not exist)
被拒绝:资源“projects/$GCP_PROJECT_ID/locations/us-west1/repositories/$GAR_REPOSITORY”上的权限“artifactregistry.repositories.downloadArtifacts”被拒绝(或者它可能不存在)
$SERV_ACCT_EMAIL
has Artifact Registry Writer ( roles/artifactregistry.writer
) and Artifact Registry Reader ( roles/artifactregistry.reader
) roles; $SERV_ACCT_EMAIL
具有 Artifact Registry Writer ( roles/artifactregistry.writer
) 和 Artifact Registry Reader ( roles/artifactregistry.reader
) 角色; the latter of which has the permission artifactregistry.repositories.downloadArtifacts
.后者具有权限
artifactregistry.repositories.downloadArtifacts
。 Thus, if the resource is granted access to $SERV_ACCT_EMAIL
, I believe I will indeed be able to push
those artifacts.因此,如果资源被授予访问
$SERV_ACCT_EMAIL
的权限,我相信我确实能够push
这些工件。
How do I push
to GAR while impersonating $SERV_ACCT_EMAIL
?如何在模拟
$SERV_ACCT_EMAIL
时push
送到 GAR?
You may need to configure-docker
while impersonating your service account ( $SERVICE_ACCOUNT_EMAIL
):您可能需要在模拟您的服务帐户 (
$SERVICE_ACCOUNT_EMAIL
) 时configure-docker
:
Check to make sure you are still impersonating $SERVICE_ACCOUNT_EMAIL
:检查以确保您仍在冒充
$SERVICE_ACCOUNT_EMAIL
:
gcloud auth list #=> Credentialed Accounts ACTIVE ACCOUNT. . . * $SERVICE_ACCOUNT_EMAIL. . .
if not:如果不:
gcloud auth activate-service-account \ "$SERVICE_ACCOUNT_EMAIL" \ --key-file=$SERVICE_ACCOUNT_JSON_FILE_PATH #=> Activated service account credentials for: [$SERVICE_ACCOUNT_EMAIL]
Run the configure-docker
command against the auth
group:针对
auth
组运行configure-docker
命令:
gcloud auth configure-docker us-west1-docker.pkg.dev #=>. . . Adding credentials for: us-west1-docker.pkg.dev. . .
Finally, try push
ing the Docker image again.最后,再次尝试
push
Docker 图像。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.