Administra la autenticación de IAM

En esta página, se proporcionan instrucciones sobre las tareas comunes para el IAM Función de autenticación de Memorystore para Valkey. Para obtener más detalles sobre la función, consulta Acerca de la autenticación de IAM.

Crea una instancia con autenticación de IAM

Para crear una instancia de Memorystore para Valkey que use la autenticación de IAM, ejecuta el comando create:

gcloud beta memorystore instances create INSTANCE_ID --region=REGION_ID --network=NETWORK --node-type=NODE_TYPE --shard-count=SHARD_COUNT --auth-mode=iam-auth

Reemplaza lo siguiente:

  • INSTANCE_ID es el ID de la instancia de Memorystore para Valkey que creas. El ID de tu instancia debe tener entre 1 y 63 caracteres y usar solo letras minúsculas, números o guiones. Debe empezar con una letra minúscula y terminar con una letra o un número.

  • REGION_ID es la región en la que deseas que se coloque la instancia.

  • NETWORK es la red que se usó para crear la instancia. Debe usar el formato projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. El ID de red que se usa aquí debe coincidir con el que usa la política de conexión de servicios. De lo contrario, la operación create fallará. Para obtener más detalles, consulta Herramientas de redes.

  • NODE_TYPE es el tipo de nodo que elegiste. Los valores aceptados son los siguientes:

    • shared-core-nano
    • standard-small
    • highmem-medium
    • highmem-xlarge

    Para obtener más detalles sobre los tipos de nodos y la configuración de instancias, consulta Especificación de instancias y nodos.

  • SHARD_COUNT determina la cantidad de fragmentos en tu instancia. El recuento de fragmentos determina la capacidad de memoria total para almacenar datos de instancias. Para obtener más detalles sobre la especificación de instancias, consulta Especificación de instancias y nodos.

Otorga permisos para la autenticación de IAM

Para otorgar acceso de IAM, otorga al principal el rol roles/memorystore.dbConnectionUser con las instrucciones para otorgar roles de IAM.

De forma predeterminada, otorgar a una principal el rol roles/memorystore.dbConnectionUser le permite la principal acceda a todas las instancias de tu proyecto.

Crear un rol de administrador de IAM limitado para una instancia

Te recomendamos crear un rol que pueda modificar la conexión de la instancia. permisos de IAM sin otorgar permisos de IAM completos, acceso de administrador. Para ello, crea un administrador de IAM limitado para el rol roles/memorystore.dbConnectionUser. Para obtener más detalles, consulta Crea administradores de IAM limitados.

Conéctate a una instancia que use la autenticación de IAM

  1. Si aún no tienes una VM de Compute Engine que use el mismo red autorizada como tu instancia de Valkey, crea una y conéctate a ella a continuación de la Guía de inicio rápido para usar una VM de Linux.

  2. Para conectarte a tu instancia, debes habilitar los siguientes permisos de acceso y APIs en el proyecto:

  3. Instala valkey-cli en la VM de Compute Engine de la siguiente manera: en Cómo instalar Valkey.

  4. Ejecuta el siguiente comando para obtener un token de acceso para tu usuario de IAM:

    gcloud auth print-access-token
    
  5. Conéctate al extremo de descubrimiento de tu instancia:

    valkey-cli -h NETWORK_ADDRESS -p PORT -a ACCESS_TOKEN -c
    

    Reemplaza lo siguiente:

  6. Ejecuta el comando CLUSTER SHARDS para ver la topología de tu nodo. Anota una de las direcciones IP y los números de puerto del nodo.

  7. Ejecuta el siguiente comando para conectarte al nodo que elegiste:

    valkey-cli -h NODE_IP_ADDRESS -p NODE_PORT -a ACCESS_TOKEN -c
    

    Reemplaza lo siguiente:

    • NODE_IP_ADDRESS es la dirección IP del nodo que encontraste en el paso anterior.
    • NODE_PORT es el número de puerto del nodo que encontraste en el paso anterior.
  8. Ejecuta un comando SET y GET de Valkey para verificar que estableciste una conexión autenticada al nodo de tu instancia.

  9. Una vez que termines de probar tu conexión a la instancia de Valkey, deberías considera borrar la VM de Compute Engine que usaste para conectarte a la instancia de Valkey. Esto te ayuda a evitar que se generen cargos en tu cuenta de Cloud Billing.

  10. Ejecuta el siguiente comando para usar valkey-cli a fin de autenticarte y conectarte a reemplaza las variables por los valores correspondientes:

    valkey-cli -h NETWORK_ADDRESS -p PORT -a ACCESS_TOKEN -c
    

    Reemplaza lo siguiente:

  11. Ejecuta los comandos SET y GET de Valkey para verificar que estableciste un y una conexión autenticada a tu instancia.

  12. Una vez que termines de probar tu conexión a la instancia de Valkey, deberías considera borrar la VM de Compute Engine que usaste para conectarte a la instancia de Valkey. Esto te ayuda a evitar incurrir cargos a tu cuenta de Facturación de Cloud.

Automatiza la recuperación de tokens de acceso

Te recomendamos que automatices la recuperación de tokens de acceso en tu aplicación, ya que no se pueden codificar fácilmente debido a su vida útil corta.

  1. (Opcional) Si aún no lo hiciste, crea una cuenta de servicio para tu aplicación (consulta Crea y administra una cuenta de servicio).

    gcloud iam service-accounts create SA_NAME \
        --description="DESCRIPTION" \
        --display-name="DISPLAY_NAME"
    

    Reemplaza lo siguiente:

    • SA_NAME es el nombre de la cuenta de servicio.
    • DESCRIPTION es una descripción opcional de la cuenta de servicio.
    • DISPLAY_NAME es un nombre de cuenta de servicio que se mostrará en el Consola de Google Cloud
  2. Otorga a tu cuenta de servicio el permiso memorystore.dbConnectionUser en tu en un proyecto final.

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:SA_NAME@PROJECT_ID.iam.gserviceaccount.com" \
    --role="memorystore.dbConnectionUser"
    

    Reemplaza lo siguiente:

    • PROJECT_ID es el ID del proyecto.
    • SA_NAME es el nombre de la cuenta de servicio.
    • ROLE_NAME es un nombre de rol, como roles/compute.osLogin.
  3. Autentica tu aplicación como la cuenta de servicio determinada. Consulta las cuentas de servicio. para obtener más información.

    Para ver muestras de código en las que se muestre cómo autenticar tu aplicación con bibliotecas cliente populares, consulta las muestras de código de la biblioteca cliente de autenticación de IAM.

Ejemplo de código para conectarse a una instancia que usa la autenticación de IAM

Si deseas ver una muestra de código compatible con Valkey sobre cómo configurar una biblioteca cliente para conectarse a un que usa la autenticación de IAM, consulta la muestra de código de la biblioteca cliente de autenticación de IAM.