Autorización del acceso a Azure Blob Storage mediante las condiciones de asignación de roles de Azure

El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define los niveles de acceso en función de atributos asociados a entidades de seguridad, recursos, entorno y las propias solicitudes. Con ABAC, puede conceder a una entidad de seguridad acceso a un recurso en función de una condición expresada como un predicado con estos atributos.

Azure ABAC se basa en el control de acceso basado en roles (Azure RBAC) mediante la adición de condiciones a las asignaciones de roles de Azure. le permite crear condiciones de asignación de roles basadas en atributos de entidad de seguridad, recurso, solicitud y entorno.

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 de recurso de metadatos del contenedor y el atributo de solicitud de inclusión de blobs de lista 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.

Introducción a las condiciones de Azure Storage

Puede usar Microsoft Entra ID (Microsoft Entra ID) para autorizar solicitudes a recursos de almacenamiento de Azure mediante Azure RBAC. Azure RBAC le ayuda a administrar el acceso a los recursos definiendo quién tiene acceso a los recursos y qué pueden hacer con esos recursos, usando definiciones de roles y asignaciones de roles. Azure Storage define un conjunto de roles integrados que abarcan conjuntos comunes de permisos utilizados para acceder a los datos de almacenamiento de Azure. También puede definir roles personalizados con conjuntos de permisos seleccionados. Azure Storage admite asignaciones de roles para cuentas de almacenamiento y contenedores de blobs.

Azure ABAC se basa en Azure RBAC con la adición de condiciones de asignación de roles en el contexto de acciones específicas. Una condición de asignación de roles es una comprobación adicional que se evalúa cuando se autoriza la acción en el recurso de almacenamiento. Esta condición se expresa como un predicado mediante atributos asociados a cualquiera de los siguientes:

  • Entidad de seguridad que solicita autorización
  • Recurso al que se solicita acceso
  • Parámetros de la solicitud
  • Entorno en el que se realiza la solicitud

Las ventajas de usar las condiciones de asignación de roles son:

  • Habilitar un acceso más específico a los recursos: por ejemplo, si desea conceder a un usuario acceso de lectura a blobs en las cuentas de almacenamiento solo si los blobs están etiquetados como Project=Sierra, puede usar condiciones en la acción de lectura con etiquetas como atributo.
  • Reducir el número de asignaciones de roles que tiene que crear y administrar: para ello, use una asignación de roles generalizada para un grupo de seguridad y, después, restrinja el acceso de los miembros individuales del grupo con una condición que coincida con atributos de una entidad de seguridad con atributos de un recurso específico al que se tiene acceso (por ejemplo, un blob o un contenedor).
  • Reglas de control de acceso exprés en términos de atributos con significado empresarial: por ejemplo, puede expresar sus condiciones mediante atributos que representan un nombre de proyecto, una aplicación empresarial, una función de organización o un nivel de clasificación.

El inconveniente de las condiciones es que se necesita una taxonomía estructurada y coherente al usar atributos en toda la organización. Los atributos deben estar protegidos para evitar que el acceso esté en peligro. Además, las condiciones deben diseñarse y revisarse minuciosamente por su efecto.

Las condiciones de asignación de roles de Azure Storage son compatibles con el almacenamiento de blobs de Azure. También puede usar condiciones con las cuentas que tengan habilitada la característica de espacios de nombres jerárquicos (HNS) en ellas (Data Lake Storage Gen2).

Atributos y operaciones admitidos

Para lograr estos objetivos, puede configurar condiciones en las asignaciones de roles de DataActions. Puede usar condiciones con un rol personalizado o seleccionar roles integrados. Tenga en cuenta que no se admiten condiciones para las acciones de administración mediante el proveedor de recursos de almacenamiento.

Puede agregar condiciones a roles integrados o roles personalizados. Los roles integrados en los que puede usar condiciones de asignación de roles incluyen:

Puede usar condiciones con roles personalizados siempre que el rol incluya acciones que admitan condiciones.

Si trabaja con condiciones basadas en etiquetas de índice de blobs, debe usar el rol Propietario de datos de Storage Blob, ya que en este rol están incluidos los permisos para las operaciones de etiquetas.

Nota:

Las etiquetas de índice de blobs no se admiten en cuentas de almacenamiento de Data Lake Storage Gen2, las cuales usan un espacio de nombres jerárquico. No debe crear condiciones de asignación de roles mediante etiquetas de índice en cuentas de almacenamiento que tengan habilitada HNS.

El formato de las condiciones de asignación de roles de Azure permite el uso de atributos @Principal, @Resource, @Request o @Environment en las condiciones. Un atributo @Principal es un atributo de seguridad personalizado en la entidad de seguridad, como un usuario, una aplicación empresarial (entidad de servicio) o una identidad administrada. Un atributo @Resource hace referencia a un atributo existente de un recurso de almacenamiento al que se accede, como una cuenta de almacenamiento, un contenedor o un blob. Un atributo @Request hace referencia a un atributo o parámetro incluido en una solicitud de operación de almacenamiento. Un atributo @Environment hace referencia al entorno de red o a la fecha y hora de una solicitud.

RBAC de Azure admite un número limitado de asignaciones de roles por suscripción. Si necesita crear miles de asignaciones de roles de Azure, es posible que encuentre este límite. Administrar cientos o miles de asignaciones de roles puede ser difícil. En algunos casos, puede usar condiciones para reducir el número de asignaciones de roles en su cuenta de almacenamiento y facilitar su administración. Puede escalar la administración de asignaciones de roles mediante condiciones y atributos de seguridad personalizados de Microsoft Entra para entidades de seguridad.

Estado de las características de condición en Azure Storage

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 de recurso de metadatos del contenedor y el atributo de solicitud de inclusión de blobs de lista se encuentran en VERSIÓN PRELIMINAR.

En la tabla siguiente, se muestra el estado actual de ABAC por tipo de recurso de almacenamiento y tipo de atributo. También se muestran excepciones para atributos específicos.

Tipos de recursos Tipos de atributo Atributos Disponibilidad
Datos BLOB
Data Lake Storage Gen2
Colas
Solicitar
Resource
Entorno
Principal
Todos los atributos excepto los indicados en esta tabla GA
Data Lake Storage Gen2 Resource Instantánea Vista previa
Datos BLOB
Data Lake Storage Gen2
Resource Metadatos del contenedor Vista previa
Blobs Solicitar Parámetro include de List Blobs Vista previa

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.

Nota:

Algunas características de almacenamiento no son compatibles con las cuentas de almacenamiento Gen2 de Data Lake Storage, que usan un espacio de nombres jerárquico (HNS). Para más información, consulte Compatibilidad con la característica de almacenamiento de blobs.

Los siguientes atributos de ABAC no se admiten cuando el espacio de nombres jerárquico está habilitado para una cuenta de almacenamiento:

Pasos siguientes

Consulte también