Antes de interactuar con las APIs y los servicios de Google Cloud , debes demostrar que eres quien dices ser. Este proceso para demostrar tu identidad se conoce como autenticación.
Para autenticarte en Google Cloud, debes proporcionar credenciales como evidencia de tu identidad. Por ejemplo, para usar un servicio, es posible que te autentiques con credenciales como una contraseña y un código de un solo uso.
Google Cloud se refiere a los usuarios autenticados como principales. Cuando intentas acceder a un recurso, como un proyecto Google Cloud o un bucket de almacenamiento, Google Cloud comprueba qué nivel de acceso tiene tu principal al recurso solicitado. Este proceso se denomina autorización y lo controla un sistema llamado Identity and Access Management (IAM).
Estos mismos conceptos se aplican al código que realiza tareas automatizadas en tu nombre, lo que se conoce como cargas de trabajo. Una carga de trabajo debe proporcionar credenciales para demostrar su identidad y autenticarse como principal, después de lo cual Google Cloud puede determinar el nivel de acceso que tiene la carga de trabajo a los recursos que solicitó.
Tipos principales
Existen diferentes tipos de principales con los que te puedes autenticar. Incluso puedes usar diferentes tipos de principales en diferentes etapas de una tarea o en diferentes entornos de desarrollo.
Los principales tipos de entidades y las credenciales que requieren para autenticarse incluyen los siguientes:
Cuentas de usuario: Son Cuentas de Google que los usuarios utilizan para realizar trabajos interactivos, como tareas administrativas incidentales, configuración no programática de servicios de Google Cloud , pruebas, experimentación y observabilidad.
Te autenticas como una cuenta de usuario con credenciales de usuario, como una contraseña y un código de un solo uso.
Cuentas de servicio: Son cuentas internas de Google Cloud que las cargas de trabajo pueden usar para acceder a servicios o recursos. Por lo general, no te autenticas directamente como una cuenta de servicio. En su lugar, adjunta una cuenta de servicio a un recurso, como una VM de Compute Engine, o usa la suplantación de identidad de la cuenta de servicio.
En la mayoría de los casos, te recomendamos usar credenciales de cuenta de servicio de corta duración para autenticar una cuenta de servicio.
Identidades federadas: Son identidades que hacen referencia a cuentas de usuario o de servicio en un proveedor de identidad externo. Google Cloudadmite dos tipos de identidades federadas con nombres similares:
Federación de identidades de personal: Permite que los usuarios humanos accedan a Google Cloud con identidades administradas por un proveedor de identidad externo. Si tu organización ya configuró el inicio de sesión único (SSO), puedes usar este tipo de identidad para autenticarte en Google Cloud.
Tu proveedor de identidad debe admitir OpenID Connect (OIDC) o SAML 2.0 para usar la federación de identidades de personal.
Federación de identidades para cargas de trabajo: Permite que las cargas de trabajo que se ejecutan fuera de Google Cloud operen en recursos de Google Cloud.
Puedes usar la federación de Workload Identity con cargas de trabajo que se autentican con certificados de cliente X.509, que se ejecutan en Amazon Web Services (AWS) o Azure, en Active Directory local, en servicios de implementación, como GitHub y GitLab, y con cualquier proveedor de identidad que admita OpenID Connect (OIDC) o Security Assertion Markup Language (SAML) V2.0.
Para obtener más información sobre estos y otros tipos de principales admitidos en Google Cloud, consulta Tipos de principales.
Configura tu organización Google Cloud para la autenticación
Cuando configures la autenticación para tu organización de Google Cloud , es posible que debas integrar los sistemas y flujos de trabajo existentes en Google Cloud:
Si tienes un proveedor de identidad existente que deseas usar, debes configurar la federación de identidades de personal.
Si tienes cargas de trabajo que se ejecutan fuera de Google Cloud y que necesitan acceder a recursos deGoogle Cloud , debes configurar la federación de identidades para cargas de trabajo.
También te recomendamos que hagas lo siguiente para proteger tu entorno de Google Cloud:
Asegúrate de que la autenticación de varios factores esté habilitada para tus usuarios.
Verifica si necesitas cambiar la configuración de la reautenticación.
Crea políticas para administrar claves de API.
Crea políticas para administrar claves de cuentas de servicio.
Autentica personas y cargas de trabajo
La forma en que te autenticas en Google Cloud depende de las APIs y los servicios que usas, y de la manera en que interactúas con ellos.
Autentica a las personas
Cuando realizas trabajos manuales e interactivos, como tareas administrativas incidentales, configuración de recursos, cambios de configuración, experimentos y exploración de registros, usas las credenciales de tu cuenta de usuario para autenticarte.
Console
Para el trabajo interactivo en la Google Cloud consola, te autenticas accediendo a la interfaz web con tus credenciales de usuario.
Ir a la consola de Google Cloud
Las mismas credenciales de tu sesión de la consola de Google Cloud se usan para Cloud Shell, donde puedes acceder a gcloud CLI.
gcloud
Después de instalar gcloud CLI en tu dispositivo local, puedes usar tus credenciales de usuario para autenticarte en Google Cloud ejecutando el siguiente comando en tu terminal:
gcloud auth login
Después de la autenticación, los comandos gcloud posteriores usan el principal que accedió para realizar sus solicitudes.
Para autenticarte con credenciales de la federación de identidades para la personal, la federación de identidades para cargas de trabajo o claves de cuentas de servicio, consulta Autenticación para usar la CLI de gcloud.
Autentica cargas de trabajo
Ya sea que desarrolles y ejecutes código en tu dispositivo local, enGoogle Cloud, de forma local o en otra nube, la forma más flexible y portátil de autenticar tu carga de trabajo es proporcionar credenciales a través de un mecanismo llamado credenciales predeterminadas de la aplicación (ADC).
Las bibliotecas que implementan ADC (como las bibliotecas cliente deGoogle Cloud ) verifican las ubicaciones conocidas en el entorno en el que se ejecutan para obtener credenciales. Esto significa que, si cambias el lugar donde se ejecuta tu código, no necesitas cambiar el código en sí, solo las credenciales que se usan para ese entorno.
Por ejemplo, cuando desarrollas de forma local, puedes configurar tu entorno para que ADC use tus credenciales de usuario para la autenticación. Cuando tu código esté listo para la producción, puedes implementarlo sin cambios en una instancia de VM de Compute Engine y configurar el entorno para que use credenciales de cuenta de servicio de corta duración para la autenticación.
No puedes usar ADC para autenticarte en las siguientes situaciones:
Cuando se autentica gcloud CLI
Cuando se usa una clave de API Las claves de API solo se pueden usar con APIs específicas.
Para obtener información sobre cómo configurar ADC para entornos específicos, consulta Configura las credenciales predeterminadas de la aplicación.
¿Qué sigue?
Obtén más información sobre los diferentes métodos de autenticación para Google Cloud.
Para comprender cómo controlas a qué puede acceder una principal en Google Cloud, consulta Autorización y control de acceso.