Además de la autenticación de Identity and Access Management (IAM), puedes usar la autenticación básica basada en tokens para proteger el acceso a tus instancias de Memorystore for Valkey. Como solución liviana, la autenticación básica basada en tokens permite que los clientes verifiquen sus identidades en tus aplicaciones con sus tokens.
La autenticación básica basada en tokens tiene requisitos mínimos de recursos y una sobrecarga de recursos baja. Además, si tus cargas de trabajo actuales en Memorystore para Redis o tus aplicaciones locales ya usan la autenticación básica basada en tokens, esta función facilita una transición sin problemas cuando migras a Memorystore para Valkey.
Beneficios
Si usas la autenticación básica basada en tokens, obtendrás los siguientes beneficios:
- Flexibilidad: Para instancias nuevas y existentes, habilita la autenticación en cualquier momento. Cuando habilitas la autenticación básica basada en tokens, tus instancias están protegidas. Para todas las conexiones nuevas, los usuarios deben proporcionar un token de autenticación para autenticarse en tus instancias.
- Rotación sin tiempo de inactividad: Rota los tokens de usuario sin causar tiempo de inactividad en tus aplicaciones.
- Compatibilidad: El superusuario de
defaultmantiene los mismos privilegios que se le otorgan a este usuario. La autenticación básica basada en tokens agrega una capa adicional de protección. Esto garantiza la retrocompatibilidad cuando migras tus cargas de trabajo de Memorystore para Redis a Memorystore para Valkey.
Modos de autenticación
La autenticación básica basada en tokens admite dos modos de autenticación principales:
- Autenticación simple: Es un método sencillo en el que un usuario envía un token de autenticación para autenticarse como el usuario
default. - Autenticación multiusuario: Administra varios usuarios para autenticar el acceso a tus instancias
Prácticas recomendadas
Por motivos de seguridad, te recomendamos que uses las siguientes prácticas recomendadas para la autenticación básica basada en tokens:
- Rota los tokens de usuario: Usa una política de rotación para los tokens de usuario.
Usa Secret Manager: No codifiques de forma rígida las credenciales de autenticación básicas basadas en tokens de un usuario en el código de la aplicación. En su lugar, almacénalos en Secret Manager y recupéralos en el tiempo de ejecución.
Secret Manager proporciona una bóveda centralizada y encriptada para las credenciales del usuario, lo que elimina la dispersión de secretos y reduce la sobrecarga operativa de la administración manual de credenciales. Aplica controles de acceso con IAM y genera registros de auditoría automáticamente. Esto garantiza el cumplimiento y evita la exposición de credenciales.
Combina la autenticación básica basada en tokens con la seguridad de la capa de transporte (TLS): Cuando usas la autenticación básica basada en tokens, te recomendamos que habilites la encriptación en tránsito. Esto garantiza que los nombres de usuario y los tokens de autenticación no se envíen como texto sin formato a través de la red.
Antes de comenzar
Antes de comenzar a proteger tus instancias con la autenticación básica basada en tokens, completa los requisitos previos que se indican en esta sección.
Verifica la compatibilidad del cliente con la autenticación básica basada en tokens
Para confirmar que tus aplicaciones cliente admiten la autenticación básica basada en tokens, asegúrate de que puedan usar el comando AUTH.
El usuario de default se autentica en tus aplicaciones cliente con el siguiente comando:
AUTH TOKEN
En este comando, TOKEN es el token de autenticación predeterminado del usuario.
Todos los demás usuarios se autentican con el siguiente comando:
AUTH USERNAME TOKEN
En este comando, USERNAME y TOKEN son el nombre de usuario y el token de autenticación del usuario.
Para obtener más información sobre el comando AUTH, consulta AUTH en la documentación de Valkey.
Usa la consola de Google Cloud , Google Cloud CLI y las APIs
Para usar la Google Cloud consola, gcloud CLI y las APIs, haz lo siguiente:
- En la consola de Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto de Google Cloud .
- Asegúrate de tener habilitada la facturación para tu proyecto. Obtén información para verificar si la facturación está habilitada en un proyecto.
Instala y, luego, inicializa Google Cloud CLI (gcloud CLI).
Nota: Si instalaste gcloud CLI, asegúrate de tener la versión más reciente ejecutando
gcloud components update. Para acceder a los comandos de gcloud CLI de Memorystore for Valkey, necesitas al menos la versión489.0.0de gcloud CLI.-
Habilita la API de Memorystore para Valkey.
API de Memorystore for Valkey -
Habilita la API de Network Connectivity.
API de Network Connectivity -
Habilita la API de Service Consumer Management.
API de Service Consumer Management
Asignar roles
Para configurar la autenticación básica basada en tokens para tus instancias, debes tener uno de estos roles de IAM en tu proyecto de Google Cloud :
roles/memorystore.admin(el rol de administrador de Memorystore)roles/owner(el rol de propietario)roles/editor(el rol de Editor)
Administra la autenticación básica basada en tokens para las instancias
Memorystore for Valkey admite las siguientes acciones para administrar la autenticación básica basada en tokens para instancias:
- Crea una instancia con autenticación básica basada en tokens
- Habilita la autenticación básica basada en tokens para una instancia
- Crea un usuario de autenticación básica basada en tokens para una instancia
- Enumera los usuarios de autenticación básica basada en tokens para una instancia
- Cómo ver información sobre un usuario de autenticación básica basada en tokens
- Borra un usuario de autenticación básica basada en tokens de una instancia
Crea una instancia con autenticación básica basada en tokens
Cuando creas una instancia con autenticación básica basada en tokens, tienes un método ligero y ampliamente compatible para restringir el acceso de un usuario a la instancia.
Puedes crear la instancia con la consola de Google Cloud o la gcloud CLI.
Console
Para crear una instancia y habilitar la autenticación básica basada en tokens, consulta Crea instancias.
gcloud
Para crear una instancia y habilitar la autenticación básica basada en tokens para ella, usa el comando gcloud beta memorystore instances create.
gcloud beta memorystore instances create INSTANCE_ID \ --location=REGION \ --authorization-mode=token-auth
Realiza los siguientes reemplazos:
- INSTANCE_ID: Es el ID de la instancia que deseas crear para usar la autenticación básica basada en tokens.
- REGION: Es la región en la que deseas que se ubique la instancia.
Habilita la autenticación básica basada en tokens para una instancia
Si habilitas la autenticación básica basada en tokens para una instancia, tendrás un método ligero y ampliamente compatible para restringir el acceso de un usuario a la instancia.
El usuario default puede autenticarse en la instancia solo con su token.
Todos los demás usuarios se autentican con un nombre de usuario y un token estándar. Para obtener más información, consulta Verifica la compatibilidad del cliente con la autenticación básica basada en tokens.
Habilitar la autenticación básica basada en tokens puede causar tiempo de inactividad para las aplicaciones que intentan crear conexiones nuevas, ya que Memorystore for Valkey requiere solicitudes autenticadas. Si bien las conexiones existentes no se verán afectadas, para utilizar la autenticación básica basada en tokens en cualquier intento de conexión posterior a la instancia, debes actualizar tus aplicaciones. Para obtener más información, consulta Cómo conectarse a una instancia con autenticación básica basada en tokens.
Puedes habilitar la autenticación básica basada en tokens para una instancia con la consola de Google Cloud o la CLI de gcloud.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
Haz clic en la instancia para la que deseas habilitar la autenticación básica basada en tokens.
En la página Instancia de un vistazo, desplázate hasta la tarjeta Seguridad.
Junto al campo Modo de autenticación, haz clic en Editar (edit).
Si aparece IAM Auth o Token Auth junto al campo, ya habilitaste la autenticación de IAM o la autenticación básica basada en tokens para la instancia.
En el diálogo Auth Mode, selecciona la opción Token Auth y, luego, haz clic en Update instance.
gcloud
Para habilitar la autenticación básica basada en tokens, usa el comando gcloud beta memorystore instances update.
gcloud beta memorystore instances update INSTANCE_ID \ --location=REGION \ --authorization-mode=token-auth
Realiza los siguientes reemplazos:
- INSTANCE_ID: ID de la instancia para la que deseas habilitar la autenticación básica basada en tokens
- REGION: Es la región en la que se encuentra la instancia.
Crea un usuario de autenticación básica basada en tokens para una instancia
Cuando creas un usuario de autenticación básica basada en tokens para una instancia, configuras la instancia para permitir la autenticación multiusuario. Después de que el usuario accede inicialmente, este modo de autenticación actúa como una credencial segura y revocable para las conexiones nuevas. El usuario puede seguir usando el token de autenticación hasta que lo borre o se quite al usuario.
Puedes crear un usuario básico de autenticación basada en tokens con la Google Cloud consola o la CLI de gcloud.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
Haz clic en la instancia para la que deseas crear un usuario de autenticación básica basada en tokens.
En el panel lateral de navegación, haz clic en el elemento de menú Usuarios.
Si este elemento de menú no aparece en el panel, significa que no creaste una instancia con autenticación básica ni habilitaste la autenticación básica basada en tokens para la instancia.
En la página Usuarios, haz clic en Agregar usuario.
En el diálogo Agregar usuario, ingresa un ID para el usuario y, luego, haz clic en Agregar.
gcloud
Para crear el usuario, usa el comando gcloud beta memorystore instances create-token-auth-user.
gcloud beta memorystore instances create-token-auth-user INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
Realiza los siguientes reemplazos:
- INSTANCE_ID: Es el ID de la instancia para la que deseas crear un usuario de autenticación básica basada en tokens.
- REGION: Es la región en la que se encuentra la instancia.
- USERNAME: El nombre de usuario
Enumera los usuarios de autenticación básica basada en tokens para una instancia
Puedes recuperar una lista de usuarios básicos de autenticación basada en tokens para una instancia con la Google Cloud consola o la CLI de gcloud.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
Haz clic en la instancia para la que deseas recuperar una lista de usuarios de autenticación básica basada en tokens.
En el panel lateral de navegación, haz clic en el elemento de menú Usuarios. En la página Usuarios, se muestra una lista de usuarios básicos de autenticación basada en tokens.
Si el elemento de menú Usuarios no aparece en el panel de navegación, significa que no creaste una instancia con autenticación básica o que no habilitaste la autenticación básica basada en tokens para la instancia.
gcloud
Para enumerar los usuarios, usa el comando gcloud beta memorystore instances token-auth-users list.
gcloud beta memorystore instances token-auth-users list \ --instance=INSTANCE_ID \ --location=REGION
Realiza los siguientes reemplazos:
- INSTANCE_ID: Es el ID de la instancia para la que deseas recuperar una lista de usuarios de autenticación básica basada en tokens.
- REGION: Es la región en la que se encuentra la instancia.
Consulta información sobre un usuario de autenticación básica basada en tokens
Puedes ver información sobre un usuario de autenticación básica basada en tokens con la gcloud CLI.
Para ver información sobre el usuario, usa el comando gcloud beta memorystore instances token-auth-users describe.
gcloud beta memorystore instances token-auth-users describe USERNAME \ --instance=INSTANCE_ID \ --location=REGION
Realiza los siguientes reemplazos:
- USERNAME: Es el nombre de usuario del usuario de autenticación básica basada en tokens sobre el que deseas ver información.
- INSTANCE_ID: Es el ID de la instancia en la que el usuario puede autenticarse.
- REGION: Es la región en la que se encuentra la instancia.
Cómo borrar un usuario de autenticación básica basada en tokens de una instancia
Si borras un usuario de autenticación básica basada en tokens de una instancia, revocas los derechos de acceso del usuario a la instancia.
Puedes borrar un usuario de autenticación básica basada en tokens de una instancia con la Google Cloud consola o la CLI de gcloud.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
Haz clic en la instancia en la que deseas borrar un usuario de autenticación básica basada en tokens.
En el panel lateral de navegación, haz clic en el elemento de menú Usuarios.
Si el elemento de menú no aparece en el panel, significa que no creaste una instancia con autenticación básica ni habilitaste la autenticación básica basada en tokens para la instancia.
En la página Usuarios, junto al ID del usuario que quieres borrar, haz clic en Acciones (more_vert).
En el menú que aparece, selecciona Quitar usuario.
En el cuadro de diálogo ¿Borrar usuario?, ingresa el ID del usuario y, luego, haz clic en Borrar. Memorystore for Valkey borra el usuario y todos los tokens de autenticación asociados con él.
Opcional: En el caso del usuario que borras, Memorystore for Valkey no finaliza las conexiones existentes. Para finalizar estas conexiones, ejecuta el siguiente comando en todos los nodos de la instancia:
CLIENT KILL USER USERNAME
gcloud
Para borrar el usuario, usa el comando gcloud beta memorystore instances token-auth-users delete.
gcloud beta memorystore instances token-auth-users delete USERNAME \ --instance=INSTANCE_ID \ --location=REGION
Realiza los siguientes reemplazos:
- USERNAME: Es el nombre de usuario del usuario de autenticación básica basada en tokens.
- INSTANCE_ID: Es el ID de la instancia de la que deseas borrar al usuario.
- REGION: Es la región en la que se encuentra la instancia.
En el caso del usuario que borras, Memorystore for Valkey también borra todos los tokens de autenticación asociados con él. Además, Memorystore para Valkey no finaliza las conexiones existentes. Para finalizar estas conexiones, ejecuta el siguiente comando en todos los nodos de la instancia:
CLIENT KILL USER USERNAME
Administra la autenticación básica basada en tokens para los usuarios
Memorystore for Valkey admite las siguientes acciones para administrar la autenticación básica basada en tokens para los usuarios:
- Crea un token de autenticación para un usuario
- Enumera los tokens de autenticación de un usuario
- Cómo ver información sobre los tokens de autenticación de un usuario
- Borra un token de autenticación de un usuario
Crea un token de autenticación para un usuario
Cuando crea un usuario de autenticación básica basada en tokens para una instancia, Memorystore for Valkey crea automáticamente un token de autenticación para el usuario. Sin embargo, puedes crear un token de autenticación adicional para el usuario. De esta manera, puedes rotar el token existente del usuario sin causar tiempo de inactividad en tus aplicaciones.
Puedes crear un token de autenticación para un usuario con la consola de Google Cloud o la CLI de gcloud.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
Haz clic en la instancia que tiene un usuario para el que deseas crear un token de autenticación.
En el panel lateral de navegación, haz clic en el elemento de menú Usuarios.
Si el elemento de menú no aparece en el panel, significa que no creaste una instancia con autenticación básica ni habilitaste la autenticación básica basada en tokens para la instancia.
En la página Usuarios, junto al ID del usuario para el que deseas crear un token de autenticación, haz clic en Acciones (more_vert).
En el menú que aparece, selecciona Agregar token de autenticación.
En el cuadro de diálogo Agregar token de autorización, haz clic en Agregar.
Si un usuario ya tiene dos tokens de autenticación, antes de que puedas crear otro token para él, debes borrar un token existente.
gcloud
Para crear el token, usa el comando gcloud beta memorystore instances token-auth-users create-auth-token.
gcloud beta memorystore instances token-auth-users create-auth-token USERNAME \ --instance=INSTANCE_ID \ --location=REGION
Realiza los siguientes reemplazos:
- USERNAME: Es el nombre de usuario para el que deseas crear un token de autenticación.
- INSTANCE_ID: Es el ID de la instancia a la que el usuario puede acceder con el token.
- REGION: Es la región en la que se encuentra la instancia.
Si un usuario ya tiene dos tokens de autenticación, antes de que puedas crear otro token para él, debes borrar un token existente.
Enumera los tokens de autenticación de un usuario
Puedes recuperar una lista de tokens de autenticación para un usuario con la CLI de gcloud.
Para enumerar los tokens, usa el comando gcloud beta memorystore instances token-auth-users auth-tokens list.
gcloud beta memorystore instances token-auth-users auth-tokens list \ --token-auth-user=USERNAME \ --instance=INSTANCE_ID \ --location=REGION
Realiza los siguientes reemplazos:
- USERNAME: Es el nombre de usuario al que pertenecen los tokens de autenticación.
- INSTANCE_ID: Es el ID de la instancia a la que el usuario puede acceder con los tokens de autenticación.
- REGION: Es la región en la que se encuentra la instancia.
Cómo ver información sobre los tokens de autenticación de un usuario
Puedes ver información sobre los tokens de autenticación de un usuario con la consola de Google Cloud o la CLI de gcloud.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
Haz clic en la instancia que tiene los tokens de autenticación de un usuario sobre los que deseas ver información.
En el panel lateral de navegación, haz clic en el elemento de menú Usuarios.
Si el elemento de menú no aparece en el panel, significa que no creaste una instancia con autenticación básica ni habilitaste la autenticación básica basada en tokens para la instancia.
En la página Usuarios, junto al ID del usuario, haz clic en Acciones (more_vert).
En el menú que aparece, selecciona Ver tokens de autorización. En el diálogo Tokens de autorización, se muestra la siguiente información:
- Es el ID del usuario.
- Es la cantidad de tokens de autenticación que tiene el usuario (uno o dos).
- Versión de cada token de autenticación, junto con la fecha y hora en que Memorystore for Valkey creó cada versión. Cada vez que crees un token de autenticación para un usuario, Memorystore for Valkey creará una versión incremental del token.
- Son los tokens de autenticación.
Opcional: Para obtener el token de autenticación de un usuario y poder usarlo para conectarte a una instancia, haz clic en Copiar (content_copy) junto a un token y, luego, pégalo en un editor de texto.
Haz clic en Listo.
gcloud
Para ver la información, usa el comando gcloud beta memorystore instances token-auth-users auth-tokens describe.
gcloud beta memorystore instances token-auth-users auth-tokens describe AUTH_TOKEN \ --instance=INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
Realiza los siguientes reemplazos:
- AUTH_TOKEN: Es el nombre del token de autenticación sobre el que deseas ver información.
- INSTANCE_ID: Es el ID de la instancia a la que el usuario puede acceder con el token.
- REGION: Es la región en la que se encuentra la instancia.
- USERNAME: El nombre de usuario al que pertenece el token de autenticación
Borra un token de autenticación de un usuario
Borrar un token de autenticación de un usuario es una acción de seguridad crítica que invalida el token.
Puedes borrar un token de autenticación de un usuario con la Google Cloud consola o la CLI de gcloud.
Console
En la consola de Google Cloud , ve a la página Memorystore para Valkey.
Haz clic en la instancia que tiene un usuario del que deseas borrar un token de autenticación.
En el panel lateral de navegación, haz clic en el elemento de menú Usuarios.
Si el elemento de menú no aparece en el panel, significa que no creaste una instancia con autenticación básica ni habilitaste la autenticación básica basada en tokens para la instancia.
En la página Usuarios, junto al ID del usuario del que deseas borrar un token de autenticación, haz clic en Acciones (more_vert).
En el menú que aparece, selecciona Borrar token de autorización.
En el diálogo ¿Quieres borrar el token de autenticación?, haz lo siguiente:
- En el menú Token de autenticación, selecciona el token de autenticación que deseas borrar.
- En el campo ID de token de autorización, ingresa el número de versión del token (por ejemplo,
version-1). - Haz clic en Borrar.
gcloud
Para borrar el token, usa el comando gcloud beta memorystore instances token-auth-users auth-tokens delete.
gcloud beta memorystore instances token-auth-users auth-tokens delete AUTH_TOKEN \ --instance=INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
Realiza los siguientes reemplazos:
- AUTH_TOKEN: Es el nombre del token de autenticación que deseas borrar del usuario.
- INSTANCE_ID: Es el ID de la instancia a la que deseas impedir que el usuario acceda borrando el token.
- REGION: Es la región en la que se encuentra la instancia.
- USERNAME: Es el nombre de usuario del usuario que tiene un token que deseas borrar.
Conéctate a una instancia con la autenticación básica basada en tokens
Puedes usar los siguientes métodos para conectarte a una instancia con la autenticación básica basada en tokens:
- Cadena del identificador uniforme de recursos (URI): Esta cadena única con formato se usa por conveniencia, ya que toda la información de conexión necesaria (por ejemplo, el nombre de usuario y el token de autenticación del usuario, y la dirección IP y el nombre de host de la instancia) se incluye en una sola cadena.
- Marcas: Este método es más adecuado para el uso individual de la herramienta de línea de comandos, la creación de secuencias de comandos o los entornos en los que la configuración se divide en variables de entorno separadas con varios argumentos independientes.
En las siguientes secciones, se explica cada método de conexión.
Usa una cadena de URI
Para conectarte desde una VM de Compute Engine o un entorno compatible con una cadena de URI, usa el siguiente comando:
valkey-cli -u redis://USERNAME:TOKEN@IP_ADDRESS:PORT
Realiza los siguientes reemplazos:
- USERNAME: El nombre de usuario del usuario que intenta conectarse a la instancia
- TOKEN: Es el token de autenticación del usuario.
- IP_ADDRESS: La dirección IP de la instancia
- PORT: Es el número de puerto reservado para la instancia.
Marcas de uso
Para conectarte desde una VM de Compute Engine o un entorno compatible con marcas, usa el siguiente comando:
valkey-cli --user USERNAME -a TOKEN -h IP_ADDRESS -p PORT
Realiza los siguientes reemplazos:
- USERNAME: El nombre de usuario del usuario que intenta conectarse a la instancia
- TOKEN: Es el token de autenticación del usuario.
- IP_ADDRESS: La dirección IP de la instancia
- PORT: Es el número de puerto reservado para la instancia.
Rota el token de autenticación de un usuario sin tiempo de inactividad
Para rotar el token de autenticación de un usuario sin causar tiempo de inactividad en tus aplicaciones, haz lo siguiente:
- Crea un token de autenticación adicional para el usuario: Memorystore for Valkey genera un segundo token válido. Ambos tokens son válidos.
- Actualiza tus aplicaciones: Actualiza tus aplicaciones para que usen el token nuevo.
- Borra el token de autenticación del usuario: Memorystore for Valkey quita el primer token. El usuario solo puede usar el segundo token para autenticarse en tus aplicaciones.
Registros de acceso para la autenticación básica basada en tokens
Memorystore for Valkey genera registros de auditoría de actividad del administrador y de acceso a los datos para las operaciones asociadas con tokens de autenticación y usuarios. Para obtener más información sobre estos registros de auditoría, consulta Supervisa el acceso con registros de auditoría.