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.

Entender la autorización para las operaciones de datos

En la tabla siguiente se describen las opciones que ofrece Azure Storage para autorizar el acceso a los datos:

Artefacto de Azure Clave compartida (clave de cuenta de almacenamiento) Firma de acceso compartido (SAS) Microsoft Entra ID Active Directory Domain Services local acceso de lectura anónimo Usuarios locales de almacenamiento
Azure Blobs Compatible Compatible Compatible No compatible Compatible pero no se recomienda Compatible, solo para SFTP
Azure Files (SMB) Compatible No compatible Solo se admite con Microsoft Entra Domain Services para identidades solo en la nube o Azure AD Kerberos para identidades híbridas Admitido, las credenciales deben sincronizarse con Microsoft Entra ID No compatible No compatible
Azure Files (REST) Compatible Compatible Compatible No compatible No compatible No compatible
Colas de Azure Compatible Compatible Compatible No compatible No compatible No compatible
Azure Tables Compatible Compatible Compatible No compatible No compatible No compatible

Cada opción de autorización se describe brevemente a continuación:

  • Autorización con clave compartida para 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.

    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 para autorizar solicitudes a recursos de blob, cola y tabla. Microsoft recomienda usar las credenciales de Microsoft Entra para autorizar las solicitudes de datos siempre que sea posible para mayor seguridad 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 tabla, cola o blob.

    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 más información sobre ABAC y su estado de característica, consulte:

    ¿Qué es el control de acceso basado en atributos de Azure (Azure ABAC)?

    Características de las condiciones

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

  • Autenticación de Microsoft Entra Domain Services para 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 acerca de la autenticación de Azure Files mediante servicios de dominio, consulte la información general.

  • Autenticación de Active Directory Domain Services (AD DS o AD DS local) para 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.

  • Se admite el acceso de lectura anónimo para los datos de blobs, pero 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.

  • Los usuarios locales de almacenamiento se pueden usar para acceder 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 total a la configuración de una cuenta de almacenamiento, así como a los datos. 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 total a la configuración de una cuenta de almacenamiento y sus datos. El acceso a las claves compartidas debe estar cuidadosamente limitado y supervisado. Use tokens de SAS con un ámbito limitado de acceso en escenarios en los que no se puede usar la autorización basada en Microsoft Entra ID. 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

Microsoft recomienda usar Microsoft Entra ID para autorizar solicitudes de datos de blobs, colas y tablas si es posible, en lugar de usar las claves de cuenta (autorización con clave compartida). La autorización con Microsoft Entra ID proporciona más seguridad y facilidad de uso que la autorización con clave compartida. Para obtener más información sobre el uso de la autorización de Microsoft Entra desde las aplicaciones, consulte Cómo autenticar aplicaciones .NET con servicios de Azure. En el caso de los recursos compartidos de archivos SMB de Azure, Microsoft recomienda usar la integración de Active Directory Domain Services (AD DS) local o la autenticación Kerberos de Microsoft Entra.

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 se debe usar para escenarios que admiten 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 detalles, consulte Acceso de confianza para los recursos registrados en su suscripción.

Pasos siguientes