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 en Valkey AUTH, lo que te permite rotar sin problemas las credenciales (tokens de IAM) 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 estos se otorgan a las principales. 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: 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. Para 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 el usuario o la cuenta de servicio al rol predefinido Memorystore DB Connection User (roles/memorystore.dbConnectionUser). Para obtener más información sobre los roles de IAM, consulta Roles.
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 los 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 que los clientes proporcionen 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 esté habilitada la encriptación en tránsito.
Para ver un ejemplo de cómo se puede ver el comando AUTH, consulta Conéctate a una instancia que usa la autenticación de IAM.
Período del token de acceso de IAM
El token de acceso de IAM que recuperas como parte de la autenticación vence 1 hora después de su recuperación de forma predeterminada. Como alternativa, puedes definir la hora de vencimiento del token de acceso cuando generes el token de acceso. Se debe presentar un token válido a través del comando AUTH cuando se establece una nueva conexión de Valkey. Si el token venció, deberás obtener uno nuevo para establecer conexiones nuevas.
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 en estado estable. Sin embargo, sí afecta la velocidad con la que puedes establecer una conexión.
Habilitar la autenticación de IAM limita la cantidad de conexiones de clientes que se establecen por 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 grupos de conexiones, por lo que este impacto es insignificante. Sin embargo, cuando se reinician o implementan las aplicaciones cliente, es posible que se produzca 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 un muestra de código sobre cómo usar la autenticación de IAM, consulta Ejemplo de código para la autenticación de IAM y el cifrado en tránsito.
Seguridad y privacidad
La autenticación de IAM te ayuda a garantizar que solo las principales de IAM autorizadas puedan acceder a tu instancia de Valkey. La encriptación TLS no se proporciona a menos que se habilite la Encriptación en tránsito. Por este motivo, se recomienda activar la encriptación en tránsito 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:
Alcance de la API de Cloud Platform. Para obtener instrucciones sobre cómo habilitar este permiso, consulta Conecta la cuenta de servicio y actualiza el permiso de acceso. Para obtener una descripción de las prácticas recomendadas para este permiso de acceso, consulta Prácticas recomendadas para los permisos.
API de Memorystore for Valkey Para obtener un vínculo que te permita habilitar la API, haz clic en el siguiente botón:
Memorystore para Valkey