Gcloud CLI y las claves de cuenta de servicio p12

Gcloud CLI permite a los desarrolladores usar claves privadas para la autenticación con cuentas de servicio, también conocidas como cuentas robot. En esta página, se describe cómo crear y usar las claves p12 de las cuentas de servicio de Google Cloud.

Instala pyca/cryptography

La biblioteca pyca/cryptography (versión >= 2.5) permite que gcloud CLI decodifique los archivos de claves con formato p12 que identifican una cuenta de servicio. Debido a que incluye rutinas criptográficas, pyca/criptografía no se distribuye con gcloud CLId.

Si tu sistema tiene instalado pip, la interfaz de línea de comandos para el Índice de paquetes de Python, e instala pyca/cryptography, ejecuta el siguiente comando. Consulta las Instrucciones de instalación para obtener más información.

python -m pip install cryptography

CLOUDSDK_PYTHON_SITEPACKAGES=1

Una vez que pyca/cryptography esté instalado, deberás configurar la variable de entorno CLOUDSDK_PYTHON_SITEPACKAGES como 1. Esta configuración de la variable de entorno le indica a gcloud CLI que debe buscar las bibliotecas que se deben incluir fuera de su propio directorio google-cloud-sdk/lib. Por lo general, es seguro configurar CLOUDSDK_PYTHON_SITEPACKAGES=1, pero si algo deja de funcionar, es posible que debas deshacer esta acción.

Crea una cuenta de servicio

Para crear una cuenta de servicio nueva y descargar un archivo de claves p12, sigue los pasos que se indican en Crea claves de cuentas de servicio.

Este archivo de claves debe ser considerado como secreto, y debes tomar precauciones para asegurarte de que terceros no confiables no accedan a él. En sistemas similares a unix, puedes asegurarte de que un archivo no sea visible para otros usuarios conectados de manera remota (aparte de un usuario raíz) mediante el uso del siguiente comando.

chmod 0600 YOUR_KEY_FILE.p12

Usa tu cuenta de servicio con gcloud CLI

Las credenciales de la cuenta de servicio se pueden habilitar mediante gcloud auth activate-service-account.

Para usar tu cuenta de servicio con gcloud CLI, ejecuta gcloud auth activate-service-account, pásale la ruta de acceso al archivo de claves con la marca --key-file requerida y asígnale una cuenta como argumento posicional.

La cuenta que uses debe ser el correo electrónico de la cuenta de servicio que aparece en la consola de Google Cloud, pero no se verificará. Solo te ayuda a recordar qué cuenta estás usando.

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

ADVERTENCIA: gcloud auth activate-service-account hará una copia de tu clave privada y la almacenará en $HOME/.config/gcloud/legacy_credentials/my_service_account@developer.gserviceaccount.com/private_key.p12 y $HOME/.config/gcloud/credentials.db. Se creará con permisos 0600 (lectura/escritura solo para tu usuario propio), y todo lo guardado en $HOME/.config/gcloud ya debe considerarse un secreto. Para borrar de manera confiable y confiable los datos de autenticación que almacenó gcloud CLI, solo debes borrar $HOME/.config/gcloud. La administración segura del archivo de claves descargado desde la consola de Google Cloud queda en manos del usuario. Si tienes dudas, revoca la clave en la consola de Google Cloud.

Ahora que se activó la cuenta de servicio, la puedes ver en la lista de credenciales.

gcloud auth list
        Credentialed Accounts
ACTIVE    ACCOUNT
*         my_service_account@developer.gserviceaccount.com

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

Volver al principio