La CLI de gcloud les permite a los desarrolladores usar las claves privadas para autenticar con cuentas de servicio, también conocidas como cuentas robot. En esta página, se describe cómo crear y usar claves p12 de cuentas de servicio para Trusted Cloud by S3NS.
Instala pyca/cryptography
La biblioteca pyca/cryptography (versión >= 2.5
) permite que la CLI de gcloud decodifique los archivos de claves con formato p12 que identifican una cuenta de servicio. Debido a que incluye rutinas criptográficas, pyca/cryptography no se distribuye con la CLI de gcloud.
Si tu sistema tiene instalada pip
, la interfaz de línea de comandos para el índice de paquetes de Python, para instalar 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 la CLI de gcloud que debe buscar las bibliotecas que se han de 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 clave 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 la CLI de gcloud
Las credenciales de la cuenta de servicio se pueden habilitar con gcloud auth activate-service-account
.
Para usar tu cuenta de servicio con la CLI de gcloud, ejecuta gcloud auth activate-service-account
, pasa la ruta a tu archivo de claves con la marca --key-file
requerida y otórgale una cuenta como argumento posicional.
La cuenta que uses debe ser el correo electrónico de la cuenta de servicio que aparece enumerada en la consola de Trusted 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.s3ns-system.iam.gserviceaccount.com Activated service account credentials for my_service_account@developer.s3ns-system.iam.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.s3ns-system.iam.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 forma confiable y segura los datos de autenticación almacenados por la CLI de gcloud, solo tienes que borrar $HOME/.config/gcloud
. La administración segura del archivo de claves descargado desde la consola de Trusted Cloud queda en manos del usuario. Si tienes dudas, revoca la clave en la consola de Trusted 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.s3ns-system.iam.gserviceaccount.com To set the active account, run: $ gcloud config set account my_service_account@developer.s3ns-system.iam.gserviceaccount.com