如需允许用户创建、删除、使用或共享您的自定义映像,您必须向其授予适当的 Identity and Access Management (IAM) 角色。借助 IAM,您可以实现以下目的:
- 授予创建自定义映像的权限
- 在组织内部或组织之间共享自定义映像
- 公开共享自定义映像
- 向托管实例组授予映像访问权限
- 限制使用先前共享的映像
- 授予删除自定义映像的权限
- 通过从 IAM 政策中移除成员来撤消权限
如需了解有关授予 Compute Engine 资源访问权限的一般信息,请参阅管理对 Compute Engine 资源的访问权限。 如需了解 IAM,请参阅 IAM 文档。
准备工作
- 如果您要使用本指南中的命令行示例,请执行以下操作:
- 安装或更新到 gcloud 命令行工具的最新版本。
- 设置默认区域和可用区。
- 如果您要使用本指南中的 API 示例,请设置 API 访问权限。
- 阅读 IAM 文档。
- 了解 Compute Engine IAM 角色,尤其是
roles/compute.imageUser
角色。
限制
您无法为用户授予映像的 allUsers
的角色。
授予创建自定义映像的权限
您可以为用户授予在组织或项目中创建自定义映像的权限。
Compute Engine 提供了预定义 Storage Admin 角色;您可以将该角色分配给用户,使其能够创建、删除和管理存储相关资源(包括映像、磁盘和快照)。如果您需要一个仅允许创建映像的角色,则必须创建自定义角色。 在自定义角色中,根据需要添加以下权限:
compute.images.create
(用于创建新映像)compute.images.list
(用于列出项目中的映像)compute.disks.use
(如果要基于磁盘创建映像)compute.disks.list
(如果您想授权用户查看项目中的磁盘列表)
如果您授权某用户在组织中创建自定义映像,则该用户可以为组织内的任何项目创建自定义映像。
控制台
在 Google Cloud Console 中,转到项目或组织对应的 IAM 和管理页面。
点击添加按钮添加新成员。
在新成员字段中,输入您要向其授予访问权限的身份的电子邮件地址。
在选择角色列表中,选择 Compute Engine > Compute Storage Admin,或者选择一个自定义角色(如果已创建)。
保存更改。
gcloud
如需在组织级层授予 roles/compute.storageAdmin
角色,请运行以下命令:
gcloud organizations add-iam-policy-binding organization-id \
--member='member' \
--role='roles/compute.storageAdmin'
如需在项目级层授予 roles/compute.storageAdmin
角色,请运行以下命令:
gcloud projects add-iam-policy-binding project-id \
--member='member' \
--role='roles/compute.storageAdmin'
请替换以下内容:
organization-id
或project-id
:组织 ID 或项目 ID,例如my-organization-1
或my-project-1
。member
:您要向其授予相应角色的有效身份。必须采用user|group|serviceAccount:email
或domain:domain
格式。例如:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
API
如需直接通过 API 修改 IAM 政策,请执行以下操作:
使用
getIamPolicy
方法读取现有政策。对于项目,请使用以下网址(将project-id
替换为项目 ID,例如my-project-1
)。POST https://cloudresourcemanager.googleapis.com/v1/projects/project-id:getIamPolicy
对于组织,请使用以下网址(将
organization-id
替换为 12 位数字的组织 ID,例如123456578920
)。POST https://cloudresourcemanager.googleapis.com/v1/organizations/organization-id:getIamPolicy
Compute Engine 会在响应中返回当前政策。
使用文本编辑器修改该政策,以添加或移除成员及其关联的角色。例如,如需向 1email@example.com 授予
roles/compute.storageAdmin
角色,请将以下新绑定添加到政策中:{ "members": [ "group:admins@example.com" ], "role":"roles/compute.storageAdmin" }
使用
setIamPolicy()
写入更新后的政策:POST https://cloudresourcemanager.googleapis.com/v1/projects/project-id:setIamPolicy
将
project-id
替换为项目 ID。 在请求正文中,提供上一步中写入的更新后 IAM 政策。
授予删除自定义映像的权限
您可以根据自己的需求向用户授予以下权限:
- 删除特定映像
- 删除特定项目拥有的映像
- 删除组织内任何项目的映像
向用户授予项目级层权限后,用户可以删除该项目拥有的所有映像。向用户授予组织级层权限后,用户可以删除该组织拥有的所有映像,无论映像属于哪个项目。
Compute Engine 提供了预定义 Storage Admin 角色;您可以将该角色分配给用户,使其能够创建、删除和管理存储相关资源(包括映像、磁盘和快照)。如果您需要一个仅允许删除映像的角色,则必须创建自定义角色。 在自定义角色中,根据需要添加以下权限:
compute.images.delete
(用于删除映像)compute.images.list
(用于在必要时列出项目或组织中的映像)compute.images.get
(用于获取映像)
控制台
如需授予删除特定映像的权限,请执行以下操作:
在 Google Cloud Console 中,转到映像页面。
选择您要授予其权限的映像。
在右侧的权限面板中,点击添加成员。
输入您要与之共享该映像的身份的电子邮件地址。 必须采用
user|group|serviceAccount:email
或domain:domain
格式。 例如:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
在角色列表中,指向 Compute Engine 并选择 Storage Admin,或者从自定义列表中选择一个自定义角色。
保存更改。
如需授予删除项目或组织所拥有映像的权限,请执行以下操作:
转到项目或组织对应的 IAM 和管理页面。
点击页面顶部的添加按钮。
在新成员字段中,输入您要向其授予访问权限的身份的电子邮件地址。必须采用
user|group|serviceAccount:email
或domain:domain
格式。例如:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
在角色列表中,指向 Compute Engine 并选择 Storage Admin,或者从自定义列表中选择一个自定义角色。
保存更改。
gcloud
如需在组织级层授予用户删除映像的权限,请运行以下命令:
gcloud organizations add-iam-policy-binding organization-id \
--member='member' \
--role='role'
如需在项目级层授予删除映像的权限,请运行以下命令:
gcloud projects add-iam-policy-binding project-id \
--member='member' \
--role='role'
如需授予删除特定映像的权限,请运行以下命令:
gcloud images add-iam-policy-binding image-name \
--member='member' \
--role='role'
请替换以下内容:
organization-id
、project-id
或image-name
:12 位数字的组织 ID、项目 ID 或映像名称,例如123456578920
、my-project-1
或my-custom-image
。member
:您要向其授予相应角色的有效身份。必须采用user|group|serviceAccount:email
或domain:domain
格式。例如:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
role
:要分配给此身份的角色,例如roles/compute.storageAdmin
或自定义角色(如roles/customImageDeletionRole
)。
API
如需通过 API 授予删除映像的权限,请执行以下操作:
使用资源各自的
getIamPolicy
方法来读取现有政策。对于项目,请使用以下网址:POST https://cloudresourcemanager.googleapis.com/v1/projects/project-id:getIamPolicy
将
project-id
替换为项目 ID。对于组织,请使用以下网址:
POST https://cloudresourcemanager.googleapis.com/v1/organizations/organization-id:getIamPolicy
将
organization-id
替换为 12 位数字的组织 ID。对于特定映像,请使用以下网址:
POST https://compute.googleapis.com/compute/v1/projects/project-id/global/images/image-name:getIamPolicy
将
project-id
替换为项目 ID,并将image-name
替换为映像名称。Compute Engine 会在响应中返回当前政策。
使用文本编辑器修改该政策,以添加或移除成员及其关联的角色。例如,如需向 email@example.com 授予
roles/compute.storageAdmin
角色,请将以下新绑定添加到政策中:{ "members": [ "user:email@example.com" ], "role":"roles/compute.storageAdmin" }
使用
setIamPolicy()
写入更新后的政策。例如:POST https://cloudresourcemanager.googleapis.com/v1/projects/project-id:setIamPolicy
将
project-id
替换为项目 ID。 在请求正文中,提供上一步中写入的更新后 IAM 政策。
在组织内部共享自定义映像
如果您的项目属于某个组织,那么该组织可能还有若干其他项目,并且这些项目可能对其他项目具有不同级别的访问权限。创建自定义映像时,您可以与属于组织中其他项目的其他用户共享这些映像。
Compute Engine 预定义了以下可用于管理映像的特选 IAM 角色:
roles/compute.imageUser
:拥有在请求中列出、读取和使用映像的权限,但不具备映像的其他权限。roles/compute.storageAdmin
:拥有创建、修改和删除磁盘、映像及快照的权限。
或者,您也可以自行创建自定义 IAM 角色。
Google 建议您最好将所有自定义映像保存在一个专用于托管这些映像的项目中。 这样可以改善对这些映像的管理,并可让您仅允许特定团队访问其所需的映像。您还可以向团队授予对整个映像项目的访问权限,但由于允许团队访问整个映像项目违反了最小权限原则,因此我们不建议您这样做。
以下示例展示了如何添加群组以使该群组的用户可以访问映像。
控制台
在 Google Cloud Console 中,转到映像页面。
选择要与其他用户共享的映像。
在右侧的权限面板中,点击添加成员。
输入您要与之共享该映像的身份的电子邮件地址。 必须采用
user|group|serviceAccount:email
或domain:domain
格式。 例如:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
在角色列表中,指向 Compute Engine 并选择 Image User 或 Storage Admin,或者选择一个自定义角色。
保存更改。
如需允许用户从 Cloud Console 启动共享的自定义映像,您还必须将用户作为项目查看者添加到映像项目中。这样可确保这些共享映像显示在映像选择列表中。
在 Google Cloud Console 中,转到 IAM 和管理页面。
点击页面顶部的添加按钮。
在新成员字段中,输入您要与之共享映像的身份的电子邮件地址。
在角色列表中,指向项目,然后选择 Viewer。
保存更改。
gcloud
使用 gcloud
命令行工具更新特定映像的 IAM 政策。
gcloud compute images add-iam-policy-binding image-name \
--member='member' \
--role='role'
请替换以下内容:
image-name
:映像的名称,例如custom-centos-8
。member
:您要向其授予相应角色的有效身份。必须采用user|group|serviceAccount:email
或domain:domain
格式。例如:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
role
是要分配给此身份的角色,例如roles/compute.imageUser
、roles/compute.storageAdmin
或自定义角色。
或者,如需允许用户在其 images.list
请求中查看这些共享映像,请将用户作为项目查看者添加到映像项目中。如果您不需要用户能够查看共享映像列表,则可以跳过此步骤。
gcloud compute projects add-iam-policy-binding project-id \
--member='member' \
--role='roles/viewer'
API
如需直接通过 API 修改 IAM 政策,请执行以下操作:
使用资源各自的
getIamPolicy
方法来读取现有政策。POST https://compute.googleapis.com/compute/v1/projects/project-id/global/images/image-name:getIamPolicy
请替换以下内容:
project-id
:此映像所属项目的 ID。image-name
:映像的名称。
Compute Engine 会在响应中返回当前政策。
使用文本编辑器修改该政策,以添加或移除用户及其关联的角色。按照
user|group|serviceAccount:email
或domain:domain
格式添加用户,例如user:test-user@gmail.com
、group:admins@example.com
、serviceAccount:test123@example.domain.com
或domain:example.domain.com
。例如,如需向email@example.com
授予roles/compute.imageUser
角色,请添加以下内容:{ "members": [ "user:email@example.com" ], "role":"roles/compute.imageUser" }
使用
setIamPolicy()
写入更新后的政策:POST https://compute.googleapis.com/compute/v1/projects/project-id/global/images/image-name:setIamPolicy
请替换以下内容:
project-id
:此映像所属项目的 ID。image-name
:映像的名称。
在请求正文中,提供上一步中写入的更新后 IAM 政策。
或者,如需允许用户在其 images.list
请求中查看这些共享映像,请将用户作为项目查看者添加到映像项目中。如果您不需要用户能够查看共享映像列表,则可以跳过此步骤。
POST https://cloudresourcemanager.googleapis.com/v1/projects/project-id:setIamPolicy
在组织之间共享自定义映像
如果您要与贵组织外部的合作伙伴、用户或承包商共享映像,创建自定义映像目录会很有帮助。您可以按照以下说明将组织外部的用户作为映像用户添加到您的项目中,这样便可与之共享您的映像。
控制台
在 Google Cloud Console 中,转到映像页面。
选择要与其他用户共享的映像。
在右侧的权限面板中,点击添加成员。
输入您要与之共享该映像的群组的电子邮件地址, 例如
group:admins@example.com
。在角色列表中,指向 Compute Engine,然后选择 Image User。
保存更改。
如需允许用户从 Cloud Console 启动共享的自定义映像,您还必须将用户作为项目查看者添加到映像项目中。这样可确保这些共享映像显示在映像选择列表中。
在 Google Cloud Console 中,转到 IAM 和管理页面。
点击页面顶部的添加按钮。
在新成员字段中,输入您要与之共享映像的身份的电子邮件地址。
在角色列表中,指向项目,然后选择 Viewer。
保存更改。
gcloud
使用 gcloud
命令行工具:
gcloud compute images add-iam-policy-binding image-name \
--member='member' \
--role='roles/compute.imageUser'
请替换以下内容:
image-name
:映像的名称,例如custom-centos-8
。member
:您要向其授予相应角色的有效身份,例如group:admins@example.com
。
或者,如需允许用户在其 images.list
请求中查看这些共享映像,请将用户作为项目查看者添加到映像项目中。如果您不需要用户能够查看共享映像列表,则可以跳过此步骤。
gcloud compute projects add-iam-policy-binding project-id \
--member='member' \
--role='roles/viewer'
API
如需直接通过 API 修改映像的 IAM 政策,请执行以下操作:
使用资源各自的
getIamPolicy
方法来读取现有政策。POST https://compute.googleapis.com/compute/v1/projects/project-id/global/images/image-name:getIamPolicy
请替换以下内容:
project-id
:此映像所属项目的 ID。image-name
:映像的名称。
Compute Engine 会在响应中返回当前政策。
使用文本编辑器修改该政策,以添加或移除用户及其关联的角色。按照
user|group|serviceAccount:email
或domain:domain
格式添加用户,例如user:test-user@gmail.com
、group:admins@example.com
、serviceAccount:test123@example.domain.com
或domain:example.domain.com
。例如,如需向 email@example.com 授予roles/compute.imageUser
角色,请添加以下内容:{ "members": [ "user:email@example.com" ], "role":"roles/compute.imageUser" }
使用
setIamPolicy()
写入更新后的政策:POST https://compute.googleapis.com/compute/v1/projects/project-id/global/images/image-name:setIamPolicy
请替换以下内容:
project-id
:此映像所属项目的 ID。image-name
:映像的名称。
在请求正文中,提供上一步中写入的更新后 IAM 政策。
或者,如需允许用户在其
images.list
请求中查看这些共享映像,请将用户作为项目查看者添加到映像项目中。如果您不需要用户能够查看共享映像列表,则可以跳过此步骤。POST https://cloudresourcemanager.googleapis.com/v1/projects/project-id:setIamPolicy
公开共享自定义映像
您可以与所有经过身份验证的 Compute Engine 用户共享您的自定义映像,无论这些用户是否属于您的组织或项目。
您只能与所有经过身份验证的用户共享资源(例如映像),而无法与所有经过身份验证的用户共享项目或组织。这种限制和资源层次结构有助于防止组织无意中与所有经过身份验证的 Compute Engine 用户共享其整个项目。
以下示例展示了如何向所有经过身份验证的 Compute Engine 用户授予自定义映像的 roles/compute.imageUser
角色。
gcloud
将以下命令中的 image-name
替换为资源名称,例如 my_image
:
gcloud compute images add-iam-policy-binding image-name \
--member='allAuthenticatedUsers' \
--role='roles/compute.imageUser'
API
如需直接通过 API 修改 IAM 政策,请执行以下操作:
使用
getIamPolicy
方法读取现有政策。例如:POST https://compute.googleapis.com/compute/v1/projects/project-id/global/images/image-name:getIamPolicy
请替换以下内容:
project-id
:此映像所属项目的 ID。image-name
:映像的名称。
Compute Engine 会在响应中返回当前政策。
使用文本编辑器修改该政策,以添加或移除成员及其关联的角色。
{ "members": [ "allAuthenticatedUsers" ], "role":"roles/compute.imageUser" }
使用
setIamPolicy()
写入更新后的政策:POST https://compute.googleapis.com/compute/v1/projects/project-id/global/images/image-name:setIamPolicy
请替换以下内容:
project-id
:此映像所属项目的 ID。image-name
:映像的名称。
在请求正文中,提供上一步中写入的更新后 IAM 政策。
向托管实例组授予对映像的访问权限
通过 Compute Engine,您可以创建托管或非托管实例组。如果创建托管实例组,Compute Engine 将使用 Google API 服务帐号来调用 Compute Engine API 并执行与该实例组相关的操作,例如重新创建运行状况不佳的实例和更新实例。
如果您想要使用其他项目中的映像创建托管实例组,请向属于将用来创建托管实例组的项目的 API 服务帐号授予 roles/compute.imageUser
角色。例如:
- 项目 A 希望使用项目 B 拥有的映像创建托管实例组。
- 项目 B 向项目 A 的服务帐号授予
roles/compute.imageUser
角色。 - 现在,项目 A 可以使用项目 B 中的映像来创建托管实例组。
授予 roles/compute.imageUser
角色后,您可以在为托管实例组创建实例模板时,使用控制台或映像网址访问其他项目中的映像。
获取服务帐号的电子邮件地址
请按照以下步骤获取服务帐号的电子邮件地址:
- 在 Cloud Console 中,转到您要向其服务帐号授予访问权限的项目对应的 IAM 页面。
- 如果出现提示,请从列表中选择您的项目。
查找电子邮件地址采用以下格式的 Google API 服务帐号:
project-number@cloudservices.gserviceaccount.com
记下上述电子邮件地址。
检索服务帐号的电子邮件地址后,请访问以下某个链接:
向托管实例组授予对项目中所有映像的访问权限
现在您已经获得服务帐号的电子邮件地址,接下来就可以将该地址添加到其他项目中,并向其授予 roles/compute.imageUser
角色。
控制台
在 Google Cloud Console 中,转到映像项目对应的 IAM 和管理页面。
如需添加新成员,请点击添加。
在新成员字段中,添加服务帐号电子邮件地址。
在角色列表中,指向计算,然后选择 Compute Image User。
点击保存。
切换回该服务帐号所属的项目。
gcloud
从映像项目添加服务帐号:
gcloud projects add-iam-policy-binding project-id \
--member 'serviceAccount:service-account-email' --role 'roles/compute.imageUser'
请替换以下内容:
project-id
:要共享的映像所属项目的 ID。service-account-email
:服务帐号的电子邮件地址。
API
使用以下网址获取映像项目的 IAM 政策(将
project-id
替换为映像项目的 ID)。POST https://cloudresourcemanager.googleapis.com/v1/projects/project-id:getIamPolicy
使用文本编辑器修改该政策,以向服务帐号授予
roles/compute.imageUser
角色。例如:{ "bindings": [ { "role": "roles/compute.imageUser", "members": [ "serviceAccount:service-account-email" ] } ] }
将
service-account-email
替换为服务帐号电子邮件地址。写入更新后的政策:
POST https://cloudresourcemanager.googleapis.com/v1/projects/project-id:setIamPolicy
将
project-id
替换为映像项目的产品 ID。在请求正文中,提供上一步中写入的更新后 IAM 政策。
向托管实例组授予对项目中特定映像的访问权限
现在您已经获得服务帐号的电子邮件地址,接下来就可以将该地址添加到其他项目中,并向其授予特定映像的 roles/compute.imageUser
角色。
控制台
在 Google Cloud Console 中,转到映像项目对应的映像页面。
选择要共享的映像。
在权限面板中,点击添加成员。
输入服务帐号电子邮件地址。
在角色列表中,选择计算,然后选择 Compute Image User。
点击保存。
切换回该服务帐号所属的项目。
gcloud
如需向服务帐号授予对特定映像的访问权限,请运行以下命令:
gcloud images add-iam-policy-binding image-name \
--member 'serviceAccount:service-account-email' \
--role 'roles/compute.imageUser'
请替换以下内容:
image-name
:您要共享的映像名称。service-account-email
:服务帐号的电子邮件地址。
API
获取映像的 IAM 政策。
POST https://compute.googleapis.com/compute/v1/projects/project-id/global/images/image-name:getIamPolicy
请替换以下内容:
project-id
:映像项目的 ID。image-name
:您要共享的映像的名称。
使用文本编辑器修改该政策,以向服务帐号授予
roles/compute.imageUser
角色。例如:{ "bindings": [ { "role": "roles/compute.imageUser", "members": [ "serviceAccount:service-account-email" ] } ] }
将
service-account-email
替换为服务帐号电子邮件地址。写入更新后的政策:
POST https://compute.googleapis.com/compute/v1/projects/project-id/global/images/image-name:setIamPolicy
请替换以下内容:
project-id
:映像项目的 ID。image-name
:您要共享的映像的名称。
在请求正文中,提供上一步中写入的更新后 IAM 政策。
限制共享映像和快照的使用
在与其他用户共享您的映像后,您可以控制这些用户在您的组织内部使用这些资源的位置。设置 constraints/compute.storageResourceUseRestrictions
限制可以定义允许用户在其中使用您的存储资源的项目。
您必须具有修改组织政策的权限才能设置这些限制。例如,resourcemanager.organizationAdmin
角色拥有设置这些限制的权限。
查找组织 ID。
gcloud organizations list
获取组织的现有政策设置。将 organization-id 替换为 12 位数字的组织 ID。
gcloud beta resource-manager org-policies describe \ compute.storageResourceUseRestrictions \ --organization organization-id > org-policy.yaml
在文本编辑器中打开
org-policy.yaml
文件并修改compute.storageResourceUseRestrictions
限制条件。添加所需的限制或移除不再需要的限制。 修改完此文件后,请保存更改。例如,您可以在政策文件中设置以下限制条目:constraint: compute.storageResourceUseRestrictions listPolicy: allowedValues: - under:organization/organization-id
将
policy.yaml
文件应用于您的组织。将 organization-id 替换为 12 位数字的组织 ID。gcloud beta resource-manager org-policies set-policy \ --organization organization-id org-policy.yaml
在配置完组织政策中的限制条件后,请进行测试以确保这些条件会创建您所需要的限制。
使用其他项目中的映像
如果某人向您授予了对其他项目中一个或多个映像的访问权限,您可以通过在请求中指定映像项目来访问该项目中的这些映像。
如需了解如何使用映像创建新资源(例如创建实例),请参阅创建和启动实例。
例如,以下命令会使用项目 database-images
中名为 database-image-a
的映像创建一个实例:
gcloud compute instances create test-instance \ --image database-image-a --image-project database-images
您还可以基于其他项目中的映像创建永久性启动磁盘。如需了解如何使用映像创建启动磁盘,请参阅创建独立的永久性启动磁盘。
撤消对共享映像的访问权限
如果某用户不再需要访问您的 Compute Engine 资源,您可以使用 Google Cloud Console、gcloud
命令行工具或 Compute Engine API 撤消其访问权限。
控制台
在 Google Cloud Console 中,转到映像项目对应的映像页面。
选中要更新的映像旁边的复选框。
点击显示信息面板以展开权限列。
展开您要移除用户的角色。
点击
删除,以从该角色中移除用户。
gcloud
如需从映像角色中移除用户,请使用带有 --member
和 --role
标志的 remove-iam-policy-binding
子命令。
gcloud compute images remove-iam-policy-binding image-name \
--member='member' \
--role='role'
请替换以下内容:
image-name
:映像的名称,例如my_image
。member
:您要移除的身份。 必须采用user|group|serviceAccount:email
或domain:domain
格式。 例如:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
role
:您要从中移除身份的角色。
如果您要撤消对目前处于 Beta 版阶段的资源的访问权限,请改用 gcloud beta compute
命令。
API
如需直接通过 API 修改 IAM 政策,请执行以下操作:
使用资源各自的
getIamPolicy
方法来读取现有政策。POST https://compute.googleapis.com/compute/v1/projects/project-id/global/images/image-name:getIamPolicy
请替换以下内容:
project-id
:此映像所属项目的 ID。image-name
:映像的名称。
Compute Engine 会在响应中返回当前政策。
使用文本编辑器修改该政策,以从关联角色中移除成员。
使用
setIamPolicy()
写入更新后的政策:POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/global/images/image-name:setIamPolicy
请替换以下内容:
project-id
:此映像所属项目的 ID。image-name
:映像的名称。在请求正文中,提供上一步中写入的更新后 IAM 政策。
后续步骤
- 了解 IAM。
- 查看 Compute Engine IAM 角色列表。
- 了解映像。
- 了解如何使用共享映像创建实例。
- 了解如何创建独立的永久性启动磁盘。
- 了解如何在 Deployment Manager 部署中使用此角色。
- 通过授予对特定 Compute Engine 资源而不是整个项目的访问权限来应用最小权限原则。