Compartir vía


Autorización del acceso a datos en Azure Storage

Cada vez que accede a datos de la cuenta de almacenamiento, la aplicación cliente realiza una solicitud a través de HTTP/HTTPS a Azure Storage. De forma predeterminada, todos los recursos de Azure Storage están protegidos y todas las solicitudes a un recurso seguro se deben autorizar. La autorización garantiza que la aplicación cliente tenga los permisos adecuados para acceder a un recurso en concreto de la cuenta de almacenamiento.

Importante

Para una seguridad óptima, Microsoft recomienda usar Microsoft Entra ID con identidades administradas para autorizar solicitudes contra datos de blob, cola y tabla, siempre que sea posible. La autorización con Microsoft Entra ID e identidades administradas proporciona más seguridad y facilidad de uso que la autorización con claves compartidas. Para más información sobre las identidades administradas, consulte ¿Qué son las identidades administradas para recursos de Azure? Para obtener un ejemplo de cómo habilitar y usar una identidad administrada para una aplicación .NET, consulte Autenticación de aplicaciones hospedadas en Azure para recursos de Azure con .NET.

En el caso de los recursos hospedados fuera de Azure, como las aplicaciones locales, puede usar identidades administradas a través de Azure Arc. Por ejemplo, las aplicaciones que se ejecutan en servidores habilitados para Azure Arc pueden usar identidades administradas para conectarse a los servicios de Azure. Para más información, consulte Autenticación en recursos de Azure con servidores habilitados para Azure Arc.

Para escenarios en los que se utilizan firmas de acceso compartido (SAS), Microsoft recomienda usar un SAS de delegación de usuario. Una SAS de delegación de usuarios está protegida con credenciales de Microsoft Entra en lugar de la clave de cuenta. Para obtener información sobre las firmas de acceso compartido, consulte Conceder acceso limitado a los datos con firmas de acceso compartido. Para obtener un ejemplo de cómo crear y usar una SAS de delegación de usuarios con .NET, consulte Creación de una SAS de delegación de usuarios para un blob con .NET.

Autorización para operaciones de datos

En la sección siguiente, se describe la compatibilidad con la autorización y las recomendaciones para cada servicio de Azure Storage.

En la tabla siguiente, se proporciona información sobre las opciones de autorización admitidas para blobs:

Opción de autorización Guía Recomendación
Microsoft Entra ID Autorización del acceso a datos de Azure mediante Microsoft Entra ID Microsoft recomienda usar Microsoft Entra ID con identidades administradas para autorizar solicitudes a recursos de blobs.
Clave compartida (clave de cuenta de almacenamiento) Autorización con clave compartida Microsoft recomienda no permitir la autorización de clave compartida para la cuenta de almacenamiento.
Firma de acceso compartido (SAS) Uso de Firmas de acceso compartido (SAS) Cuando se necesita la autorización de SAS, Microsoft recomienda usar SAS de delegación de usuarios para el acceso delegado limitado a los recursos de blobs.
Acceso de lectura anónimo Introducción: Corrección del acceso de lectura anónimo a los datos de blobs Microsoft recomienda deshabilitar el acceso anónimo para todas las cuentas de almacenamiento.
Usuarios locales de almacenamiento Solo se admite para SFTP. Para más información, consulte Autorización del acceso a Blob Storage para un cliente SFTP Consulte las instrucciones para ver las opciones.

En la sección siguiente, se describen brevemente las opciones de autorización de Azure Storage:

  • Autorización de clave compartida: se aplica a blobs, archivos, colas y tablas. Los clientes con clave compartida pasan un encabezado con cada solicitud que está firmado con la clave de acceso de la cuenta de almacenamiento. Para más información, consulte el artículo sobre la Autorización con clave compartida.

    La clave de acceso de la cuenta de almacenamiento debe usarse con precaución. Cualquier persona que tenga la clave de acceso puede autorizar las solicitudes en la cuenta de almacenamiento y tiene acceso eficaz a todos los datos. Microsoft recomienda impedir la autorización de clave compartida para la cuenta de almacenamiento. Si no se permite la autorización de clave compartida, los clientes deben usar Microsoft Entra ID o una delegación de usuario con firma de acceso compartido para autorizar solicitudes de datos en esa cuenta de almacenamiento. Para obtener más información, consulte Impedir la autorización con clave compartida para una cuenta de Azure Storage.

  • Firmas de acceso compartido para blobs, archivos, colas y tablas. Las firmas de acceso compartido (SAS) proporcionan acceso delegado limitado a recursos de una cuenta de almacenamiento a través de una URL firmada. La dirección URL firmada especifica los permisos concedidos al recurso y el intervalo en el que la firma es válida. Una SAS de servicio o SAS de cuenta está firmada con la clave de cuenta, mientras que la SAS de delegación de usuarios está firmada con credenciales de Microsoft Entra y solo se aplica a blobs. Para obtener más información, consulte Uso de firmas de acceso compartido (SAS).

  • Integración de Microsoft Entra: se aplica a los recursos de blob, cola y tabla. Microsoft recomienda usar credenciales de Microsoft Entra con identidades administradas para autorizar las solicitudes a los datos cuando sea posible para una seguridad óptima y facilidad de uso. Para obtener más información sobre la integración de Microsoft Entra, consulte los artículos sobre los recursos de blob, cola o tabla.

    Puede usar el control de acceso basado en rol de Azure (RBAC de Azure) para administrar los permisos de una entidad de seguridad para los recursos de blob, cola y tabla de una cuenta de almacenamiento. Además, puede usar el control de acceso basado en atributos (ABAC) de Azure para agregar condiciones a las asignaciones de roles de Azure para los recursos de blob.

    Para más información acerca de RBAC, consulte ¿Qué es el control de acceso basado en rol (RBAC) de Azure?

    Para obtener más información acerca de ABAC, consulte ¿Qué es el control de acceso basado en atributos de Azure (ABAC de Azure)?. Para obtener información sobre el estado de las características de ABAC, consulte Estado de las características de condición de ABAC en Azure Storage.

  • Autenticación de Microsoft Entra Domain Services: se aplica a Azure Files. Azure Files admite la autorización basada en identidad sobre Bloque de mensajes del servidor(SMB) mediante Microsoft Entra Domain Services. Puede usar Azure RBAC para el control específico de acceso de los clientes a los recursos de Azure Files en una cuenta de almacenamiento. Para obtener más información sobre la autenticación de Azure Files mediante servicios de dominio, consulte Introducción a las opciones de autenticación basada en la identidad de Azure Files con el acceso SMB.

  • Autenticación local de Active Directory Domain Services (AD DS o AD DS local): se aplica a Azure Files. Azure Files admite la autorización basada en identidad sobre SMB mediante AD DS. El entorno de AD DS se puede hospedar en máquinas locales o en VM de Azure. El acceso de SMB a Files se admite mediante el uso de las credenciales de AD DS de las máquinas unidas a un dominio, independientemente de que sea local o en Azure. Puede usar una combinación de Azure RBAC para el control de acceso a nivel de recurso compartido y listas de control de acceso discrecional de NTFS para el cumplimiento de los permisos a nivel de archivo/directorio. Para obtener más información acerca de la autenticación de Azure Files mediante servicios de dominio, consulte la información general.

  • Acceso de lectura anónimo: se aplica a los recursos de blobs. Esta opción no se recomienda. Cuando se configura el acceso anónimo, los clientes pueden leer datos de blob sin autorización. Se recomienda deshabilitar el acceso anónimo para todas las cuentas de almacenamiento. Para más información, consulte Información general: Corrección del acceso de lectura anónimo para los datos de blobs.

  • Usuarios locales de almacenamiento: se aplica a blobs con SFTP o archivos con SMB. Los usuarios locales de almacenamiento admiten permisos de nivel de contenedor para la autorización. Consulte Conexión a Azure Blob Storage mediante el Protocolo de transferencia de archivos SSH (SFTP) para más información sobre cómo se pueden usar los usuarios locales de almacenamiento con SFTP.

Protección de las claves de acceso

Las claves de acceso de la cuenta de almacenamiento proporcionan acceso completo a los datos de la cuenta de almacenamiento y la capacidad de generar tokens de SAS. Siempre debe proteger las claves de acceso. Use Azure Key Vault para administrar y rotar las claves de forma segura. El acceso a la clave compartida concede a un usuario acceso completo a los datos de una cuenta de almacenamiento. El acceso a las claves compartidas debe estar cuidadosamente limitado y supervisado. Use tokens de SAS de delegación de usuario con alcance limitado de acceso en escenarios donde la autorización basada en Microsoft Entra ID no puede ser usada. Evite codificar de forma rígida las claves de acceso o guardarlas en cualquier lugar en texto sin formato que sea accesible a otras personas. Rote las claves si cree que se pudieron haber puesto en peligro.

Importante

Para evitar que los usuarios accedan a los datos de la cuenta de almacenamiento con una clave compartida, puede impedir la autorización con clave compartida para la cuenta de almacenamiento. Se recomienda un acceso granular a los datos con privilegios mínimos necesarios como procedimiento recomendado de seguridad. La autorización basada en Microsoft Entra ID con identidades administradas se debería usar en escenarios que admitan OAuth. Kerberos o SMTP se deben usar para Azure Files a través de SMB. Para Azure Files a través de REST, se pueden usar tokens de SAS. El acceso a la clave compartida debe deshabilitarse si no es necesario para evitar su uso accidental. Para obtener más información, consulte Impedir la autorización con clave compartida para una cuenta de Azure Storage.

Para proteger una cuenta de Azure Storage con las directivas de acceso condicional de Microsoft Entra, no debe permitir la autorización de clave compartida para la cuenta de almacenamiento.

Si ha deshabilitado el acceso con claves compartidas y está viendo la autorización de clave compartida notificada en los registros de diagnóstico, esto indica que se usa el acceso de confianza para acceder al almacenamiento. Para obtener más información, vea Acceso de confianza para los recursos registrados en el inquilino de Microsoft Entra.

Pasos siguientes