Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En la mayoría de los casos, una asignación de roles concede los permisos necesarios para los recursos de Azure. Sin embargo, en algunos casos es posible que quiera proporcionar un control de acceso más granular agregando una condición de asignación de roles.
En este tutorial, aprenderá a:
- Agregar una condición a una asignación de roles
- Restringir el acceso a blobs en función de una etiqueta de índice de blobs
Importante
Actualmente, el control de acceso basado en atributos de Azure (Azure ABAC) está disponible con carácter general para controlar el acceso solo a Azure Blob Storage, Azure Data Lake Storage Gen2 y Azure Queues mediante los atributos request, resource, environment y principal en el nivel de rendimiento de las cuentas de almacenamiento premium y estándar. Actualmente, el atributo list blob incluye el atributo de solicitud y el atributo de solicitud de instantánea para el espacio de nombres jerárquico se encuentran en versión preliminar. Para información completa sobre el estado de las características de ABAC para Azure Storage, consulte Estado de las características de condición en Azure Storage.
Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
Prerrequisitos
Para obtener información sobre los requisitos previos para agregar o editar condiciones de asignación de roles, consulte Requisitos previos de las condiciones.
Condición
En este tutorial, restringirá el acceso a los blobs con una etiqueta específica. Por ejemplo, agrega una condición a una asignación de roles para que Chandra solo pueda leer archivos con la etiqueta Project=Cascade.

Si Chandra intenta leer un blob sin la etiqueta Project=Cascade, no se permite el acceso.

Así es como se ve la condición en el código:
(
(
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'}
AND NOT
SubOperationMatches{'Blob.List'})
)
OR
(
@Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'
)
)
Paso 1: Crear un usuario
Inicie sesión en Azure Portal como propietario de una suscripción.
Seleccione Microsoft Entra ID.
Cree un usuario o busque un usuario existente. En este tutorial se usa Chandra como ejemplo.
Paso 2: Configuración del almacenamiento
Cree una cuenta de almacenamiento que sea compatible con la funcionalidad de etiquetas de índice de blobs. Para obtener más información, consulte Administración y búsqueda de datos de Azure Blob con etiquetas de índice de blobs.
Cree un contenedor en la cuenta de almacenamiento y establezca el nivel de acceso anónimo en Privado (sin acceso anónimo).
En el contenedor, seleccione Cargar para abrir el panel Cargar blob.
Busque un archivo de texto para cargarlo.
Seleccione Opciones avanzadas para expandir el panel.
En la sección Etiquetas de índice de blobs , agregue la siguiente etiqueta de índice de blobs al archivo de texto.
Si no ve la sección y acaba de registrar la suscripción, es posible que tenga que esperar unos minutos hasta que los cambios se propaguen. Para más información, consulte Uso de etiquetas de índice de blobs para administrar y buscar datos en Azure Blob Storage.
Nota:
Los blobs también admiten la capacidad de almacenar metadatos arbitrarios de pares de clave y valor definidos por el usuario. Aunque los metadatos son similares a las etiquetas de índice de blobs, debe usar las etiquetas de índice de blobs para las condiciones.
Clave Importancia Proyecto Cascade
Seleccione el botón Cargar para cargar el archivo.
Cargue un segundo archivo de texto.
Agregue la siguiente etiqueta de índice de blobs al segundo archivo de texto.
Clave Importancia Proyecto Panadero
Paso 3: Asignar un rol de datos de blob de almacenamiento
Abra el grupo de recursos.
Seleccione Control de acceso (IAM).
Seleccione la pestaña Asignaciones de roles para ver todas las asignaciones de roles en este ámbito.
Seleccione Agregar>Agregar asignación de rol. La página Asignar roles se abre:
- En la pestaña Roles , seleccione el rol Lector de datos de Storage Blob .
- En la pestaña Miembros , seleccione el usuario que creó anteriormente.
(Opcional) En el cuadro Descripción , escriba Acceso de lectura a blobs con la etiqueta Project=Cascade.
Seleccione Siguiente.
Paso 4: Agregar una condición
- En la pestaña Condiciones (opcional), seleccione Agregar condición. Aparece la página Agregar condición de asignación de roles:
En la sección Agregar acción, seleccione Agregar acción.
Aparece el panel Seleccionar una acción. Este panel es una lista filtrada de acciones de datos basada en la asignación de roles que será el destino de la condición. Marque la casilla junto a Leer un blob y seleccione Seleccionar:
En la sección Build expression (Expresión de compilación), seleccione Add expression (Agregar expresión).
La sección Expresión se expande.
Especifique la siguiente configuración de expresión:
Configuración Importancia Origen de atributo Recurso Atributo Etiquetas de índice de blobs [Valores de la clave] Clave Proyecto Operator StringEqualsIgnoreCase Importancia Cascade
Desplácese hacia arriba hasta Tipo de editor y seleccione Código.
La condición se muestra como código. Puede realizar cambios en la condición en este editor de código. Para volver al editor visual, seleccione Visual.
Seleccione Guardar para agregar la condición y volver a la página Agregar asignación de roles.
Seleccione Siguiente.
En la pestaña Revisar y asignar , seleccione Revisar y asignar para asignar el rol con una condición.
Transcurridos unos instantes, se asigna el rol a la entidad de seguridad en el ámbito seleccionado.
Paso 5: Asignar el rol lector
Repita los pasos anteriores para asignar el rol Lector al usuario que creó anteriormente en el ámbito del grupo de recursos.
Nota:
Normalmente no es necesario asignar el rol Lector. Sin embargo, esto se hace para que pueda probar la condición mediante Azure Portal.
Paso 6: Probar la condición
En una nueva ventana, inicie sesión en Azure Portal.
Inicie sesión como el usuario que creó anteriormente.
Abra la cuenta de almacenamiento y el contenedor que creó.
Asegúrese de que el método de autenticación esté establecido en Cuenta de usuario de Microsoft Entra y no en Clave de acceso.
Seleccione el archivo de texto Baker.
NO debería poder ver ni descargar el blob y se debería mostrar un mensaje de error de autorización.
Seleccione Cascade text file (Archivo de texto en cascada).
Debería poder ver y descargar el blob.
Paso 7: Limpieza de recursos
Quite la asignación de roles que agregó.
Elimine la cuenta de almacenamiento de prueba que ha creado.
Elimine el usuario que creó.









