Docker 如何在gcloud gcr.io中提供对特定映像的访问?
我已经创建了名为us.gcr.io/my-project/my-image的docker映像,我想创建一个服务帐户,该帐户将有权仅拉和推此特定docker映像Docker 如何在gcloud gcr.io中提供对特定映像的访问?,docker,google-cloud-storage,gcloud,docker-registry,google-iam,Docker,Google Cloud Storage,Gcloud,Docker Registry,Google Iam,我已经创建了名为us.gcr.io/my-project/my-image的docker映像,我想创建一个服务帐户,该帐户将有权仅拉和推此特定docker映像 据我所知,我需要提供对存储所有图像的整个存储桶的访问。是否可以在不创建新的google项目的情况下设置特定图像的权限?这是我现在看到的唯一方法?您可以向bucket中的特定图像对象提供服务帐户的权限,这可以通过,您必须提供您所指URL上引用的权限: 用于推式读写 storage.bucket.create storage.bucket.d
据我所知,我需要提供对存储所有图像的整个存储桶的访问。是否可以在不创建新的google项目的情况下设置特定图像的权限?这是我现在看到的唯一方法?您可以向bucket中的特定图像对象提供服务帐户的权限,这可以通过,您必须提供您所指URL上引用的权限: 用于推式读写 storage.bucket.create storage.bucket.delete 存储 存储.bucket.list storage.bucket.update storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.update 只读拉 storage.objects.get storage.objects.list 由于我假设您已经创建了bucket,您可以通过以下步骤将默认的统一权限转换为细粒度: 在Google云控制台中打开云存储浏览器。 单击Bucket overflow(桶溢出)菜单,该菜单具有三个垂直对齐的点,与要授予成员角色的桶关联。 选择编辑存储桶权限。 如果打开的右菜单显示“统一:未启用对象级ACL”,请单击“切换到细粒度”,然后在打开的弹出窗口中选择“细粒度”,然后单击“保存”。
尝试在创建bucket后的90天内执行此操作,否则将永久保留统一权限,您将需要创建一个新bucket。您可以通过,您必须授予所指向URL上引用的权限: 用于推式读写 storage.bucket.create storage.bucket.delete 存储 存储.bucket.list storage.bucket.update storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.update 只读拉 storage.objects.get storage.objects.list 由于我假设您已经创建了bucket,您可以通过以下步骤将默认的统一权限转换为细粒度: 在Google云控制台中打开云存储浏览器。 单击Bucket overflow(桶溢出)菜单,该菜单具有三个垂直对齐的点,与要授予成员角色的桶关联。 选择编辑存储桶权限。 如果打开的右菜单显示“统一:未启用对象级ACL”,请单击“切换到细粒度”,然后在打开的弹出窗口中选择“细粒度”,然后单击“保存”。
尝试在创建bucket后90天内完成此操作,否则统一权限将永久失效,您需要创建一个新bucket。您不能直接使用Google容器注册表完成此操作。如果向服务帐户提供存储对象查看器角色,则它可以查看所有容器注册表中的所有图像 然而,你可以用它来做。为此 创建一个新的存储库 选择存储库并单击“添加成员” 添加您的服务帐户和角色工件库读取器 然后你可以访问你的图像,或者把它推到这个路径
<location>-docker.pkg.dev/<ProjectId>/<RepositoryName>/<ImageName>
你不能直接用谷歌容器注册中心来做。如果向服务帐户提供存储对象查看器角色,则它可以查看所有容器注册表中的所有图像 然而,你可以用它来做。为此 创建一个新的存储库 选择存储库并单击“添加成员” 添加您的服务帐户和角色工件库读取器 然后你可以访问你的图像,或者把它推到这个路径
<location>-docker.pkg.dev/<ProjectId>/<RepositoryName>/<ImageName>
bucket中仅存储具有sha256名称的docker层。因此,如果可能的话,很难提供对读取图像的细粒度访问。每次推送到注册表时,它都需要更新策略n。bucket中只存储具有sha256名称的docker层。因此,如果可能的话,很难提供对读取图像的细粒度访问。并且每次推送到注册表时都需要更新策略n。