Nesta página, explicamos como desativar e ativar chaves de conta de serviço usando o console doGoogle Cloud , a Google Cloud CLI, a API Identity and Access Management ou uma das bibliotecas de cliente do Google Cloud.
Antes de começar
Ative a API IAM.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis.Configure a autenticação.
Selecione a guia para como planeja usar as amostras nesta página:
gcloud
No console do Google Cloud , ative o Cloud Shell.
Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
Java
Para usar os exemplos do Java nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud .
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
-
Entenda as credenciais da conta de serviço.
Funções exigidas
Para ter as permissões necessárias para desativar e ativar as chaves da conta de serviço,
peça ao administrador que conceda a você o
papel do IAM Administrador da chave da conta de serviço (roles/iam.serviceAccountKeyAdmin)
no projeto ou a conta de serviço com as chaves que você quer
gerenciar.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Os papéis básicos do IAM também contêm permissões para gerenciar as chaves da conta de serviço. Não conceda papéis básicos em um ambiente de produção, recomendamos que você faça isso em um ambiente de desenvolvimento ou teste.
Desativar uma chave da conta de serviço
Desativar uma chave da conta de serviço impede o uso dela na autenticação com as APIs do Google. É possível ativar uma chave desativada a qualquer momento.
Antes de excluir uma chave de conta de serviço, recomendamos que você desative a chave e espere até ter certeza de que a chave não é mais necessária. Depois, exclua a chave.
É possível ver as chaves desativadas no console do Google Cloud , mas não é possível usar o console doGoogle Cloud para desativar uma chave. Use a CLI gcloud ou a API REST.
gcloud
Execute o comando gcloud iam service-accounts keys disable
para desativar uma chave de conta de serviço.
Substitua os seguintes valores:
KEY_ID: o ID da chave a ser desativada. Para encontrar o ID da chave, liste todas as chaves da conta de serviço, identifique a chave que você quer desativar e copie o ID.SA_NAME: o nome da conta de serviço a que a chave pertence.PROJECT_ID: o ID do projeto do Google Cloud .
gcloud iam service-accounts keys disable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --project=PROJECT_ID
Saída:
Disabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.iam.gserviceaccount.com]
Java
Para saber como instalar e usar a biblioteca de cliente do IAM, consulte Bibliotecas de cliente do IAM. Para mais informações, consulte a documentação de referência da API Java do IAM.
Para autenticar no IAM, configure o Application Default Credentials. Para mais informações, consulte Antes de começar.
REST
O método
projects.serviceAccounts.keys.disable
desativa uma chave de conta de serviço.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto são strings alfanuméricas, comomy-project.SA_NAME: o nome da conta de serviço com a chave que você quer desativar.KEY_ID: o ID da chave que você quer desativar. Para encontrar o ID da chave, liste todas as chaves da conta de serviço, identifique a chave que você quer desativar e copie o ID do final denamecampo O ID da chave é tudo o que vem depois dekeys/.
Método HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID:disable
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
}
Ativar uma chave de conta de serviço
Depois de desativar uma chave da conta de serviço, é possível ativá-la a qualquer momento e usá-la para autenticação com as APIs do Google.
Não é possível usar o console Google Cloud para ativar chaves de conta de serviço. Use a CLI gcloud ou a API REST.
gcloud
Execute o comando gcloud iam service-accounts keys enable
para ativar a chave da conta de serviço.
Substitua os seguintes valores:
KEY_ID: o ID da chave a ser ativada. Para encontrar o ID da chave, liste todas as chaves da conta de serviço, identifique a chave que você quer ativar e copie o ID.SA_NAME: o nome da conta de serviço a que a chave pertence.PROJECT_ID: o ID do projeto do Google Cloud .
gcloud iam service-accounts keys enable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com\ --project=PROJECT_ID
Saída:
Enabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.iam.gserviceaccount.com]
Java
Para saber como instalar e usar a biblioteca de cliente do IAM, consulte Bibliotecas de cliente do IAM. Para mais informações, consulte a documentação de referência da API Java do IAM.
Para autenticar no IAM, configure o Application Default Credentials. Para mais informações, consulte Antes de começar.
REST
O método
projects.serviceAccounts.keys.enable
ativa uma chave de conta de serviço.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto são strings alfanuméricas, comomy-project.SA_NAME: o nome da conta de serviço com a chave que você quer ativar.-
KEY_ID: o ID da chave que você quer ativar. Para encontrar o ID da chave, liste todas as chaves da conta de serviço, identifique a chave que você quer ativar e copie o ID do final denamecampo O ID da chave é tudo o que vem depois dekeys/.
Método HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID:enable
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
}
A seguir
- Aprenda como excluir chaves de contas de serviço.
- Saiba como listar e receber chaves de conta de serviço.
- Saiba como usar chaves de contas de serviço para autenticar como uma conta de serviço.
- Saiba mais sobre alternativas às chaves de contas de serviço para autenticação.
- Noções básicas sobre as práticas recomendadas para gerenciar chaves de conta de serviço.
Faça um teste
Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também ganham US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Comece a usar sem custo financeiro