Compartir vía


Configuración del control de acceso basado en roles con la directiva de acceso a datos

La administración del acceso a la instancia de Azure Cache for Redis es fundamental para garantizar que los usuarios adecuados tengan acceso al conjunto correcto de datos y comandos. En la versión 6 de Redis, se introdujo la Lista de control de acceso (ACL). La ACL limita qué usuarios pueden ejecutar determinados comandos y las claves a las que puede tener acceso un usuario. Por ejemplo, puede prohibir que usuarios específicos eliminen claves en la memoria caché mediante el comando DEL.

Azure Cache for Redis ahora integra esta funcionalidad de ACL con Microsoft Entra ID para permitirle configurar las directivas de acceso a datos para la entidad de servicio y la identidad administrada de la aplicación.

Azure Cache for Redis ofrece tres directivas de acceso integradas: Propietario de datos, Colaborador de datos y Lector de datos. Si las directivas de acceso integradas no satisfacen los requisitos de aislamiento y protección de datos, puede crear y usar su propia directiva de acceso a datos personalizada, como se describe en Configuración de una directiva de acceso a datos personalizada.

Ámbito de disponibilidad

Nivel Básico, Estándar, Premium Enterprise o Enterprise Flash
Disponibilidad No

Requisitos previos y limitaciones

  • Las directivas de acceso a datos y la ACL de Redis no se admiten en las instancias de Azure Cache for Redis que ejecutan la versión 4 de Redis.
  • La ACL y las directivas de acceso a datos de Redis no son compatibles con las instancias de Azure Cache for Redis que dependen de Servicios en la nube.
  • La autenticación y autorización de Microsoft Entra solo se admiten para las conexiones SSL.
  • Algunos comandos de Redis están bloqueados.

Permisos para la directiva de acceso a datos

Como se documenta en Lista de control de acceso de Redis, la ACL en la versión 6.0 de Redis permite configurar permisos de acceso para tres áreas:

Categorías de comandos

Redis ha creado agrupaciones de comandos, como comandos administrativos, comandos peligrosos, etc., para facilitar la configuración de permisos en un grupo de comandos.

  • Usar +@commandcategory para permitir una categoría de comandos
  • Usar -@commandcategory para no permitir una categoría de comandos

Estos comandos siguen bloqueados. Los siguientes grupos son categorías de comandos útiles que admite Redis. Para obtener más información sobre las categorías de comandos, vea la lista completa bajo el encabezado Categorías de comandos.

  • admin
    • Comandos administrativos. Las aplicaciones normales nunca necesitan usarlos, como MONITOR, SHUTDOWN y otras.
  • dangerous
    • Comandos potencialmente peligrosos. Cada uno debe considerarse con cuidado por diversos motivos, incluidos FLUSHALL, RESTORE, SORT, KEYS, CLIENT, DEBUG, INFO, CONFIG y otros.
  • keyspace
    • Escribir o leer desde claves, bases de datos o sus metadatos de una manera independiente del tipo, incluidos DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, KEYS, EXPIRE, TTL, FLUSHALL y mucho más. Los comandos que pueden modificar el espacio de claves, la clave o los metadatos también tienen la categoría de escritura. Los comandos que solo leen el espacio de claves, la clave o los metadatos tienen la categoría de lectura.
  • pubsub
    • Comandos relacionados con PubSub.
  • read
    • Lectura de claves, valores o metadatos. Los comandos que no interactúan con las claves, no tienen lectura ni escritura.
  • set
    • Tipo de datos: conjuntos relacionados.
  • sortedset
    • Tipo de datos: conjuntos ordenados relacionados.
  • stream
    • Tipo de datos: flujos relacionados.
  • string
    • Tipo de datos: cadenas relacionadas.
  • write
    • Escribir en claves (valores o metadatos).

Comandos

Los comandos permiten controlar qué comandos específicos podrá ejecutar un usuario de Redis determinado.

  • Use +command para permitir un comando.
  • Usar -command para no permitir un comando.

Teclas

Las claves permiten controlar el acceso a claves específicas o grupos de claves almacenadas en la memoria caché.

  • Use ~<pattern> para proporcionar un patrón para las claves.

  • Use ~* o allkeys para indicar que los permisos de categoría de comandos se aplican a todas las claves de la instancia de caché.

Cómo especificar permisos

Para especificar permisos, debe crear una cadena para guardarla como directiva de acceso personalizada y, a continuación, asignar la cadena al usuario de Azure Cache for Redis.

La lista siguiente contiene algunos ejemplos de cadenas de permisos para varios escenarios.

  • Permitir que la aplicación ejecute todos los comandos en todas las claves

    Cadena de permisos: +@all allkeys

  • Permitir que la aplicación ejecute solo comandos de lectura

    Cadena de permisos: +@read ~*

  • Permitir que la aplicación ejecute la categoría de comandos de lectura y establezca el comando en las claves con el prefijo Az.

    Cadena de permisos: +@read +set ~Az*

Configuración de una directiva de acceso a datos personalizada para la aplicación

  1. En Azure Portal, seleccione la instancia de Azure Cache for Redis en la que quiere configurar la autenticación basada en tokens de Microsoft Entra.

  2. En el menú Recurso, seleccione Configuración de acceso a datos.

    Captura de pantalla que muestra la opción Configuración de acceso a datos resaltada en el menú Recurso.

  3. Seleccione Agregar y elija Nueva directiva de acceso.

    Captura de pantalla que muestra un formulario para agregar una directiva de acceso personalizada.

  4. Proporcione un nombre para la directiva de acceso.

  5. Configure los permisos según sus requisitos.

  6. Para agregar un usuario a la directiva de acceso mediante Microsoft Entra ID, primero debe habilitar Microsoft Entra ID seleccionando Autenticación en el menú Recurso.

  7. Seleccione Habilitar autenticación de Microsoft Entra como pestaña en el panel de trabajo.

  8. Si aún no está comprobada, active la casilla con la etiqueta Habilitar la autenticación de Microsoft Entra y seleccione Aceptar. Después, seleccione Guardar.

    Captura de pantalla de la ID de autorización de acceso de Microsoft Entra.

  9. Se muestra un cuadro de diálogo emergente en el que se le pregunta si desea actualizar la configuración e informa de que tarda varios minutos. Seleccione .

    Importante

    Una vez completada la operación de habilitación, los nodos de la instancia de caché se reinician para cargar la nueva configuración. Se recomienda realizar esta operación durante la ventana de mantenimiento o fuera del horario comercial pico. Esta operación puede tardar hasta 30 minutos.

Configuración del cliente de Redis para usar Microsoft Entra ID

Ahora que ha configurado la directiva de acceso de usuario y datos de Redis para configurar el control de acceso basado en roles, es necesario actualizar el flujo de trabajo de cliente para admitir la autenticación mediante un usuario o una contraseña específicos. Para obtener información sobre cómo configurar la aplicación cliente para conectarse a la instancia de caché como un usuario específico de Redis, consulte Configuración del cliente de Redis para usar Microsoft Entra ID.

Pasos siguientes