Para permitir que os usuários criem, excluam, usem ou compartilhem suas imagens personalizadas, conceda a eles os papéis apropriados de gerenciamento de identidade e acesso (IAM). Neste documento, descrevemos as permissões necessárias do IAM para criar e gerenciar imagens personalizadas e como fornecê-las aos usuários.
Para informações gerais sobre como conceder acesso aos recursos do Compute Engine, consulte Como gerenciar o acesso aos recursos do Compute Engine. Para informações sobre o IAM, leia a documentação do IAM.
Antes de começar
- Leia a documentação do IAM.
- Leia sobre os papéis do IAM do Compute Engine, principalmente sobre o papel de usuário da imagem do Compute (
roles/compute.imageUser
). -
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud .
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Administrador do IAM do projeto (
roles/resourcemanager.projectIamAdmin
) no projeto -
Administrador do Compute (
roles/compute.admin
) no projeto -
Para conceder aos usuários ou às contas de serviço as permissões necessárias para criar e compartilhar imagens personalizadas, faça o seguinte:
-
resourcemanager.projects.getIamPolicy
no projeto -
resourcemanager.projects.setIamPolicy
no projeto
-
-
Para conceder aos usuários ou às contas de serviço as permissões necessárias para excluir imagens personalizadas:
-
resourcemanager.projects.getIamPolicy
no projeto -
resourcemanager.projects.setIamPolicy
no projeto -
compute.images.getIamPolicy
na imagem -
compute.images.setIamPolicy
na imagem
-
-
Para revogar o acesso de usuários ou contas de serviço a imagens personalizadas:
-
resourcemanager.projects.getIamPolicy
no projeto -
resourcemanager.projects.setIamPolicy
no projeto
-
-
Para criar uma instância usando uma imagem compartilhada:
compute.instances.create
no projeto- Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnly
na imagem - Usar um snapshot para criar a VM:
compute.snapshots.useReadOnly
no snapshot - Usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância - Atribuir uma rede legada à VM:
compute.networks.use
no projeto - Especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto - Atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIp
no projeto - Especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida - Atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida - Definir os metadados da instância de VM para a VM:
compute.instances.setMetadata
no projeto - Definir tags para a VM:
compute.instances.setTags
na VM - Definir rótulos para a VM:
compute.instances.setLabels
na VM - Definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccount
na VM - Criar um disco para a VM:
compute.disks.create
no projeto - Anexar um disco atual no modo somente leitura ou de leitura e gravação:
compute.disks.use
no disco - Anexar um disco atual no modo somente leitura:
compute.disks.useReadOnly
no disco
compute.images.create
para criar novas imagenscompute.images.list
para listar imagens no projetocompute.disks.use
se a imagem for criada a partir de um discocompute.disks.list
se os usuários precisarem listar todos os discos em um projetoNo Console do Google Cloud, acesse a página IAM do projeto ou da organização.
Para adicionar um novo membro, clique em
Conceder acesso.No campo Novos participantes, digite o endereço de e-mail da identidade a quem você quer conceder acesso.
Exemplo:
- E-mail da Conta do Google:
test-user@gmail.com
- Grupo do Google:
admins@googlegroups.com
- Conta de serviço:
server@example.gserviceaccount.com
- Domínio do Google Workspace:
example.com
- E-mail da Conta do Google:
Na lista Selecionar um papel, selecione Compute Engine > Administrador do Compute Storage ou selecione um papel personalizado, caso tenha criado um.
Opcional: para controlar ainda mais o acesso do usuário aos recursos do Google Cloud , adicione a vinculação de papel condicional.
Salve as alterações.
ORGANIZATION_ID
ouPROJECT_ID
: o ID da organização ou do projeto, por exemplo,my-organization-1
oumy-project-1
;MEMBER
: uma identidade válida à qual você quer conceder o papel.Exemplo:
- E-mail da Conta do Google:
user:user@gmail.com
- Grupo do Google:
group:admins@googlegroups.com
- Conta de serviço:
serviceAccount:server@example.gserviceaccount.com
- Domínio do Google Workspace:
domain:example.com
- E-mail da Conta do Google:
Leia a política atual com o respectivo método
getIamPolicy
do recurso. Para projetos, use o métodoprojects.getIamPolicy
.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Substitua
PROJECT_ID
pelo ID do projeto, comomy-project-1
.Para organizações, use o método
organizations.getIamPolicy
.POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_ID:getIamPolicy
Substitua
ORGANIZATION_ID
pelo ID da organização, por exemplo,123456578920
.O Compute Engine retorna a política atual na resposta.
Para adicionar ou remover membros e os papéis associados, edite a política com um editor de texto. Use o seguinte formato para adicionar membros:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Por exemplo, para conceder o papel
roles/compute.storageAdmin
agroup:admins@example.com
, adicione a seguinte vinculação à política:{ "members": [ "group:admins@example.com" ], "role":"roles/compute.storageAdmin" }
Grave a política atualizada usando o método
setIamPolicy
.Por exemplo, para definir uma política no nível do projeto, use o método
project.setIamPolicy
. No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Substitua
PROJECT_ID
pelo ID do projeto.- Excluir uma imagem específica
- Excluir imagens de um projeto específico
- Excluir imagens de qualquer projeto dentro de uma organização
compute.images.delete
para excluir imagenscompute.images.list
se os usuários precisarem listar imagens no projeto ou na organizaçãocompute.images.get
para conseguir as imagensNo console do Google Cloud, acesse a página Imagens.
Selecione as imagens às quais você quer conceder permissões.
Para expandir a coluna de permissões, clique em Mostrar painel de informações.
Para adicionar um ou mais membros, clique em Adicionar participante.
No campo Novos participantes, digite o endereço de e-mail da identidade com a qual você quer compartilhar a imagem.
Exemplo:
- E-mail da Conta do Google:
test-user@gmail.com
- Grupo do Google:
admins@googlegroups.com
- Conta de serviço:
server@example.gserviceaccount.com
- Domínio do Google Workspace:
example.com
- E-mail da Conta do Google:
Na lista Papel, mantenha o ponteiro do mouse sobre Compute Engine e selecione Administrador do Storage ou selecione um papel personalizado no Personalizado lista.
Opcional: para controlar ainda mais o acesso do usuário aos recursos do Google Cloud , adicione a vinculação de papel condicional.
Salve as alterações.
Acesse a página IAM do projeto ou da organização.
Clique em
CONCEDER ACESSO.No campo Novos participantes, digite o endereço de e-mail da identidade a quem você quer conceder acesso. Exemplo:
- E-mail da Conta do Google:
test-user@gmail.com
- Grupo do Google:
admins@googlegroups.com
- Conta de serviço:
server@example.gserviceaccount.com
- Domínio do Google Workspace:
example.com
- E-mail da Conta do Google:
Na lista Papel, mantenha o ponteiro do mouse sobre Compute Engine e selecione Administrador do Storage ou selecione um papel personalizado no Personalizado lista.
Opcional: para controlar ainda mais o acesso do usuário aos recursos do Google Cloud , adicione a vinculação de papel condicional.
Salve as alterações.
ORGANIZATION_ID
ouPROJECT_ID
ouIMAGE_NAME
: o ID da organização numérico de 12 dígitos, o ID do projeto ou o nome da imagem, por exemplo,123456578920
oumy-project-1
oumy-custom-image
.MEMBER
: uma identidade válida à qual você quer conceder o papel.Exemplo:
- E-mail da Conta do Google:
user:user@gmail.com
- Grupo do Google:
group:admins@googlegroups.com
- Conta de serviço:
serviceAccount:server@example.gserviceaccount.com
- Domínio do Google Workspace:
domain:example.com
- E-mail da Conta do Google:
ROLE
: o papel a ser atribuído a essa identidade, por exemplo, o papelroles/compute.storageAdmin
ou um papel personalizado, comoroles/customImageDeletionRole
.Leia a política atual com o respectivo método
getIamPolicy
do recurso. Para projetos, use o métodoprojects.getIamPolicy
:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Substitua
PROJECT_ID
pelo ID do projeto.Para organizações, use o método
organizations.getIamPolicy
:POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_ID:getIamPolicy
Substitua
ORGANIZATION_ID
pelo ID da organização numérico de 12 dígitos.Para uma imagem específica, use o método
images.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Substitua:
PROJECT_ID
: o ID do projeto;IMAGE_NAME
: o nome da imagem.
O Compute Engine retorna a política atual na resposta.
Para adicionar ou remover membros e os papéis associados, é possível editar a política com um editor de texto. Use o seguinte formato para adicionar membros:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Por exemplo, para conceder o papel
roles/compute.storageAdmin
auser:test-email@example.com
, adicione a seguinte vinculação à política:{ "members": [ "user:test-email@example.com" ], "role":"roles/compute.storageAdmin" }
Grave a política atualizada usando o método
setIamPolicy
.Por exemplo, para definir uma política para envolvidos no projeto, use o método
project.setIamPolicy
. No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Substitua
PROJECT_ID
pelo ID do projeto.- Usuário de imagens do Compute (
roles/compute.imageUser
): permissão para listar, ler e usar imagens em suas solicitações, sem ter outras permissões na imagem - Administrador do Compute Storage (
roles/compute.storageAdmin
): permissões para criar, modificar e excluir discos, imagens e snapshots No console do Google Cloud, acesse a página Imagens.
Selecione a imagem que você quer compartilhar com outros usuários.
Para expandir a coluna de permissões, clique em Mostrar painel de informações.
Para adicionar um ou mais membros, clique em Adicionar participante.
No campo Novos participantes, digite o endereço de e-mail da identidade com a qual você quer compartilhar a imagem.
Exemplo:
- E-mail da Conta do Google:
test-user@gmail.com
- Grupo do Google:
admins@googlegroups.com
- Conta de serviço:
server@example.gserviceaccount.com
- Domínio do Google Workspace:
example.com
- E-mail da Conta do Google:
Na lista Papel, mantenha o ponteiro sobre Compute Engine e selecione Usuário da imagem ou Administrador do Storage ou selecione uma função personalizada.
Opcional: para controlar ainda mais o acesso do usuário aos recursos do Google Cloud, adicione a vinculação de papel condicional.
Salve as alterações.
No console do Google Cloud, abra a página IAM.
Clique em
CONCEDER ACESSO.No campo Novos participantes, digite o endereço de e-mail da identidade com a qual você quer compartilhar a imagem. Exemplo:
- E-mail da Conta do Google:
test-user@gmail.com
- Grupo do Google:
admins@googlegroups.com
- Conta de serviço:
server@example.gserviceaccount.com
- Domínio do Google Workspace:
example.com
- E-mail da Conta do Google:
Na lista Papel, mantenha o ponteiro sobre Projeto e selecione Visualizador.
Opcional: para controlar ainda mais o acesso do usuário aos recursos do Google Cloud, adicione a vinculação de papel condicional.
Salve as alterações.
IMAGE_NAME
: o nome da imagem. Por exemplo,custom-centos-8
MEMBER
: uma identidade válida à qual você quer conceder o papel.Exemplo:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
ROLE
: o papel que receberá essa identidade, comoroles/compute.imageUser
,roles/compute.storageAdmin
ou um papel personalizado.Leia a política atual com o método
getIamPolicy
do recurso. Por exemplo, para receber a política em uma imagem específica, use o métodoimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Substitua:
PROJECT_ID
: o ID do projeto a que esta imagem pertence;IMAGE_NAME
: o nome da imagem.
O Compute Engine retorna a política atual na resposta.
Para adicionar ou remover membros e os papéis associados, edite a política com um editor de texto. Use o seguinte formato para adicionar membros:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Por exemplo, para conceder
roles/compute.imageUser
atest-email@example.com
, adicione a nova vinculação a seguir à política:{ "members": [ "user:test-email@example.com" ], "role":"roles/compute.imageUser" }
Grave a política atualizada usando o método
setIamPolicy
. Por exemplo, para definir a política em uma imagem específica, use o métodoproject.setIamPolicy
. No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Substitua:
PROJECT_ID
: o ID do projeto a que esta imagem pertence;IMAGE_NAME
: o nome da imagem.
No console do Google Cloud, acesse a página Imagens.
Selecione a imagem que você quer compartilhar com outros usuários.
Para expandir a coluna de permissões, clique em Mostrar painel de informações.
Para adicionar um ou mais membros, clique em Adicionar participante.
No campo Novos participantes, digite o endereço de e-mail do grupo com o qual você quer compartilhar a imagem. Por exemplo,
admins@example.com
.Na lista Papel, mantenha o ponteiro sobre o Compute Engine e selecione Usuário da imagem do Compute.
Opcional: para controlar ainda mais o acesso do usuário aos recursos do Google Cloud, adicione a vinculação de papel condicional.
Salve as alterações.
No console do Google Cloud, abra a página IAM.
Clique em
CONCEDER ACESSO.No campo Novos participantes, digite o endereço de e-mail da identidade com a qual você quer compartilhar a imagem. Por exemplo,
admins@example.com
.Na lista Papel, mantenha o ponteiro sobre Projeto e selecione Visualizador.
Opcional: para controlar ainda mais o acesso do usuário aos recursos do Google Cloud, adicione a vinculação de papel condicional.
Salve as alterações.
IMAGE_NAME
: o nome da imagem, por exemplo,custom-centos-8
MEMBER
: uma identidade válida para a qual você quer conceder o papel, por exemplo,group:admins@example.com
Leia a política atual com o método
getIamPolicy
do recurso. Por exemplo, para receber a política em uma imagem específica, use o métodoimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Substitua:
PROJECT_ID
: o ID do projeto a que esta imagem pertence;IMAGE_NAME
: o nome da imagem.
O Compute Engine retorna a política atual na resposta.
Para adicionar ou remover membros e os papéis associados, é possível editar a política com um editor de texto. Use o seguinte formato para adicionar membros:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Por exemplo, para conceder
roles/compute.imageUser
atest-user@example.com
, adicione a nova vinculação a seguir à política:{ "members": [ "user:test-user@example.com" ], "role":"roles/compute.imageUser" }
Grave a política atualizada usando o método
setIamPolicy
. Por exemplo, para definir uma política em uma imagem específica, use o métodoimages.setIamPolicy
. No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Substitua:
PROJECT_ID
: o ID do projeto a que esta imagem pertence;IMAGE_NAME
: o nome da imagem.
Como opção, para permitir que os usuários vejam essas imagens compartilhadas nas solicitações
images.list
, conceda a eles o papel de leitor do IAM (roles/viewer
) para o projeto de imagem usando o métodoprojects.setIamPolicy
: Se você não precisar que seus usuários vejam a lista de imagens compartilhadas, pule esta etapa.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Leia a política atual com o método
getIamPolicy
. Por exemplo, para receber a política em uma imagem específica, use o métodoimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Substitua:
PROJECT_ID
: o ID do projeto a que esta imagem pertence;IMAGE_NAME
: o nome da imagem.
O Compute Engine retorna a política atual na resposta.
Para adicionar ou remover membros e os papéis associados, edite a política com um editor de texto:
{ "members": [ "allAuthenticatedUsers" ], "role":"roles/compute.imageUser" }
Grave a política atualizada usando o método
setIamPolicy
. Por exemplo, para definir uma política em uma imagem específica, use o métodoimages.setIamPolicy
. No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Substitua:
PROJECT_ID
: o ID do projeto a que esta imagem pertence;IMAGE_NAME
: o nome da imagem.
- O projeto A quer criar um MIG usando imagens de propriedade do Projeto B.
- O Projeto B concede à conta de serviço do Projeto A o papel de Usuário de imagens do Compute.
- O Projeto A agora pode usar imagens do Projeto B para criar MIGs.
No Console do Google Cloud, acesse a página IAM do projeto com a conta de serviço que você quer conceder acesso.
Caso solicitado, selecione o projeto na lista.
Procure o agente de serviço das APIs do Google, que tem o endereço de e-mail no formato a seguir:
PROJECT_NUMBER@cloudservices.gserviceaccount.com
- Conceder a um MIG acesso a todas as imagens em um projeto
- Conceder a um MIG acesso a imagens específicas em um projeto
No Console do Google Cloud, acesse a página IAM do projeto de imagem.
Para adicionar um novo membro, clique em
Conceder acesso.No campo Novos participantes, adicione o endereço de e-mail da conta de serviço.
Na lista Papel, mantenha o ponteiro sobre Compute e selecione Usuário da imagem do Compute.
Opcional: para controlar ainda mais o acesso do usuário aos recursos do Google Cloud, adicione a vinculação de papel condicional.
Clique em Salvar.
Volte para o projeto da conta de serviço.
PROJECT_ID
: o ID do projeto que contém as imagens que você quer compartilhar;SERVICE_ACCOUNT_EMAIL
: o e-mail da conta de serviço.Consiga a política do IAM do projeto de imagem usando o método
projects.getIamPolicy
:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Substitua
PROJECT_ID
pelo ID do projeto de administração.Para conceder o papel
roles/compute.imageUser
à conta de serviço, edite a política com um editor de texto:{ "bindings": [ { "role": "roles/compute.imageUser", "members": [ "serviceAccount:SERVICE_ACCOUNT_EMAIL" ] } ] }
Substitua
SERVICE_ACCOUNT_EMAIL
pelo e-mail da conta de serviço.Grave a política atualizada usando o comando
projects.setIamPolicy
. No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Substitua
PROJECT_ID
pelo ID do produto do projeto de imagem.Agora é possível criar um modelo de instância com base em uma imagem do projeto de imagem e criar um MIG com base no modelo da instância. ,
No Console do Google Cloud, acesse a página Imagens do projeto de imagem.
Marque as caixas de seleção ao lado das imagens que você quer compartilhar.
Para expandir a coluna de permissões, clique em Mostrar painel de informações.
No painel Permissões, clique em Adicionar participantes.
No campo Novos participantes, insira o e-mail da conta de serviço com a qual você quer compartilhar a imagem. Por exemplo,
test123@example.domain.com
.Na lista Papel, escolha Compute e selecione Usuário da imagem do Compute.
Opcional: para controlar ainda mais o acesso do usuário aos recursos do Google Cloud , adicione a vinculação de papel condicional.
Clique em Salvar.
Volte para o projeto da conta de serviço.
IMAGE_NAME
: o nome da imagem que você quer compartilhar;SERVICE_ACCOUNT_EMAIL
: o e-mail da conta de serviço.Receba a política do IAM de uma imagem usando o método
images.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Substitua:
PROJECT_ID
: o ID do projeto de imagem;IMAGE_NAME
: o nome da imagem que você quer compartilhar.
Para conceder o papel
roles/compute.imageUser
à conta de serviço, edite a política com um editor de texto:{ "bindings": [ { "role": "roles/compute.imageUser", "members": [ "serviceAccount:SERVICE_ACCOUNT_EMAIL" ] } ] }
Substitua
SERVICE_ACCOUNT_EMAIL
pelo e-mail da conta de serviço.Grave a política atualizada usando o método
images.setIamPolicy
. No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Substitua:
PROJECT_ID
: o ID do projeto de imagem;IMAGE_NAME
: o nome da imagem que você quer compartilhar.
Agora é possível criar um modelo de instância com base em uma imagem do projeto de imagem e criar um MIG com base no modelo da instância. ,
Encontre o ID da sua organização usando o comando
gcloud organization list
:gcloud organizations list
Para ver as configurações de políticas existentes da sua organização, use o comando
gcloud resource-manager org-policies describe
:gcloud resource-manager org-policies describe \ compute.storageResourceUseRestrictions \ --organization ORGANIZATION_ID > org-policy.yaml
Substitua ORGANIZATION_ID pelo ID numérico de 12 dígitos da organização.
Abra o arquivo
org-policy.yaml
em um editor de texto e modifique a restriçãocompute.storageResourceUseRestrictions
. Adicione as restrições necessárias ou remova as restrições de que você não precisa mais. Quando terminar de editar o arquivo, salve as alterações. Por exemplo, defina a entrada de restrição a seguir no arquivo de política:constraint: compute.storageResourceUseRestrictions listPolicy: allowedValues: - under:organization/organization-id
Aplique o arquivo
org-policy.yaml
à sua organização usando o comandogcloud resource-manager org-policies set-policy
:gcloud resource-manager org-policies set-policy \ --organization=ORGANIZATION_ID org-policy.yaml
Substitua ORGANIZATION_ID pelo ID numérico de 12 dígitos da organização.
No Console do Google Cloud, acesse a página Imagens do projeto de imagem.
Marque as caixas de seleção ao lado das imagens que você quer atualizar.
Para expandir a coluna de permissões, clique em Mostrar painel de informações.
Expanda o papel de que você quer remover usuários.
Para remover um usuário desse papel, clique em
Excluir.IMAGE_NAME
: o nome da imagem. Por exemplo,my_image
MEMBER
: a identidade que você quer remover.Precisa estar no formato
user|group|serviceAccount:email
oudomain:domain
. Exemplo:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
ROLE
: o papel de que você quer remover a identidade.Leia a política atual com o método
images.getIamPolicy
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Substitua:
PROJECT_ID
: o ID do projeto a que esta imagem pertence;IMAGE_NAME
: o nome da imagem.
O Compute Engine retorna a política atual na resposta.
Para remover membros e os respectivos papéis associados, edite a política com um editor de texto.
Grave a política atualizada usando o método
images.setIamPolicy
. No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/global/images/IMAGE_NAME:setIamPolicy
Substitua:
PROJECT_ID
: o ID do projeto a que esta imagem pertence;IMAGE_NAME
: o nome da imagem.
- Saiba mais sobre o IAM.
- Veja uma lista de papéis do IAM do Compute Engine.
- Leia sobre imagens.
- Saiba como criar uma instância usando uma imagem compartilhada.
- Saiba como criar um disco permanente de inicialização independente.
- Saiba como usar esse papel nas implantações do Deployment Manager.
- Adote o princípio do privilégio mínimo concedendo acesso a recursos específicos do Compute Engine, e não a um projeto inteiro.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções exigidas
Para conseguir as permissões necessárias para gerenciar o acesso a imagens personalizadas, peça ao administrador para conceder a você os seguintes papéis do IAM:
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para gerenciar o acesso a imagens personalizadas. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para gerenciar o acesso a imagens personalizadas:
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Limitações
Em imagens, não é possível conceder papéis ao tipo de membro especial
allUsers
.Conceder permissão para criar imagens personalizadas
É possível conceder aos usuários a capacidade de criar imagens personalizadas na sua organização ou projeto.
O Compute Engine oferece o papel Administrador do Computa Storage (
roles/compute.storageAdmin
) predefinido que pode ser atribuído aos usuários para que eles possam criar, excluir e gerenciar recursos relacionados ao armazenamento, incluindo imagens, discos e instantâneos. Se você precisar de um papel que permita somente a criação de imagens, crie um papel personalizado. No seu papel personalizado, inclua as seguintes permissões:Se você permitir que um usuário crie imagens personalizadas no nível da organização, ele poderá criar imagens personalizadas para qualquer projeto dentro da organização.
Console
gcloud
Para conceder o papel
roles/compute.storageAdmin
em um nível de organização, use o comandogcloud organizations add-iam-policy-binding
:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member='MEMBER' \ --role='roles/compute.storageAdmin'
Para conceder o papel
roles/compute.storageAdmin
para envolvidos no projeto, use o comandogcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/compute.storageAdmin'
Substitua:
REST
Conceder permissões para excluir imagens personalizadas
Dependendo das suas necessidades, é possível permitir que os usuários:
Com a permissão no nível do projeto, os usuários podem excluir todas as imagens que pertencem a ele. Já a concessão de permissão no nível da organização permite que o usuário exclua as imagens dessa organização, seja qual for o projeto.
O Compute Engine oferece o papel Administrador do Computa Storage (
roles/compute.storageAdmin
) predefinido que pode ser atribuído aos usuários para que eles possam criar, excluir e gerenciar recursos relacionados ao armazenamento, incluindo imagens, discos e instantâneos. Se você precisar de um papel que permita somente a exclusão de imagens, crie um papel personalizado. No seu papel personalizado, inclua as permissões a seguir:Console
Para conceder permissão para excluir imagens específicas, faça o seguinte:
Para conceder permissão para excluir imagens de um projeto ou organização, faça o seguinte:
gcloud
Para conceder permissões para excluir imagens no nível da organização, use o comando
gcloud organizations add-iam-policy-binding
:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member='MEMBER' \ --role='ROLE'
Para conceder permissões para excluir imagens em um nível de projeto, use o comando
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='ROLE'
Para conceder permissões para excluir uma imagem específica, use o comando
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Substitua:
REST
Conceder permissões para compartilhar imagens personalizadas dentro de uma organização
Se seu projeto pertencer a uma organização, ela poderá ter vários outros projetos com diferentes níveis de acesso a outros projetos. Ao criar imagens personalizadas, é possível compartilhá-las com outros usuários de outros projetos dentro da organização.
O Compute Engine oferece os papéis predefinidos do IAM a seguir que podem ser usados para o gerenciamento de imagens:
Como alternativa, também é possível criar seu próprio papel personalizado do IAM.
Como prática recomendada, mantenha todas as suas imagens personalizadas em um único projeto dedicado para hospedá-las. Isso melhora o gerenciamento dessas imagens e permite conceder às equipes específicas acesso apenas às imagens de que elas precisam. Também é possível conceder às equipes acesso a todo o projeto de imagem, mas como o acesso da equipe a todo o projeto de imagem viola o princípio do menor privilégio, nós não o recomendamos.
No exemplo abaixo, mostramos como adicionar um grupo para que os usuários desse grupo tenham acesso à imagem.
Console
Para permitir que os usuários lancem imagens personalizadas compartilhadas no Console do Google Cloud, conceda a eles o papel de IAM de leitor (
roles/viewer
) no projeto de imagem. Conceder esse papel ajuda a garantir que as imagens compartilhadas apareçam na lista de seleção de imagens.gcloud
Para atualizar a política do IAM de uma imagem específica, use o comando
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Substitua:
Como opção, para permitir que os usuários vejam essas imagens compartilhadas
images.list
solicitações, conceda aos usuários o papel de leitor do IAM (roles/viewer
) do projeto de imagem usandogcloud projects add-iam-policy-binding
comando para criar um anexo da VLAN de monitoramento. Se você não precisar que seus usuários vejam a lista de imagens compartilhadas, pule esta etapa.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/viewer'
REST
Como opção, para permitir que os usuários vejam essas imagens compartilhadas nas solicitações
images.list
, conceda a eles o papel de leitor do IAM (roles/viewer
) para o projeto de imagem usando o métodoprojects.setIamPolicy
: Se você não precisar que seus usuários vejam a lista de imagens compartilhadas, pule esta etapa.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Conceder permissões para compartilhar imagens personalizadas entre organizações
Criar um catálogo de imagens personalizadas pode ser útil para compartilhar imagens com parceiros, usuários ou contratados que estão fora da sua organização. Para compartilhar suas imagens com usuários fora da organização, adicione-as como usuários da imagem ao seu projeto:
Console
Para permitir que os usuários lancem imagens personalizadas compartilhadas no Console do Google Cloud, conceda a eles o papel de IAM de leitor (
roles/viewer
) no projeto de imagem. Conceder esse papel ajuda a garantir que as imagens compartilhadas apareçam na lista de seleção de imagens.gcloud
Para conceder o papel
roles/compute.imageUser
aos usuários, use o comandogcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='roles/compute.imageUser'
Substitua:
Como opção, para permitir que os usuários vejam essas imagens compartilhadas nas solicitações
images.list
, conceda aos usuários o papel de leitor do IAM (roles/viewer
) do projeto de imagem usando o comandogcloud projects add-iam-policy-binding
. Se você não precisar que seus usuários vejam a lista de imagens compartilhadas, pule esta etapa.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/viewer'
REST
Conceder permissões para compartilhar imagens personalizadas publicamente
É possível compartilhar suas imagens personalizadas com todos os usuários autenticados do Compute Engine, independentemente de eles fazerem parte da sua organização ou projeto.
Só é possível compartilhar recursos, como imagens, com todos os usuários autenticados. Não é possível compartilhar projetos ou organizações com todos os usuários autenticados. Essa restrição e a hierarquia de recursos ajudam a impedir que uma organização compartilhe acidentalmente todo o projeto com todos os usuários autenticados do Compute Engine.
O exemplo a seguir mostra como conceder a todos os usuários autenticados do Compute Engine o papel de usuário de imagens do Compute (
roles/compute.imageUser
) a uma imagem personalizada.gcloud
Para tornar públicas as imagens, use o comando
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='allAuthenticatedUsers' \ --role='roles/compute.imageUser'
Substitua
IMAGE_NAME
pelo nome do recurso, por exemplo,my_image
.REST
Conceda acesso às imagens a um grupo gerenciado de instâncias
O Compute Engine permite criar grupos de instâncias gerenciadas ou não gerenciadas. Se você criar um grupo de instâncias gerenciadas (MIG), o Compute Engine usará o agente de serviço das APIs do Google para chamar a API Compute Engine e executar ações relacionadas ao grupo, como recriar instâncias não íntegras e atualizar instâncias.
Se você quiser criar um MIG usando uma imagem de outro projeto, conceda o papel de usuário da imagem do Compute (
roles/compute.imageUser
) à conta de serviço das APIs pertencentes ao projeto que cria o MIG. Exemplo:Depois de conceder o papel de Usuário, acesse a imagem dos outros projetos usando o console ou o URL da imagem ao criar o modelo de instância para o grupo gerenciado.
Digite o endereço de e-mail da conta de serviço
Depois de recuperar o endereço de e-mail da conta de serviço, acesse uma das seguintes seções:
Conceder a um MIG acesso a todas as imagens em um projeto
Agora que você tem o endereço de e-mail de uma conta de serviço, é possível adicionar o endereço a outro projeto e conceder a ele o papel de Usuário de imagem do Compute (
roles/compute.imageUser
).Console
Agora é possível criar um modelo de instância com base em uma imagem do projeto de imagem e criar um MIG com base no modelo da instância. ,
gcloud
Adicione uma conta de serviço do projeto de imagem usando o comando
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' --role='roles/compute.imageUser'
Substitua:
Agora é possível criar um modelo de instância com base em uma imagem do projeto de imagem e criar um MIG com base no modelo da instância. ,
REST
Conceder a um MIG acesso a imagens específicas em um projeto
Agora que você tem o endereço de e-mail de uma conta de serviço, é possível adicionar o endereço a outro projeto e conceder o papel Usuário de imagens do Compute (
roles/compute.imageUser
) para determinadas imagens.Console
Agora é possível criar um modelo de instância com base em uma imagem do projeto de imagem e criar um MIG com base no modelo da instância. ,
gcloud
Para conceder acesso a uma imagem específica a uma conta de serviço, use o comando
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \ --role='roles/compute.imageUser'
Substitua:
Agora é possível criar um modelo de instância com base em uma imagem do projeto de imagem e criar um MIG com base no modelo da instância. ,
REST
Controlar o uso de imagens e snapshots compartilhados
Depois de compartilhar suas imagens com outros usuários, é possível controlar onde esses usuários empregam esses recursos na sua organização. Defina a restrição
constraints/compute.storageResourceUseRestrictions
para definir os projetos em que os usuários têm permissão para usar seus recursos de armazenamento.Você precisa ter permissão para modificar as políticas da organização a fim de definir essas restrições. Por exemplo, o papel
resourcemanager.organizationAdmin
tem permissão para definir essas restrições.Quando terminar de configurar as restrições na política da organização, teste-as para garantir que elas estão atendendo às suas necessidades.
Usar imagens de outro projeto
Se alguém concedeu a você acesso a uma ou mais imagens em outro projeto, é possível acessar essas imagens no projeto especificando o projeto de imagem em suas solicitações.
Por exemplo, para criar uma instância usando uma imagem compartilhada de outro projeto, siga as etapas listadas em Criar uma instância usando uma imagem compartilhada.
Também é possível criar volumes de disco de inicialização a partir de imagens em outro projeto. Para mais informações sobre como criar um disco de inicialização a partir de uma imagem, consulte Como criar um disco permanente de inicialização independente.
Revogue o acesso a imagens compartilhadas
Depois que o usuário não precisar mais acessar seus recursos do Compute Engine, revogue o acesso dele usando o console do Google Cloud, a CLI do Google Cloud ou o REST.
Console
gcloud
Para remover um usuário de um papel em uma imagem, use o comando
gcloud compute images remove-iam-policy-binding
com as sinalizações--member
e--role
:gcloud compute images remove-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Substitua:
Se você quiser remover o acesso a um recurso que está atualmente na versão Beta, use um comando
gcloud beta compute
.REST
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-02-06 UTC.
-