Puedes proporcionar a ADC tus credenciales de usuario o credenciales de cuenta de servicio en un entorno de desarrollo local.
Credenciales de usuario
Cuando tu código se ejecuta en un entorno de desarrollo local, como una estación de trabajo de desarrollo, la mejor opción es usar las credenciales asociadas a tu cuenta de usuario.
La forma de configurar la autenticación delegada de administrador con tu cuenta de usuario depende de si Google gestiona tu cuenta de usuario (es decir, si es una cuenta de Google) o si la gestiona otro proveedor de identidades (IdP) y está federada mediante Federación de Identidades de la Fuerza de Trabajo.Cuenta de Google
Para configurar ADC con una cuenta de Google, usa la CLI de Google Cloud:
-
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Aparecerá una pantalla de inicio de sesión. Después de iniciar sesión, tus credenciales se almacenan en el archivo de credenciales local que usa ADC.
IdP externo
Para configurar la autenticación delegada de credenciales para una cuenta de usuario gestionada por un proveedor de identidades externo y federada con Federación de identidades de trabajo, sigue estos pasos:
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Aparecerá una pantalla de inicio de sesión. Después de iniciar sesión, tus credenciales se almacenan en el archivo de credenciales local que usa ADC.
Consejos para configurar ADC con tus credenciales de usuario
Cuando configures ADC con tu cuenta de usuario, debes tener en cuenta lo siguiente:
Es posible que la autenticación de credenciales predeterminada de la aplicación configurada con una cuenta de usuario no funcione en algunas APIs sin pasos de configuración adicionales. Si ves un mensaje de error que indica que la API no está habilitada en el proyecto o que no hay ningún proyecto de cuota disponible, consulta Las credenciales de usuario no funcionan.
El archivo ADC local contiene tu token de actualización. Cualquier usuario con acceso a tu sistema de archivos puede usarlo para obtener un token de acceso válido. Si ya no necesita estas credenciales locales, puede revocarlas con el comando
gcloud auth application-default revoke
.Tu archivo ADC local está asociado a tu cuenta de usuario, no a tu configuración de la CLI de gcloud. Si cambias a otra configuración de la CLI de gcloud, puede que cambie la identidad que usa la CLI de gcloud, pero no afectará a tu archivo ADC local ni a la configuración de ADC.
Credenciales de cuenta de servicio
Puedes configurar ADC con las credenciales de una cuenta de servicio mediante la suplantación de identidad de la cuenta de servicio o con una clave de cuenta de servicio.
Suplantación de identidad de cuentas de servicio
Puedes usar la suplantación de identidad de la cuenta de servicio para configurar un archivo de credenciales predeterminadas de la aplicación (ADC) local. Las bibliotecas de cliente que admiten la suplantación de identidad pueden usar esas credenciales automáticamente. Los archivos ADC locales creados mediante la suplantación de identidad se admiten en los siguientes idiomas:
- C#
- Go
- Java
- Node.js
- Python
Debes tener el rol de gestión de identidades y accesos Creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator
) en la cuenta de servicio que estés suplantando. Para obtener más información, consulta la sección Roles obligatorios.
Usa la suplantación de identidad de la cuenta de servicio para crear un archivo ADC local:
gcloud auth application-default login --impersonate-service-account SERVICE_ACCT_EMAIL
Ahora puedes usar bibliotecas de cliente con los lenguajes admitidos de la misma forma que lo harías después de configurar un archivo ADC local con las credenciales de usuario. Las bibliotecas de autenticación encuentran las credenciales automáticamente. Para obtener más información, consulta el artículo Autenticarse para usar bibliotecas de cliente.
No todas las bibliotecas de autenticación admiten las credenciales de un archivo ADC local generado mediante la suplantación de identidad de una cuenta de servicio. Para obtener más información, consulta el artículo Error devuelto para las credenciales locales de la suplantación de identidad de la cuenta de servicio.
Claves de cuenta de servicio
Si no puedes usar una cuenta de usuario o la suplantación de identidad de una cuenta de servicio para el desarrollo local, puedes usar una clave de cuenta de servicio.
Para crear una clave de cuenta de servicio y que esté disponible para ADC, sigue estos pasos:
- Crea una cuenta de servicio con los roles que necesite tu aplicación y una clave para esa cuenta de servicio. Para ello, sigue las instrucciones que se indican en el artículo Crear una clave de cuenta de servicio.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.
Siguientes pasos
Consulta las prácticas recomendadas para usar las claves de cuentas de servicio.
Consulta los métodos de autenticación.