As chaves de conta de serviço do gcloud CLI e p12

A CLI do gcloud permite que desenvolvedores usem chaves privadas para autenticação com contas de serviço, também conhecidas como contas de robô. Esta página descreve como criar e usar chaves p12 de contas de serviço para o Trusted Cloud by S3NS.

Instalar pyca/cryptography

A biblioteca pyca/cryptography (versão >= 2.5 ) permite que a CLI do gcloud decodifique os arquivos de chave no formato p12 que identificam uma conta de serviço. Como inclui rotinas criptográficas, pyca/cryptography não é distribuído com a CLI do gcloud.

Se o seu sistema tiver pip , a interface de linha de comando para o Índice de Pacotes Python , instalado, para instalar pyca/cryptography , execute o seguinte comando. Consulte as Instruções de Instalação para obter mais informações.

python -m pip install cryptography

CLOUDSDK_PYTHON_SITEPACKAGES=1

Após a instalação do pyca/cryptography, você precisará definir a variável de ambiente CLOUDSDK_PYTHON_SITEPACKAGES como 1 Essa configuração de variável de ambiente informa à CLI do gcloud que ela deve procurar bibliotecas fora do seu próprio diretório google-cloud-sdk/lib para incluir. Geralmente, é seguro definir CLOUDSDK_PYTHON_SITEPACKAGES=1 , mas se algo parar de funcionar, talvez seja necessário desfazer a ação.

Criando uma conta de serviço

Para criar uma nova conta de serviço e baixar um arquivo de chave p12, siga as etapas em Criação de chaves de conta de serviço .

Este arquivo de chave deve ser considerado secreto e você deve tomar precauções para garantir que ele não seja acessível a terceiros não confiáveis. Em sistemas Unix-like, você pode garantir que um arquivo não seja visível a outros usuários conectados remotamente (além do usuário root) usando o seguinte comando.

chmod 0600 YOUR_KEY_FILE.p12

Usando sua conta de serviço com o gcloud CLI

As credenciais da conta de serviço podem ser habilitadas usando gcloud auth activate-service-account .

Para usar sua conta de serviço com o gcloud CLI, execute gcloud auth activate-service-account e passe o caminho para seu arquivo de chave com o sinalizador --key-file necessário e atribua a ele uma conta como argumento posicional.

A conta que você usa deve ser o e-mail da conta de serviço listada no Trusted Cloud console, mas não será verificado; ele apenas ajuda você a lembrar qual conta está usando.

gcloud auth activate-service-account --key-file ~/mykeys/my_key_file.p12 my_service_account@developer.s3ns-system.iam.gserviceaccount.com
Activated service account credentials for my_service_account@developer.s3ns-system.iam.gserviceaccount.com.

AVISO: O gcloud auth activate-service-account fará uma cópia da sua chave privada e a armazenará em $HOME/.config/gcloud/legacy_credentials/my_service_account@developer.s3ns-system.iam.gserviceaccount.com/private_key.p12 e $HOME/.config/gcloud/credentials.db . Ele será criado com permissões 0600 (leitura/gravação apenas para o seu usuário), e tudo armazenado em $HOME/.config/gcloud já deve ser considerado secreto. Para excluir de forma confiável e confidencial quaisquer dados de autenticação armazenados pela CLI do gcloud, basta excluir $HOME/.config/gcloud . Gerenciamento seguro do arquivo de chave baixado do Trusted Cloud o console é deixado para o usuário. Em caso de dúvida, revogue a chave no Trusted Cloud console.

Agora que a conta de serviço foi ativada, ela pode ser vista na lista de credenciais.

gcloud auth list
        Credentialed Accounts
ACTIVE    ACCOUNT
*         my_service_account@developer.s3ns-system.iam.gserviceaccount.com

To set the active account, run:
    $ gcloud config set account my_service_account@developer.s3ns-system.iam.gserviceaccount.com

Voltar ao topo