La CLI de gcloud permite a los desarrolladores usar claves privadas para autenticarse con cuentas de servicio, también conocidas como cuentas robot. Esta página describe cómo crear y usar claves p12 de cuentas de servicio para... Trusted Cloud by S3NS.
Instalar pyca/cryptography
La biblioteca pyca/cryptography (versión ≥ 2.5
) permite que la CLI de gcloud decodifique los archivos de clave en formato p12 que identifican una cuenta de servicio. Dado que incluye rutinas criptográficas, pyca/cryptography no se distribuye con la CLI de gcloud.
Si su sistema tiene instalado pip
(la interfaz de línea de comandos para el índice de paquetes de Python) , para instalar pyca/cryptography
, ejecute el siguiente comando. Consulte las instrucciones de instalación para obtener más información.
python -m pip install cryptography
PAQUETES DE SITIO DE CLOUDSDK_PYTHON=1
Una vez instalado Pyca/Cryptography, deberá establecer la variable de entorno CLOUDSDK_PYTHON_SITEPACKAGES
en 1
Esta configuración indica a la CLI de gcloud que debe buscar bibliotecas fuera de su directorio google-cloud-sdk/lib
. Generalmente, es seguro establecer CLOUDSDK_PYTHON_SITEPACKAGES=1
, pero si algo deja de funcionar, es posible que deba deshacer la acción.
Creación de una cuenta de servicio
Para crear una nueva cuenta de servicio y descargar un archivo de clave p12, siga los pasos que se indican en Creación de claves de cuenta de servicio .
Este archivo de clave debe considerarse secreto y debe tomar precauciones para asegurarse de que no sea accesible para terceros no confiables. En sistemas tipo Unix, puede asegurarse de que un archivo no sea visible para otros usuarios conectados remotamente (excepto el usuario root) mediante el siguiente comando.
chmod 0600 YOUR_KEY_FILE.p12
Usar su cuenta de servicio con la CLI de gcloud
Las credenciales de la cuenta de servicio se pueden habilitar mediante gcloud auth activate-service-account
.
Para usar su cuenta de servicio con la CLI de gcloud, ejecute gcloud auth activate-service-account
y pásele la ruta a su archivo de clave con el indicador --key-file
requerido y asígnele una cuenta como argumento posicional.
La cuenta que utilice debe ser el correo electrónico de la cuenta de servicio que figura en el Trusted Cloud consola, 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 su 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 su propio usuario), y todo lo almacenado en $HOME/.config/gcloud
ya debería considerarse secreto. Para eliminar de forma segura cualquier dato de autenticación almacenado por la CLI de gcloud, solo tiene que eliminar $HOME/.config/gcloud
. Gestión segura del archivo de clave descargado desde Trusted Cloud La consola se deja al usuario. En caso de duda, revoque la clave en el Trusted Cloud consola.
Ahora que la cuenta de servicio se ha activado, se podrá 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