Compartir a través de


Configuración de políticas de acceso a datos personalizadas

Administrar el acceso a la instancia de caché en Redis de Azure es fundamental para garantizar que los usuarios adecuados tengan acceso al conjunto correcto de datos y comandos. La versión 6 de Redis introdujo la lista de control de acceso (ACL), que enumera las claves a las que pueden acceder usuarios específicos y los comandos que pueden ejecutar. Por ejemplo, puede prohibir a usuarios específicos que utilicen el comando SUPR para eliminar claves en la memoria caché.

Azure Cache for Redis integra esta funcionalidad de ACL con Microsoft Entra para permitirle configurar y asignar directivas de acceso a datos para los usuarios, la entidad de servicio y la identidad administrada de la aplicación. Azure Cache for Redis ofrece tres directivas de acceso integradas que se pueden asignar mediante el control de acceso basado en rol (RBAC): Propietario de datos, Colaborador de datos y Lector de datos.

Si las políticas de acceso integradas no satisfacen los requisitos de protección y aislamiento de datos, puede crear y usar sus propias directivas de acceso a datos personalizadas. En este artículo se describe la configuración de una directiva de acceso a datos personalizada para Azure Cache for Redis y la habilitación de RBAC a través de la autenticación de Microsoft Entra.

Ámbito de disponibilidad

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

Limitaciones

  • La configuración de directivas de acceso a datos no se admite en los niveles Enterprise y Enterprise Flash.
  • Las directivas de acceso a datos y ACL de Redis no se admiten en instancias de Azure Redis que ejecutan Redis versión 4.
  • La autenticación y autorización de Microsoft Entra solo se admiten para conexiones de capa de sockets seguros (SSL).
  • Algunos comandos de Redis están bloqueados en Azure Cache for Redis. Para más información, consulte Comandos de Redis que no se admiten en Azure Cache for Redis.

Permisos de ACL de Redis

La ACL de Redis en la versión 6.0 de Redis permite configurar permisos de acceso para tres áreas: categorías de comandos, comandos y claves.

Categorías de comandos

Redis creó categorías de comandos, como comandos administrativos y comandos peligrosos, para facilitar la configuración de permisos en un grupo de comandos. En una cadena de permisos, utilícelo +@<category> para permitir una categoría de comandos o -@<category> para no permitir una categoría de comandos.

Redis admite las siguientes categorías de comandos útiles. Para obtener más información y una lista completa, consulte el encabezado Categorías de comandos en la documentación de Redis ACL.

Categoría Descripción
admin Los comandos administrativos, como MONITOR y SHUTDOWN. Las aplicaciones normales nunca necesitan usar estos comandos.
dangerous Comandos potencialmente peligrosos, incluidos FLUSHALL, , RESTORESORT, , KEYSINFOCLIENTDEBUG, y .CONFIG Considere cada uno con cuidado, por varias razones.
keyspace Incluye DEL, RESTORE, DUMP, KEYSRENAMEDBSIZEEXPIREEXISTSTTLy .FLUSHALL Escribir o leer de claves, bases de datos o sus metadatos de forma independiente del tipo. Los comandos que solo leen el espacio de claves, la clave o los metadatos tienen la read categoría. Los comandos que pueden modificar el espacio de claves, la clave o los metadatos también tienen la write categoría.
pubsub Comandos relacionados con PubSub.
read Lectura de claves, valores o metadatos. Los comandos que no interactúan con las teclas no tienen ni una de las dos read ni .write
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 valores o metadatos en claves.

Nota:

Los comandos que están bloqueados para Azure Redis permanecen bloqueados dentro de las categorías.

Comandos

Los comandos permiten controlar qué comandos específicos puede ejecutar un usuario de Redis determinado. En una cadena de permisos, utilícelo +<command> para permitir un comando o -<command> para no permitir un comando.

Teclas

Las claves le permiten controlar el acceso a claves específicas o grupos de claves almacenadas en la memoria caché. Se usa ~<pattern> en una cadena de permisos para proporcionar un patrón para las claves. Utilice o para ~*allkeys indicar que los permisos se aplican a todas las claves de la memoria caché.

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

Para configurar una directiva de acceso a datos personalizada, cree una cadena de permisos para usarla como directiva de acceso personalizada y habilite la autenticación de Microsoft Entra para la memoria caché.

Especificar permisos

Configure las cadenas de permisos según sus requisitos. En los ejemplos siguientes se muestran cadenas de permisos para varios escenarios:

Cadena de permisos Descripción
+@all allkeys Permitir que la aplicación ejecute todos los comandos en todas las teclas.
+@read ~* Permitir que la aplicación ejecute solo read la categoría de comando.
+@read +set ~Az* Permitir que la aplicación ejecute read la categoría de comando y establezca el comando en las teclas con el prefijo Az.

Creación de la política de acceso a datos personalizada

  1. En Azure Portal, seleccione la caché en Redis de Azure en la que desea crear la directiva de acceso a datos.

  2. Seleccione Configuración de acceso a datos en Configuración en el menú de navegación de la izquierda.

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

  3. En la página Configuración de acceso a datos , seleccione Agregar>nueva directiva de acceso.

  4. En la pantalla Agregar o editar una política de acceso personalizada , proporcione un nombre para la política de acceso.

  5. En Permisos, agregue la cadena de permisos personalizados y, a continuación, seleccione Aplicar.

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

La directiva personalizada aparece ahora en la pestaña Directivas de acceso de la página Configuración de acceso a datos , junto con las tres directivas integradas de Azure Redis.

Habilitar la autenticación de Microsoft Entra

Para asignar un usuario a una directiva de acceso mediante Microsoft Entra, debe tener habilitada la autenticación de Microsoft Entra en lugar de las claves de acceso en la memoria caché. Para comprobar el método de autenticación, seleccione Autenticación en Configuración en el menú de navegación de la izquierda de la caché.

En la pantalla Autenticación , si se selecciona Deshabilitar autenticación de claves de acceso y no aparece ninguna clave de acceso en la pantalla, la memoria caché ya usa la autenticación de Microsoft Entra. De lo contrario, seleccione la casilla situada junto a Deshabilitar la autenticación de claves de acceso y, a continuación, seleccione Guardar.

Captura de pantalla de la desactivación de la autenticación de claves de acceso.

Responda al cuadro de diálogo emergente que pregunta si desea deshabilitar la autenticación de claves de acceso.

Importante

Una vez completada la operación de habilitación de Microsoft Entra, los nodos de la instancia de caché se reinician para cargar la nueva configuración. Esta operación puede tardar hasta 30 minutos. Es mejor realizar esta operación durante el período de mantenimiento o fuera de las horas comerciales pico.

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

La mayoría de los clientes de Azure Cache for Redis suponen que se usan una contraseña y una clave de acceso para la autenticación. Es posible que tenga que actualizar el flujo de trabajo del cliente para admitir la autenticación y la autorización mediante un nombre de usuario y una contraseña específicos de Microsoft Entra. Para obtener información sobre cómo configurar la aplicación cliente para que se conecte a la instancia de caché como un usuario específico de Redis, consulte Configuración del cliente de Redis para usar el identificador de Microsoft Entra.