Esta página explica como listar e obter chaves de contas de serviço através da Google Cloud consola, da CLI Google Cloud, da API Identity and Access Management ou de uma das bibliotecas de cliente do Google Cloud.
Antes de começar
Enable the IAM API.
Configurar autenticação.
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
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C#
Para usar os .NET exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Google Cloud documentação de autenticação.
C++
Para usar os C++ exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Google Cloud documentação de autenticação.
Ir
Para usar os Go exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Google Cloud documentação de autenticação.
Java
Para usar os Java exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Google Cloud documentação de autenticação.
Python
Para usar os Python exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Google Cloud documentação de autenticação.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Compreenda as credenciais da conta de serviço.
Funções necessárias
Para obter as autorizações de que precisa para listar e obter chaves de contas de serviço, peça ao seu administrador para lhe conceder a função do IAM Ver contas de serviço (
roles/iam.serviceAccountViewer
) no projeto ou na conta de serviço cujas chaves quer gerir. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Para mais informações, consulte o artigo Funções das contas de serviço.
As funções básicas do IAM também contêm autorizações para gerir chaves de contas de serviço. Não deve conceder funções básicas num ambiente de produção, mas pode concedê-las num ambiente de desenvolvimento ou teste.
Liste as chaves de contas de serviço
Pode listar as chaves de contas de serviço para uma conta de serviço através da Google Cloud consola, da CLI gcloud, do método
serviceAccount.keys.list()
ou de uma das bibliotecas cliente.O método
serviceAccount.keys.list()
é usado frequentemente para auditar contas de serviço e chaves, ou para criar ferramentas personalizadas para gerir contas de serviço.Para saber a que projeto pertence a sua chave, pode transferi-la como um ficheiro JSON e consultar esse ficheiro.
Pode ver chaves listadas que não criou. Estas são chaves criadas pela Google e usadas pela API Service Account Credentials. Para saber mais, consulte os Google-owned and managed key pares.
Consola
- Na Google Cloud consola, aceda à página Contas de serviço.
Os passos restantes aparecem na Google Cloud consola.
- Selecione um projeto.
- Na página Contas de serviço, clique no endereço de email da conta de serviço cujas chaves quer listar.
- Clique em Chaves. A Google Cloud consola apresenta uma lista de chaves para a conta de serviço.
gcloud
Execute o comando
gcloud iam service-accounts keys list
para listar as chaves da conta de serviço.Substitua os seguintes valores:
SA_NAME
: o nome da conta de serviço para a qual listar chaves.PROJECT_ID
: o ID do seu Google Cloud projeto.
gcloud iam service-accounts keys list \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Saída:
KEY_ID CREATED_AT EXPIRES_AT DESATIVADA DISABLE_REASON EXTENDED_STATUS 8e6e3936d7024646f8ceb39792006c07f4a9760c 2021-01-01T21:01:42Z 9999-12-31T23:59:59Z 937c98f870f5c8db970af527aa3c12fd88b1c20a 2021-01-01T20:55:40Z 9999-12-31T23:59:59Z True INICIADO PELO UTILIZADOR 937c98f870f5c8db970af527aa3c12fd88b1c20a 2021-01-01T20:55:40Z 9999-12-31T23:59:59Z True EXPOSTO ['key':'SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED' 'value':'{exposure URL}'] C++
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API C++ IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
C#
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API C# IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Go
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Go IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Java
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Java IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Python
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Python IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
REST
O método
projects.serviceAccounts.keys.list
lista todas as chaves de conta de serviço de uma conta de serviço.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: O ID do seu Google Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project
.SA_NAME
: o nome da conta de serviço cujas chaves quer listar.KEY_TYPES
: opcional. Uma lista separada por vírgulas de tipos de chaves que quer incluir na resposta. O tipo de chave indica se uma chave é gerida pelo utilizador (USER_MANAGED
) ou gerida pelo sistema (SYSTEM_MANAGED
). Se ficar em branco, são devolvidas todas as chaves.
Método HTTP e URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "keys": [ { "name": "projects/my-project/serviceAccounts/[email protected]/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c", "validAfterTime": "2020-03-04T17:39:47Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/[email protected]/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8", "validAfterTime": "2020-03-31T23:50:09Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/[email protected]/keys/b97699f042b8eee6a846f4f96259fbcd13e2682e", "validAfterTime": "2020-05-17T18:58:13Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED", "disabled": true "disable_reason": "SERVICE_ACCOUNT_KEY_DISABLE_REASON_EXPOSED" "extended_status": "SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED" "extended_status_message": "exposed at: https://www.github.com/SomePublicRepo" } ] }
Obter uma chave de conta de serviço
Pode usar a CLI gcloud ou a API REST para obter os dados da chave pública de uma chave de conta de serviço. Além disso, pode usar a Google Cloud consola, a CLI gcloud ou a API REST para obter metadados para a chave, como o algoritmo que a chave usa e se a chave é gerida por si ou pela Google.
Algumas aplicações ou ferramentas podem precisar de acesso aos dados da chave pública ou aos metadados de uma chave de conta de serviço para fins como auditoria e interoperabilidade com sistemas externos. Por exemplo, o Terraform pode ter de verificar se o estado de uma chave de conta de serviço no Google Cloud corresponde ao que está definido no ficheiro de configuração do Terraform.
Consola
Para obter os dados da chave pública de uma chave de conta de serviço:
Use a CLI gcloud ou a API REST. Estes dados não estão disponíveis na consolaGoogle Cloud .
Para obter metadados de uma chave de conta de serviço:
- Na Google Cloud consola, aceda à página Contas de serviço.
Os passos restantes aparecem na Google Cloud consola.
- Selecione um projeto.
- Na página Contas de serviço, clique no endereço de email da conta de serviço cujas chaves quer listar.
- Clique em Chaves. A Google Cloud consola apresenta uma lista de chaves para a conta de serviço, incluindo metadados para cada chave.
gcloud
Para obter os dados da chave pública de uma chave de conta de serviço:
Execute o comando
gcloud beta iam service-accounts keys get-public-key
:gcloud beta iam service-accounts keys get-public-key KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --output-file=FILENAME
Indique os seguintes valores:
KEY_ID
: o ID da chave pública que quer obter. Para encontrar o ID da chave, liste todas as chaves da conta de serviço, identifique a chave que quer obter e, em seguida, copie o respetivo ID.SA_NAME
: o nome da conta de serviço cuja chave pública quer obter.PROJECT_ID
: o ID do seu Google Cloud projeto.FILENAME
: o ficheiro no qual guardar os dados da chave pública.
Por predefinição, os dados da chave pública são guardados no formato PEM X.509. Para obter a chave pública não processada, execute o comando com a flag adicional
--type=raw
.Por exemplo, o comando seguinte obtém os dados da chave pública para a chave
c97cc34494c07c9b483701f28368f20145b9ef97
, que pertence à conta de serviço[email protected]
, e, em seguida, guarda os dados da chave pública no ficheiropublic_key.pem
:gcloud beta iam service-accounts keys get-public-key \ c97cc34494c07c9b483701f28368f20145b9ef97 \ --iam-account=[email protected] \ --output-file=public_key.pem
Para obter metadados de uma chave de conta de serviço:
Execute o comando
gcloud iam service-accounts keys list
:gcloud iam service-accounts keys list --iam-account=SA_NAME \ --filter="name~KEY_ID" --format=json
Indique os seguintes valores:
SA_NAME
: o nome da conta de serviço para a qual quer metadados de chaves.KEY_ID
: o ID da chave para a qual quer metadados.
Por exemplo, o comando seguinte obtém metadados para a chave
c97cc34494c07c9b483701f28368f20145b9ef97
, que pertence à conta de serviço[email protected]
:gcloud iam service-accounts keys list \ --iam-account=[email protected] \ --filter="name~c97cc34494c07c9b483701f28368f20145b9ef97" --format=json
REST
O método
projects.serviceAccounts.keys.get
devolve informações sobre uma chave pública para uma conta de serviço.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: O ID do seu Google Cloud projeto. Os IDs dos projetos são strings alfanuméricas, comomy-project
.SA_NAME
: o nome da conta de serviço cuja chave pública quer obter.-
KEY_ID
: o ID da chave pública que quer obter. Para encontrar o ID da chave: liste todas as chaves da conta de serviço, identifique a chave que quer obter e, de seguida, copie o respetivo ID do final do camponame
. O ID da chave é tudo o que se encontra apóskeys/
. KEY_TYPE
: o formato no qual devolver a chave pública. UseTYPE_X509_PEM_FILE
para o formato PEM X.509 ouTYPE_RAW_PUBLIC_KEY
para a chave pública não processada. Se omitir este parâmetro de consulta, o método devolve metadados para a chave, mas não devolve os dados da chave pública.
Método HTTP e URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID?publicKeyType=KEY_TYPE
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/my-project/serviceAccounts/[email protected]/keys/f4a83933ac07cf52bb74e0e66d99662a09f51a36", "validAfterTime": "2021-12-10T17:32:06Z", "validBeforeTime": "9999-12-31T23:59:59Z", "publicKeyData": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvRENDQWVTZ0F3SUJBZ0lJT2lCdm9hR09nV0F3RFFZSktvWklodmNOQVFFRkJRQXdJREVlTUJ3R0ExVUUKQXhNVk1UQXhNVGsxTlRFMk5UWXlPRGszTmpFek1qQXpNQ0FYRFRJeE1USXhNREUzTXpJd05sb1lEems1T1RreApNak14TWpNMU9UVTVXakFnTVI0d0hBWURWUVFERXhVeE1ERXhPVFUxTVRZMU5qSTRPVGMyTVRNeU1ETXdnZ0VpCk1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQzdzeDBFcXVUMGNwSXhlczl1SW0yRy9DS3EKdnc4YTl2a2JkaWZZbDZHSDh1ZUxEWDhGNHVUeEVQMkNzU3JLTHZtOFo2My9IVUxnWjBtQXByb0JlM08vaVR1ZwpmYVZ0NVNtakhvWm9YQ1lpbjR0MS93SkpvdDhrRFdPeDZhOEdieUdqZ215ak8yYk1XdEtaQ2dqeGZ3cUV0MmN3CklnajA5VzJKYTlHTWRsdVA0VGVubTRKSkJoaFpFbTJ1bVAwYVZZdkRnUWF5d0RCYnJuNG8yY0EzSWplRDZGM1gKK0VHRDNKU0s4VW02Sk5sM21adGp6VWNZSHBrYkF0U1A2ZDI5d1RmZkdIRFY0THJRWlM3bG15d3hsb3p5WnpaawpCOFpHckMzSkF1MVNVRTdQOTN6bWtFb1B6MlRUNWhaYXZMWFQ5TGM2SExiRklRVHFnVEJVWHlNMkpIcGZBZ01CCkFBR2pPREEyTUF3R0ExVWRFd0VCL3dRQ01BQXdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1CWUdBMVVkSlFFQi93UU0KTUFvR0NDc0dBUVVGQndNQ01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQkhPNXlpUDY3NkE4UEN2RjdRSzdFMApYZVljbzdsSStFZkowaGJrWVlmdUtnSENPcXcvd3FBbCtOSithanljT2FPWDFPMlRZN3ZOc05pR2t3eWc2QXdqCklhL1NHVjd3NkxpS2JldFRuSVp4UlhRY25lcnVvZEwycUR5eWphMDJJSXJVTmVKY1o0MVJBNXRTL3NkcTFGNm4KM0NjSXFoZTI1OTA4TUNna3cwaFB1K0VLbFF6R1B5T3pVRHBLdXg0cnRBaHJTYTBUVW1wbEMxdTJnUk1YRkF6aApWUjU0V2dNa2tabURyalBNeWdBS3JmNkd0bHo2VHRTYTVLb1BWdGpsWExUQkxaSnlhdk4zc1F2dFlBK1NFQWpWCnA1N1ZabFBYZmR0dWN4ekJaOC9zS25SOHNyYU5hVWFjamg1NEE1Nm1URTE3b0IyUWkrTHBJUTYvNnVqVnNXaUYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }
O que se segue?
- Saiba como criar e eliminar chaves de contas de serviço.
- Saiba como desativar e ativar chaves de contas de serviço.
- Saiba mais sobre as alternativas às chaves de contas de serviço para autenticação.
- Saiba como usar chaves de contas de serviço para se autenticar como uma conta de serviço.
- Compreenda as práticas recomendadas para gerir chaves de contas de serviço.
Experimente
Se for um novo utilizador do Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.
Comece gratuitamenteExceto 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-20 UTC.