Acerca del proxy de autenticación de AlloyDB

En esta página, se proporciona una descripción general del proxy de autenticación de AlloyDB, un conector que te permite establecer conexiones encriptadas y autorizadas a bases de datos de AlloyDB.

Si deseas obtener una guía paso a paso para usar el proxy de autenticación, consulta Conéctate con el proxy de autenticación de AlloyDB.

Beneficios de usar el proxy de autenticación de AlloyDB

El proxy de autenticación ofrece las siguientes ventajas en comparación con la conexión directa de clientes a bases de datos de AlloyDB:

  • Autorización de conexión basada en IAM. El proxy de autenticación usa las credenciales y los permisos de un principal de Identity and Access Management (IAM) para autorizar conexiones a instancias de AlloyDB.

  • Autenticación de IAM automatizada El proxy de autenticación puede autenticar automáticamente a los usuarios de la base de datos en función de la principal de IAM que ejecuta el proxy.

  • Comunicación segura y encriptada El proxy de autenticación crea, usa y mantiene automáticamente una conexión TLS (mTLS) mutua 1.3 con un algoritmo de cifrado AES de 256 bits entre tu cliente y una instancia de AlloyDB para verificar las identidades del cliente y del servidor, y encriptar el tráfico de datos.

Para obtener más información sobre cómo conectarte a instancias de AlloyDB, consulta la Descripción general de la conexión.

Cómo funciona el proxy de autenticación de AlloyDB

El proxy de autenticación de AlloyDB funciona con un cliente local que se ejecuta en el entorno local. La aplicación se comunica con el proxy de autenticación de AlloyDB a través del protocolo de base de datos estándar que usa tu base de datos.

El proxy de autenticación de AlloyDB usa un túnel seguro (mTLS 1.3, algoritmo de cifrado AES de 256 bits) para comunicarse con el proceso complementario que se ejecuta en el servidor. Cada conexión establecida a través del proxy de autenticación de AlloyDB crea una conexión con la instancia de AlloyDB.

Cuando una aplicación se conecta al proxy de autenticación de AlloyDB, este verifica si hay una conexión existente entre ella y la instancia de AlloyDB de destino. Si no existe una conexión, llama a las APIs de AlloyDB Admin para obtener un certificado SSL efímero y lo usa para conectarse a AlloyDB. Los certificados SSL efímeros vencen en 24 horas. El proxy de autenticación de AlloyDB actualiza estos certificados antes de que venzan.

El proxy de autenticación de AlloyDB llama a las APIs a través del nombre de dominio alloydb.googleapis.com con HTTPS. Como resultado, tu firewall debe permitir todas las conexiones TCP de salida en el puerto 443 (HTTPS) desde la máquina cliente.

Si bien el proxy de autenticación de AlloyDB puede escuchar en cualquier puerto, crea conexiones salientes o de salida a tu instancia de AlloyDB solo en el puerto 5433. Si tu host cliente tiene un firewall saliente, debe permitir conexiones al puerto 5433 en la dirección IP de tu instancia de AlloyDB. El host del cliente también debe permitir conexiones al puerto 443, que es el puerto HTTPS estándar, a todas las direcciones IP.

Cómo el proxy de autenticación de AlloyDB autentica y autoriza las conexiones

Para autorizar la conexión de un cliente a una instancia de AlloyDB, el cliente del proxy de autenticación se autentica en Google Cloud con credenciales de la entidad de IAM en el cliente y, luego, valida que la entidad de IAM tenga los roles de IAM Cliente de Cloud AlloyDB (roles/alloydb.client) y Consumidor de Service Usage (roles/serviceusage.serviceUsageConsumer).

De forma predeterminada, el cliente del proxy de autenticación usa las credenciales predeterminadas de la aplicación (ADC) para ubicar las credenciales del cliente. Esto proporciona una forma unificada y estándar para que las aplicaciones se autentiquen automáticamente sin editar ni codificar de forma rígida los valores de configuración.

Autenticación estándar

Para las configuraciones estándar de desarrollo y producción, no es necesario que configures credenciales ni marcas personalizadas. El cliente de Auth Proxy resuelve automáticamente las credenciales con rutas de entorno estándar. Según el entorno que uses para ejecutar el cliente del proxy de autenticación, este ubicará las credenciales en las siguientes fuentes:

  • Desarrollo local Cuando desarrollas de forma local, puedes autenticarte con tu cuenta de usuario personal o corporativa de Google. El cliente del proxy de autenticación detecta y usa estas credenciales automáticamente. Este es el enfoque recomendado para el desarrollo local, ya que evita la necesidad de descargar archivos de claves de cuentas de servicio de forma local.

  • Entornos administrados por Google Cuando ejecutas tu aplicación en un servicio deGoogle Cloud , como instancias de Compute Engine, Google Kubernetes Engine, Cloud Run, funciones de Cloud Run o App Engine, el servidor de metadatos del entorno proporciona automáticamente las credenciales de la cuenta de servicio conectada. El cliente de Auth Proxy descubre y usa automáticamente estas credenciales sin configuración adicional.

    • Si el recurso de procesamiento está en el mismo proyecto que la instancia de AlloyDB, la cuenta de servicio predeterminada suele tener los permisos necesarios para la autenticación.
    • Si el recurso de procesamiento y la instancia de AlloyDB se encuentran en proyectos diferentes, debes agregar la cuenta de servicio del recurso de procesamiento al proyecto que contiene la instancia de AlloyDB y otorgarle los roles necesarios.

Anular credenciales

En situaciones específicas, como cuando realizas pruebas, ejecutas fuera deGoogle Cloudo deseas omitir las credenciales del entorno estándar, puedes anular las credenciales con uno de los siguientes métodos:

  • Una clave de cuenta de servicio Proporciona la clave a través de la variable de entorno GOOGLE_APPLICATION_CREDENTIALS o la marca --credentials-file. Las claves de cuentas de servicio son un riesgo de seguridad si no se administran de forma adecuada, por lo que es preferible usar una de las fuentes estándar cuando sea posible.

  • Un token de acceso de OAuth 2.0 existente Proporciona el token a través de la marca --token.

  • Credenciales de la CLI de gcloud Proporciona estas credenciales a través de la marca --gcloud-auth. No recomendamos esta marca. En su lugar, ejecuta gcloud auth application-default login.

Para obtener más información sobre cómo configurar estas credenciales en el cliente, consulta Conéctate con el proxy de autenticación de AlloyDB. Para obtener información general sobre el enfoque de autenticación de Google Cloud, consulta la Descripción general de la autenticación.

¿Qué sigue?