En este documento se describe cómo autenticarse en Assured Workloads de manera programática.
Para obtener más información sobre la autenticación de Google Cloud, consulta la descripción general de la autenticación.
Acceso de API
Assured Workloads admite el acceso programático. La forma en que te autenticas en Assured Workloads depende de cómo accedes a la API. Puedes acceder a la API de las siguientes maneras:
Bibliotecas cliente
Las bibliotecas cliente de Assured Workloads proporcionan asistencia de alto nivel para la autenticación programática de Assured Workloads. Las bibliotecas cliente admiten las credenciales predeterminadas de la aplicación (ADC). Las bibliotecas buscan credenciales en un conjunto de ubicaciones definidas y las usan para autenticar solicitudes a la API. Con ADC, puedes hacer que las credenciales estén disponibles para tu aplicación en una variedad de entornos, como el desarrollo o producción local, sin necesidad de modificar el código de la aplicación.
REST
Puedes autenticarte en Assured Workloads desde la línea de comandos mediante las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Autentica mediante REST.
Si deseas usar la API sin usar una biblioteca cliente, puedes usar la biblioteca de autenticación de Google para tu lenguaje de programación. También puedes implementar la autenticación en el código.
Configura la autenticación para Assured Workloads
La forma de configurar la autenticación depende del entorno en el que se ejecuta tu código.
Las siguientes opciones para configurar la autenticación son las más usadas. Consulta Autenticación en Google para obtener más información y opciones sobre la autenticación.
Antes de que puedas completar estas instrucciones, debes completar la configuración básica de Assured Workloads, incluida la habilitación de la API y la instalación de la CLI de gcloud.
Para un entorno de desarrollo local
Si planeas usar bibliotecas cliente, ejecutar fragmentos de código o usar herramientas de terceros, como Terraform, en un entorno de desarrollo local, debes configurar las credenciales predeterminadas de la aplicación (ADC) en ese entorno. Para las solicitudes de REST desde la línea de comandos, usa tus credenciales de gcloud.
Para obtener información sobre la diferencia entre tus credenciales locales de ADC y las de gcloud, consulta Credenciales de ADC y credenciales de gcloud.
Bibliotecas cliente o herramientas de terceros
Configura las credenciales predeterminadas de la aplicación (ADC) en tu entorno local:
-
Crea credenciales de autenticación para tu Cuenta de Google:
gcloud auth application-default login
Se muestra una pantalla de acceso. Después de acceder, tus credenciales se almacenan en el archivo de credenciales local que usa ADC.
Para obtener más información sobre cómo trabajar con ADC en un entorno local, consulta Entorno de desarrollo local.
Solicitudes REST desde la línea de comandos
Cuando realizas una solicitud REST desde la línea de comandos, puedes usar tus credenciales de gcloud si incluyes gcloud auth print-access-token
como parte del comando que envía la solicitud.
En el siguiente ejemplo, se enumeran las cuentas de servicio para el proyecto especificado. Puedes usar el mismo patrón para cualquier solicitud de REST.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID es el ID del proyecto de Google Cloud.
Para enviar tu solicitud, expande una de estas opciones:
En Google Cloud
Para autenticar una carga de trabajo que se ejecuta en Google Cloud, usa las credenciales de la cuenta de servicio conectada al recurso de procesamiento en el que se ejecuta tu código. Por ejemplo, puedes conectar una cuenta de servicio a una instancia de máquina virtual (VM) de Compute Engine, a un servicio de Cloud Run o a un trabajo de Dataflow. Este enfoque es el método de autenticación preferido para el código que se ejecuta en un recurso de procesamiento de Google Cloud.
Para la mayoría de los servicios, debes conectar la cuenta de servicio cuando crees el recurso que ejecutará el código. No puedes agregar ni reemplazar la cuenta de servicio más adelante. Compute Engine es una excepción, ya que te permite conectar una cuenta de servicio a una instancia de VM en cualquier momento.
-
Configura la autenticación:
-
Crea la cuenta de servicio:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Reemplaza
SERVICE_ACCOUNT_NAME
por un nombre para la cuenta de servicio. -
Para proporcionar acceso a tu proyecto y tus recursos, otorga un rol a la cuenta de servicio:
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE
Reemplaza lo siguiente:
SERVICE_ACCOUNT_NAME
: el nombre de la cuenta de servicioPROJECT_ID
: el ID del proyecto en el que creaste la cuenta de servicioROLE
: el rol a otorgar
- Para otorgar otro rol a la cuenta de servicio, ejecuta el comando como lo hiciste en el paso anterior.
-
Otorga a tu Cuenta de Google un rol que te permita usar los roles de la cuenta de servicio y conectar la cuenta de servicio a otros recursos:
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser
Reemplaza lo siguiente:
SERVICE_ACCOUNT_NAME
: el nombre de la cuenta de servicioPROJECT_ID
: el ID del proyecto en el que creaste la cuenta de servicioUSER_EMAIL
: La dirección de correo electrónico de tu Cuenta de Google
-
-
Crea el recurso que ejecutará tu código y adjunta la cuenta de servicio a ese recurso. Por ejemplo, si usas Compute Engine:
Crea una instancia de Compute Engine. Configúrala como se indica a continuación:- Reemplaza
INSTANCE_NAME
por el nombre de instancia que desees. -
Establece la marca
--zone
en la zona en la que deseas crear tu instancia. -
Establece la marca
--service-account
en la dirección de correo electrónico de la cuenta de servicio que creaste.
gcloud compute instances create INSTANCE_NAME --zone=ZONE --service-account=SERVICE_ACCOUNT_EMAIL
- Reemplaza
Local o en un proveedor de servicios en la nube diferente
El método preferido para configurar la autenticación desde fuera de Google Cloud es usar la federación de Workload Identity. Para obtener más información, consulta Local u otro proveedor de servicios en la nube en la documentación de autenticación.
Control de acceso en Assured Workloads
Después de autenticarte en Assured Workloads, debes tener autorización para acceder a los recursos de Google Cloud. Assured Workloads usa Identity and Access Management (IAM) para la autorización.
Para obtener más información sobre los roles de Assured Workloads, consulta Control de acceso con IAM. Para obtener más información sobre IAM y la autorización, consulta Descripción general de IAM.
¿Qué sigue?
- Obtén más información sobre la autenticación de Google Cloud.
- Consulta una lista de casos de uso de autenticación.