Información acerca de la autenticación de IAM

Memorystore proporciona la función de autenticación de Identity and Access Management (IAM) que aprovecha IAM para ayudarte a administrar mejor el acceso de los usuarios y las cuentas de servicio. La autenticación basada en IAM se integra con Valkey AUTH, lo que te permite rotar las credenciales (tokens de IAM) sin problemas sin depender de contraseñas estáticas.

Para obtener instrucciones sobre cómo configurar la autenticación de IAM para tu instancia de Memorystore, consulta Administra la autenticación de IAM.

Autenticación de IAM para Valkey

Cuando se usa la autenticación de IAM, el permiso para acceder a una instancia de Memorystore no se otorga directamente al usuario final. En su lugar, los permisos se agrupan en roles, y los roles se otorgan a las principales autenticadas. Para obtener más información, consulta la descripción general de IAM.

Los administradores que se autentican con IAM pueden usar la autenticación de IAM de Memorystore para administrar de forma centralizada el control de acceso a sus instancias con políticas de IAM. Las políticas de IAM involucran las siguientes entidades:

  • Principales. En Memorystore, puedes usar dos tipos de principales de IAM: una cuenta de usuario y una cuenta de servicio (para aplicaciones). Otros tipos de principales, como los grupos de Google, los dominios de Google Workspace o los dominios de Cloud Identity, aún no son compatibles con la autenticación de IAM. Si quieres obtener más información, consulta Conceptos relacionados con la identidad.

  • Funciones. Para la autenticación de IAM de Memorystore, un usuario necesita el permiso memorystore.instances.connect para autenticarse con una instancia. Para obtener este permiso, puedes vincular la cuenta de servicio o usuario a la función predefinida Usuario de conexión de Memorystore DB (roles/memorystore.dbConnectionUser). Para obtener más información sobre las funciones de IAM, consulta Funciones.

  • Recursos. Los recursos a los que acceden los principales son instancias de Memorystore. De forma predeterminada, las vinculaciones de políticas de IAM se aplican a nivel de proyecto, de modo que los principales reciban permisos de función para todas las instancias de Memorystore en el proyecto. Sin embargo, las vinculaciones de políticas de IAM se pueden restringir a una instancia en particular. Para obtener instrucciones, consulta Administra permisos para la autenticación de IAM.

Comando AUTH de Valkey

La función de autenticación de IAM usa el comando AUTH de Valkey para integrarse con IAM, lo que permite a los clientes proporcionar un token de acceso de IAM que la instancia de Valkey verificará antes de permitir el acceso a los datos.

Al igual que todos los comandos, el comando AUTH se envía sin encriptar, a menos que la encriptación en tránsito esté habilitada.

Para ver un ejemplo de cómo puede verse el comando AUTH, consulta Conéctate a una instancia que usa la autenticación de IAM.

Período del token de acceso de IAM

De forma predeterminada, el token de acceso de IAM que recuperas como parte de la autenticación vence una hora después de recuperarlo. Como alternativa, cuando generas el token de acceso, puedes extender el tiempo de vencimiento del token hasta por 12 horas.

Cuando estableces una nueva conexión de Valkey, debes presentar un token de acceso válido con el comando AUTH. Si el token vence, debes obtener uno nuevo para establecer conexiones nuevas. Sin embargo, si ya autenticaste una conexión existente, esta seguirá funcionando, incluso si el token vence.

Finaliza una conexión autenticada

Para finalizar una conexión, usa el comando CLIENT KILL de Valkey. Primero, ejecuta CLIENT LIST para identificar la conexión y, luego, ejecuta CLIENT KILL para finalizarla.

Habilita la autenticación de IAM

Habilitar la autenticación de IAM no degrada el rendimiento del estado estable. Sin embargo, sí afecta la velocidad con la que puedes establecer una conexión.

Habilitar la autenticación de IAM limita la velocidad de las conexiones de cliente que se establecen cada segundo. Esto se debe a que la autenticación de IAM de Google Cloud debe autenticar cada conexión nueva. En estado estable, una aplicación habilita los grupos de conexiones, por lo que este impacto es insignificante. Sin embargo, cuando se reinician o implementan las aplicaciones cliente, puede haber un aumento repentino de conexiones nuevas. Si actualizas tus clientes de forma gradual y aplicas una retirada exponencial, puedes absorber esta tasa reducida.

Para ver una muestra de código sobre cómo usar la autenticación de IAM, consulta Muestra de código para la autenticación de IAM y la encriptación en tránsito.

Seguridad y privacidad

La autenticación de IAM te ayuda a garantizar que solo las principales autenticadas de IAM puedan acceder a tu instancia de Valkey. No se proporciona encriptación TLS, a menos que la encriptación en tránsito esté habilitada. Por este motivo, se recomienda que la encriptación en tránsito esté activada cuando se usa la autenticación de IAM.

Conéctate con una VM de Compute Engine

Si usas una VM de Compute Engine para conectarte a una instancia que usa la autenticación de IAM, debes habilitar los siguientes permisos de acceso y APIs para tu proyecto: