Para acessar Trusted Cloud, normalmente você precisará autorizar a CLI do Google Cloud. Esta página demonstra as opções de autorização disponíveis e mostra como gerenciar as contas que você usa para autorização. Se estiver usando uma instância do Compute Engine ou o Cloud Shell, não será necessário autorizar a CLI do gcloud.
Tipos de contas
Para conceder autorização ao gcloud CLI para acessarTrusted Cloud, você pode usar uma conta de usuário ou uma conta de serviço .
Uma conta de usuário é uma Trusted Cloud Conta que permite que usuários finais se autentiquem no seu aplicativo. Para a maioria dos casos de uso comuns, especialmente interativamente usando a CLI do gcloud, usar uma conta de usuário é a prática recomendada.
Uma conta de serviço é uma Trusted Cloud conta associada à suaTrusted Cloud projeto e não um usuário específico. Você pode usar a conta de serviço integrada disponível ao usar as funções do Cloud Run, App Engine, Compute Engine ou Google Kubernetes Engine. Uma conta de serviço é recomendada para executar scripts da CLI do gcloud em várias máquinas.
Escolha um tipo de autorização
Você deve autorizar o Google Cloud CLI a gerenciar Trusted Cloudrecursos. Tanto o Google Cloud CLI quanto Trusted Cloud use OAuth2 para autenticação e autorização.
Escolha um dos seguintes tipos de autorização:
Tipo | Descrição |
---|---|
Conta de usuário | Recomendado se você estiver usando o gcloud CLI na linha de comando ou se estiver escrevendo scripts com o gcloud CLI para uso em uma única máquina. |
Conta de serviço | Recomendado se você estiver instalando e configurando o gcloud CLI como parte de um processo de implantação de máquina em produção ou para uso em instâncias de máquina virtual do Compute Engine onde todos os usuários têm acesso root . |
Para obter mais informações sobre autenticação e Trusted Cloud, consulte Visão geral da autenticação .
Autorizar com uma conta de usuário
Esta seção descreve como fazer login no gcloud CLI usando o Workforce Identity Federation.
Antes de fazer login no gcloud CLI, você deve definir a propriedadecore/universe_domain
na sua configuração executando o seguinte comando:gcloud config set universe_domain s3nsapis.fr
login baseado em navegador da CLI do gcloud
Para fazer login na CLI do gcloud usando um fluxo de login baseado em navegador, faça o seguinte:
Crie um arquivo de configuração de login.
Para criar o arquivo de configuração de login, execute o seguinte comando. Opcionalmente, você pode ativar o arquivo como padrão para a CLI do gcloud adicionando o sinalizador
--activate
. Você pode então executargcloud auth login
sem especificar o caminho do arquivo de configuração a cada vez.gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \ --output-file=LOGIN_CONFIG_FILE_PATH
Substitua o seguinte:
-
WORKFORCE_POOL_ID
: o ID do pool de força de trabalho -
PROVIDER_ID
: o ID do provedor -
LOGIN_CONFIG_FILE_PATH
: o caminho para um arquivo de configuração que você especificar — por exemplo,login.json
O arquivo contém os endpoints usados pela CLI do gcloud para habilitar o fluxo de autenticação baseado em navegador e definir o público como o IdP configurado no provedor do pool de identidades da força de trabalho. O arquivo não contém informações confidenciais.
A saída é semelhante à seguinte:
Para impedir que{ "type": "external_account_authorized_user_login_config", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "auth_url": "https://auth.cloud.s3nscloud.fr/authorize", "token_url": "https://sts.s3nsapis.fr/v1/oauthtoken", "token_info_url": "https://s3nsapis.fr/v1/introspect", }
gcloud auth login
use esse arquivo de configuração automaticamente, você pode desconfigurá-lo executandogcloud config unset auth/login_config_file
.-
Faça login usando a autenticação baseada em navegador.
Para autenticar usando a autenticação de login baseada em navegador, você pode usar um dos seguintes métodos:
Se você usou o sinalizador
--activate
ao criar o arquivo de configuração ou se ativou o arquivo de configuração comgcloud config set auth/login_config_file
, o gcloud CLI usará seu arquivo de configuração automaticamente:gcloud auth login
Para fazer login especificando o local do arquivo de configuração, execute o seguinte comando:
gcloud auth login --login-config=LOGIN_CONFIG_FILE_PATH
- Para usar uma variável de ambiente para especificar o local do arquivo de configuração, defina
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
como o caminho de configuração.
Para interromper o uso do arquivo de configuração de login, faça o seguinte:
Se você usou o sinalizador
--activate
ao criar o arquivo de configuração ou se ativou o arquivo de configuração comgcloud config set auth/login_config_file
, deverá executar o seguinte comando para desativá-lo:gcloud config unset auth/login_config_file
- Limpe a variável de ambiente
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
, se estiver definida.
Login sem interface da CLI do gcloud
Para fazer login no gcloud CLI usando um fluxo headless, faça o seguinte:
OIDC
Cadastre um usuário no seu aplicativo IdP e obtenha o token OIDC.
Para obter informações sobre como obter o token, consulte a documentação OIDC do seu IdP.
Salve o token OIDC retornado pelo IdP em um local seguro na sua máquina local.
Gere um arquivo de configuração executando o seguinte comando:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \ --subject-token-type="urn:ietf:params:oauth:token-type:id_token" \ --credential-source-file="PATH_TO_OIDC_ID_TOKEN" \ --workforce-pool-user-project="WORKFORCE_POOL_USER_PROJECT" \ --output-file="config.json"
Substitua o seguinte:
-
WORKFORCE_POOL_ID
: o ID do pool de força de trabalho -
PROVIDER_ID
: o ID do provedor -
PATH_TO_OIDC_TOKEN
: o caminho para o arquivo de credencial do OIDC IdP -
WORKFORCE_POOL_USER_PROJECT
: o número do projeto associado ao projeto do usuário dos pools de força de trabalho
O principal deve ter permissão serviceusage.services.use
neste projeto.
Quando você executa o comando, ele produz um arquivo de configuração OIDC IdP com formato semelhante ao seguinte:
{
"type": "external_account",
"audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID",
"subject_token_type": "urn:ietf:params:oauth:token-type:id_token",
"token_url": "https://sts.googleapis.com/v1/token",
"workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT",
"credential_source": {
"file": "PATH_TO_OIDC_CREDENTIALS_FILE"
}
}
SAML
Cadastre um usuário no seu aplicativo IdP e obtenha a asserção SAML.
Para obter informações sobre como obter a asserção SAML do seu IdP, consulte a documentação SAML do seu IdP.
Salve a resposta SAML retornada pelo IdP em um local seguro na sua máquina local e armazene o caminho, da seguinte maneira:
SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
Para gerar um arquivo de configuração, execute o seguinte comando:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type="urn:ietf:params:oauth:token-type:saml2" \ --credential-source-file="SAML_ASSERTION_PATH" \ --workforce-pool-user-project="PROJECT_ID" \ --output-file="config.json"
Substitua o seguinte:
-
WORKFORCE_PROVIDER_ID
: o ID do provedor de força de trabalho que você criou anteriormente neste guia. -
WORKFORCE_POOL_ID
: o ID do pool de força de trabalho que você criou anteriormente neste guia. -
SAML_ASSERTION_PATH
: o caminho do arquivo de asserção SAML. -
PROJECT_ID
: o ID do projeto
O arquivo de configuração gerado é semelhante ao seguinte:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "SAML_ASSERTION_PATH" }, "workforce_pool_user_project": "PROJECT_ID" }
-
Para fazer login no gcloud
usando a troca de tokens, execute o seguinte comando:
gcloud auth login --cred-file="config.json"
gcloud
então troca de forma transparente suas credenciais de IdP por temporárias Trusted Cloud tokens de acesso, permitindo que você faça outras chamadas gcloud
para Trusted Cloud.
A saída é semelhante à seguinte:
Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID
/subject/USER_ID
].
Para listar as contas credenciadas e sua conta ativa no momento, execute o seguinte comando:
gcloud auth list
Autorizar com uma conta de serviço
O comando gcloud auth login
pode autorizar o acesso com uma conta de serviço usando um arquivo de credencial armazenado no seu sistema de arquivos local. Essa credencial pode ser uma credencial de usuário com permissão para representar a conta de serviço, um arquivo de configuração de credencial para a Federação de Identidade da Carga de Trabalho ou uma chave de conta de serviço.
Autorizar uma conta de serviço usando a representação de conta de serviço
Para autorizar o gcloud CLI a usar credenciais de conta de serviço personificadas , faça o seguinte:
No Trusted Cloud console, vá para a página Contas de serviço.
Escolha uma conta existente ou crie uma nova conta clicando em Criar conta de serviço .
Para obter a permissão necessária para representar uma conta de serviço, peça ao administrador que lhe conceda a função do IAM " Criador de Token de Conta de Serviço" (
roles/iam.serviceAccountTokenCreator
) na conta de serviço. Para obter mais informações sobre como conceder funções, consulte Gerenciar acesso a projetos, pastas e organizações .Esta função predefinida contém a permissão
iam.serviceAccounts.getAccessToken
, que é necessária para representar uma conta de serviço.Você também pode obter essa permissão com funções personalizadas ou outras funções predefinidas .
Autorize o gcloud CLI com sua identidade de usuário executando
gcloud auth login
.Para configurar o gcloud CLI para usar a identidade e o acesso fornecidos por uma conta de serviço por padrão, use o comando gcloud CLI config :
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
Para parar de usar credenciais de conta de serviço personificadas com o gcloud CLI por padrão, desative o sinalizador com o comando gcloud CLI config :
gcloud config unset auth/impersonate_service_account
Autorizar uma conta de serviço usando a Federação de Identidade de Carga de Trabalho
Para autorizar o gcloud CLI com uma conta de serviço usando credenciais externas da Workload Identity Federation, faça o seguinte:
No Trusted Cloud console, vá para a página Contas de serviço.
Escolha uma conta existente ou crie uma nova conta clicando em Criar conta de serviço .
Crie um arquivo de configuração de credencial para a Federação de Identidade de Carga de Trabalho seguindo as instruções do seu provedor de identidade compatível.
Para ativar sua conta de serviço, execute
gcloud auth login
com o sinalizador--cred-file
:gcloud auth login --cred-file=CONFIGURATION_FILE
Substitua CONFIGURATION_FILE pelo caminho para um arquivo de configuração de credencial para Federação de Identidade de Carga de Trabalho.
Autorizar uma conta de serviço usando uma chave de conta de serviço
Para autorizar o gcloud CLI com uma conta de serviço usando uma chave de conta de serviço, faça o seguinte:
No Trusted Cloud console, vá para a página Contas de serviço.
Escolha uma conta existente ou crie uma nova conta clicando em Criar conta de serviço .
Para criar chaves de conta de serviço, consulte as instruções do IAM para Criar uma chave de conta de serviço .
Para ativar sua conta de serviço, execute
gcloud auth login
com o sinalizador--cred-file
:gcloud auth login --cred-file=KEY_FILE
Substitua KEY_FILE pelo caminho para um arquivo de chave de conta de serviço.
Listar contas
Para listar as contas cujas credenciais estão armazenadas no sistema local, execute gcloud auth list
:
gcloud auth list
O gcloud CLI lista as contas e mostra qual conta está ativa:
Credentialed accounts: - user-1@gmail.com (active) - user-2@gmail.com
Trocar a conta ativa
Para alternar a conta ativa, execute gcloud config set
:
gcloud config set account ACCOUNT
onde [ACCOUNT]
é o endereço de e-mail completo da conta.
Você também pode alternar contas criando uma configuração separada que especifique cada conta e alternando entre configurações:
gcloud config configurations activate CONFIGURATION
Se você quiser alternar a conta usada pelo gcloud CLI a cada invocação, substitua a conta ativa usando o sinalizador --account
.
Definir duração da sessão autorizada
Como administrador, você pode controlar por quanto tempo diferentes usuários podem acessar a CLI do gcloud sem precisar se autenticar novamente. Por exemplo, você pode forçar usuários com privilégios elevados a se autenticarem novamente com mais frequência do que usuários comuns.
Para obter mais informações, consulte Definir duração da sessão para Trusted Cloud serviços .
Revogar credenciais de uma conta
Você pode revogar credenciais quando quiser proibir o acesso de uma conta específica à CLI do gcloud. Não é necessário revogar credenciais para alternar entre contas.
Para revogar credenciais, execute gcloud auth revoke
:
gcloud auth revoke ACCOUNT
Para revogar todo o acesso ao gcloud CLI para todas as máquinas, remova o gcloud CLI da lista de aplicativos que têm acesso à sua conta .
Trabalhar com arquivos de credenciais
Encontre seus arquivos de credenciais
Para encontrar a localização dos seus arquivos de credenciais, execute gcloud info
:
gcloud info
A CLI do gcloud imprime informações sobre sua instalação. Os arquivos de credenciais são armazenados no diretório de configuração do usuário:
User Config Directory: [/home/USERNAME/.config/gcloud]
Configurar credenciais padrão do aplicativo
A CLI do gcloud oferece suporte para o gerenciamento de Credenciais Padrão do Aplicativo (ADC) com o grupo de comandos gcloud auth application-default
. Para disponibilizar as credenciais do usuário para o ADC, execute gcloud auth application-default login
:
gcloud auth application-default login
Essas credenciais não são usadas pela CLI do gcloud . Para saber mais sobre como configurar o ADC, consulte Configurar credenciais padrão do aplicativo .
unset GOOGLE_APPLICATION_CREDENTIALS
gcloud config unset auth/impersonate_service_account
gcloud auth application-default login
O que vem a seguir
- Para saber mais sobre autenticação e Trusted Cloud, consulte Visão geral da autenticação .
- Para saber mais sobre como personalizar o gcloud CLI, consulte Propriedades do gcloud CLI .
- Para saber mais sobre como gerenciar conjuntos nomeados de propriedades do gcloud CLI, consulte Configurações do gcloud CLI .