Neste documento, descrevemos os pré-requisitos para importar e exportar imagens no Compute Engine.
É possível compartilhar instâncias de máquina virtual (VM), arquivos de disco virtual e imagens de máquina de outros ambientes de nuvem ou do ambiente local, importando e exportando imagens do Cloud Storage. A lista de verificação a seguir resume os requisitos que você precisa atender antes de importar e exportar imagens:
- Configurar o acesso a um bucket do Cloud Storage
- Conceda os papéis necessários à sua conta de usuário
- Conceder papéis necessários à conta de serviço do Cloud Build
- Conceder os papéis necessários à conta de serviço do Compute Engine
Antes de começar
-
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 Trusted Cloud by S3NS .
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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Instale a Google Cloud CLI e faça login nela com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
- Set a default region and zone.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI e faça login nela com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Trusted Cloud .
Configurar o acesso a um bucket do Cloud Storage
Você precisa ter acesso a um bucket do Cloud Storage que a ferramenta de importação ou exportação pode usar. Se você não tiver um bucket do Cloud Storage, consulte Criar um bucket do Cloud Storage.
Para configurar o acesso ao bucket do Cloud Storage, consulte Conceder papéis necessários à conta e conta de serviço do Compute Engine.
Se você estiver exportando uma imagem, a ferramenta de exportação fará o upload da imagem para o bucket do Cloud Storage.
Se você estiver importando uma imagem, será necessário primeiro fazer o upload dela para o bucket do Cloud Storage. A ferramenta de importação faz o download do arquivo do bucket do Cloud Storage para o Compute Engine e, em seguida, cria uma imagem no Compute Engine desse arquivo de disco.
Conceder os papéis do IAM necessários
A ferramenta de importação e exportação de imagens de VM requer as seguintes contas para executar a operação em nome delas:
- Conta de usuário. A conta da qual você está executando os comandos de importação e exportação.
- Conta de serviço do Cloud Build. Uma conta de serviço padrão do Cloud Build criada quando a ferramenta de importação ou exportação ativa a API Cloud Build.
- Conta de serviço do Compute Engine. Uma conta de serviço padrão ou personalizada do Compute Engine necessária para o fluxo de trabalho de importação e exportação.
Conceda os papéis necessários à sua conta de usuário
Para importar ou exportar imagens, sua conta de usuário requer os seguintes papéis:
- Papel de administrador de armazenamento (
roles/storage.admin
) - Papel de leitor (
roles/viewer
) - Papel de Administrador de projetos do IAM (
roles/resourcemanager.projectIamAdmin
) - Papel de editor do Cloud Build (
roles/cloudbuild.builds.editor
)
Console
Acesse a página IAM e administrador do projeto ou da organização.
Localize sua conta e clique em
Editar.Na lista Selecionar um papel, selecione os seguintes papéis:
- Cloud Storage > Administrador do Storage
- Projeto > Leitor
- Gerente de recursos > Administrador de IAM do projeto
- Cloud Build > Editor do Cloud Build
Salve as alterações.
gcloud
Nas etapas a seguir, use o comando
gcloud projects add-iam-policy-binding
para conceder os papéis necessários no nível do projeto.Conceda o papel
roles/storage.admin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/storage.admin'
Substitua:
PROJECT_ID
: o ID do projetoTrusted Cloud do projetoMEMBER
: a conta que executa os comandos de importação e exportação, por exemplo,user:export-user@gmail.com
Conceda o papel
roles/viewer
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/viewer'
Conceda o papel
roles/resourcemanager.projectIamAdmin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/resourcemanager.projectIamAdmin'
Conceda o papel
roles/cloudbuild.builds.editor
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/cloudbuild.builds.editor'
REST
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 conceder os papéis necessários à sua conta, edite a política com um editor de texto.
Por exemplo, para conceder o papel necessário à sua conta
user:export-user@gmail.com
, adicione a seguinte vinculação à política:{ { "role":"roles/storage.admin", "member":[ "user:export-user@gmail.com" ] } { "roles":"roles/viewer", "member":[ "user:export-user@gmail.com" ] } { "roles":"roles/resourcemanager.projectIamAdmin", "member":[ "user:export-user@gmail.com" ] } { "roles":"roles/cloudbuild.builds.editor", "member":[ "user:export-user@gmail.com" ] } }
Para gravar a política atualizada, use 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
Conceder papéis necessários à conta de serviço do Cloud Build
Quando você usa o console Trusted Cloud ou a CLI gcloud para importar ou exportar imagens pela primeira vez, a ferramenta tenta ativar a API Cloud Build e conceder os papéis necessários à Conta de serviço do Cloud Build.
- Papel Criador de token da conta de serviço
(
roles/iam.serviceAccountTokenCreator
) - Papel usuário da conta de serviço
(
roles/iam.serviceAccountUser
) - Papel Administrador do Compute (
roles/compute.admin
)Para evitar a concessão do papel de administrador do Compute, crie um papel personalizado com as seguintes permissões do IAM do Compute Engine e conceda o papel à Conta de serviço do Cloud Build:
- Papel Usuário de rede do Compute (
roles/compute.networkUser
)Esse papel é necessário somente quando você importa ou exporta imagens que usam a VPC compartilhada.
No projeto de VPC compartilhada, conceda o papel de usuário da rede do Compute à conta de serviço do Cloud Build localizada no projeto em que você importa ou exporta imagens.
No entanto, é possível conceder estes papéis manualmente para garantir que as permissões necessárias estejam aplicadas:
Console
Depois de ativar a API Cloud Build, acesse a página IAM e administrador do projeto ou da organização.
Localize a conta de serviço do Cloud Build e clique em
Editar.Se os papéis necessários não estiverem listados, faça o seguinte:
- Clique em Adicionar outro papel.
Na lista Selecionar um papel, selecione os papéis necessários que você quer adicionar:
- Service Account > Criador de token da conta de serviçor
- Service Account > Usuário da conta de serviço
Compute Engine > Administrador do Compute
Como alternativa, é possível selecionar o papel Personalizado. Consulte Permissões necessárias para o papel personalizado anteriormente neste documento.
Clique em Salvar para armazenar as mudanças.
Opcional: se você estiver importando ou exportando imagens que usam VPC compartilhada, selecione o papel Usuário de rede do Compute no projeto VPC compartilhado:
- No seletor de projetos na parte superior do console, selecione o projeto host da VPC compartilhada.
- Na página IAM e administrador, clique em Conceder acesso.
- No campo Novos principais, insira o endereço de e-mail da conta de serviço do Cloud Build.
SubstituaPROJECT_NUMBER@cloudbuild.s3ns-system.iam.gserviceaccount.com'
PROJECT_NUMBER
pelo número exclusivo do projeto em que você importa ou exporta imagens. - Na lista Selecionar um papel, selecione o papel Compute Engine > Usuário da rede do Compute.
- Clique em Salvar para armazenar as mudanças.
gcloud
Nas etapas a seguir, use o comando
gcloud projects add-iam-policy-binding
para conceder os papéis necessários no nível do projeto.Conceda o papel
roles/compute.admin
à conta de serviço do Cloud Build. Para evitar conceder o papelroles/compute.admin
, crie um papel personalizado com as permissões necessárias e conceda esse papel à conta de serviço do Cloud Build. Consulte Permissões necessárias para o papel personalizado anteriormente neste documento.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER@cloudbuild.s3ns-system.iam.gserviceaccount.com' \ --role='roles/compute.admin'
Substitua:
PROJECT_ID
: o ID do projeto doTrusted Cloud do seu projetoPROJECT_NUMBER
: o número do projetoTrusted Cloud do seu projeto
Conceda o papel
roles/iam.serviceAccountUser
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER@cloudbuild.s3ns-system.iam.gserviceaccount.com' \ --role='roles/iam.serviceAccountUser'
Conceda o papel
roles/iam.serviceAccountTokenCreator
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER@cloudbuild.s3ns-system.iam.gserviceaccount.com' \ --role='roles/iam.serviceAccountTokenCreator'
Opcional: se você estiver exportando ou importando imagens que usam VPCs compartilhadas, conceda o papel
roles/compute.networkUser
:gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER@cloudbuild.s3ns-system.iam.gserviceaccount.com' \ --role='roles/compute.networkUser'
Substitua:
HOST_PROJECT_ID
: o ID do projeto host em que a VPC compartilhada está localizada.PROJECT_NUMBER
: o número exclusivo do projeto em que você importa ou exporta imagens
REST
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 conceder os papéis necessários à sua conta, edite a política com um editor de texto.
Por exemplo, para conceder os papéis necessários a
serviceAccount:12345@cloudbuild.s3ns-system.iam.gserviceaccount.com
, adicione a seguinte vinculação à política:{ { "role":"roles/compute.admin", "member":[ "serviceAccount:12345@cloudbuild.s3ns-system.iam.gserviceaccount.com" ] } { "roles":"roles/iam.serviceAccountUser", "member":[ "serviceAccount:12345@cloudbuild.s3ns-system.iam.gserviceaccount.com" ] } { "roles":"roles/iam.serviceAccountTokenCreator", "member":[ "serviceAccount:12345@cloudbuild.s3ns-system.iam.gserviceaccount.com" ] } }
Para evitar a concessão do papel
roles/compute.admin
, crie um papel personalizado com as permissões necessárias e conceda esse papel à conta de serviço do Cloud Build. Consulte Permissões necessárias para o papel personalizado anteriormente neste documento.Opcional: se você estiver exportando ou importando imagens que usam VPC compartilhada, conceda o papel
roles/compute.networkUser
no projeto de VPC compartilhada.POST https://cloudresourcemanager.googleapis.com/v1/projects/HOST_PROJECT_ID:getIamPolicy
Substitua
HOST_PROJECT_ID
pelo ID do projeto da VPC compartilhada.Adicione a seguinte vinculação do IAM à conta de serviço do Cloud Build:
{ { "roles":"roles/compute.networkUser", "member":[ "serviceAccount:12345@cloudbuild.s3ns-system.iam.gserviceaccount.com" ] } }
Para gravar a política atualizada, use 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
Para mais informações sobre como gerenciar o acesso a recursos, consulte Como conceder, alterar e revogar o acesso a recursos.
Conceder os papéis necessários à conta de serviço do Compute Engine
Quando você usa o console do Trusted Cloud ou a CLI gcloud para importar ou exportar imagens pela primeira vez, a ferramenta tenta conceder os papéis necessários à conta de serviço padrão do Compute Engine.
Dependendo da configuração da política da organização, a conta de serviço padrão pode receber automaticamente o papel de Editor no projeto. É altamente recomendável desativar a concessão automática de papéis aplicando a restrição da política da organização
iam.automaticIamGrantsForDefaultServiceAccounts
. Se você criou a organização após 3 de maio de 2024, essa restrição será aplicada por padrão.Se você desativar a concessão automática de papéis, precisará decidir quais papéis conceder às contas de serviço padrão e, em seguida, conceder esses papéis por conta própria.
Se a conta de serviço padrão já tiver o papel de Editor, recomendamos que você o substitua por papéis menos permissivos.
Sua conta de serviço do Compute Engine precisa ter os seguintes papéis:
- Papel de administrador do Compute Storage
(
roles/compute.storageAdmin
): necessário para exportar e importar imagens de VM - Papel de leitor de objetos do Storage
(
roles/storage.objectViewer
): necessário para importar imagens de VM - Papel de administrador de objetos do Storage
(
roles/storage.objectAdmin
): obrigatório para exportar imagens de VM
Console
Acesse a página IAM e administrador do projeto ou da organização.
Localize a conta de serviço do Compute Engine e clique em
Editar.Na lista Selecionar um papel, selecione os seguintes papéis:
- Compute Engine > Administrador do Compute Storage
- Cloud Storage > Visualizador de objetos do Storage
- Cloud Storage > Administrador de objetos do Storage
Salve as alterações.
gcloud
Nas etapas a seguir, use o comando
gcloud projects add-iam-policy-binding
para conceder os papéis necessários no nível do projeto.Conceda o papel
roles/compute.storageAdmin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com' \ --role='roles/compute.storageAdmin'
Se você estiver importando uma imagem, conceda o papel
roles/storage.objectViewer
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com' \ --role='roles/storage.objectViewer'
Se você estiver exportando uma imagem, conceda o papel
roles/storage.objectAdmin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com' \ --role='roles/storage.objectAdmin'
REST
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 conceder os papéis necessários à sua conta, edite a política com um editor de texto.
Por exemplo, para conceder os papéis necessários a
serviceAccount:12345-compute@developer.s3ns-system.iam.gserviceaccount.com
para importar uma imagem, adicione a seguinte vinculação à política:{ { "role":"roles/compute.storageAdmin", "member":[ "serviceAccount:12345-compute@developer.s3ns-system.iam.gserviceaccount.com" ] } { "roles":"roles/storage.objectViewer", "member":[ "serviceAccount:12345-compute@developer.s3ns-system.iam.gserviceaccount.com" ] } }
Para gravar a política atualizada, use 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
Se você não quiser usar a conta de serviço padrão do Compute Engine, especifique uma conta de serviço gerenciada pelo usuário usando a sinalização
--compute-service-account
nos comandosgcloud
importar e exportar. Para mais informações sobre como usar a conta de serviço personalizada do Compute Engine, consulte os seguintes recursos:- Como importar discos virtuais com contas de serviço personalizadas
- Como importar dispositivos virtuais com contas de serviço personalizadas
- Como importar imagens de máquina de dispositivos virtuais com contas de serviço personalizadas
- Como exportar imagens personalizadas com contas de serviço personalizadas
A seguir
- Exportar imagens personalizadas para o Cloud Storage.
- Compartilhe suas imagens entre projetos.
- Escolha um método de importação.
- Como importar discos virtuais
- Importação de dispositivos virtuais
- Como importar imagens de máquina a partir de dispositivos virtuais
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-08-21 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-21 UTC."],[[["\u003cp\u003eThe Compute Engine image import feature is now located within Migrate to Virtual Machines, and it is recommended to use this new feature for importing virtual disks to Google Cloud.\u003c/p\u003e\n"],["\u003cp\u003eImporting and exporting images requires access to a Cloud Storage bucket, which involves uploading images to the bucket for import or allowing the export tool to upload images to the bucket, and the proper authentication must be set for each process.\u003c/p\u003e\n"],["\u003cp\u003eThe VM image import and export process involves user accounts, Cloud Build service accounts, and Compute Engine service accounts, each of which must have specific IAM roles granted, including Storage Admin, Viewer, Project IAM Admin, and Cloud Build Editor for the user account.\u003c/p\u003e\n"],["\u003cp\u003eCloud Build service accounts require roles like Service Account Token Creator, Service Account User, and Compute Admin, or alternatively a custom role with specified Compute Engine permissions, along with Compute Network User for Shared VPC usage.\u003c/p\u003e\n"],["\u003cp\u003eThe Compute Engine service account needs Compute Storage Admin role, Storage Object Viewer role for image imports, and Storage Object Admin role for image exports, and there is an option to enforce policies to manage default service account grants to enhance security.\u003c/p\u003e\n"]]],[],null,[]] -