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) | Azure Active Directory (Azure AD) | Active Directory Domain Services local | Acceso de lectura anónimo | Usuarios locales de almacenamiento |
|---|---|---|---|---|---|---|
| Azure Blobs | Compatible | Compatible | Compatible | No compatible | Compatible | Compatible, solo para SFTP |
| Azure Files (SMB) | Compatible | No compatible | Admitido, solo con AAD Domain Services | Admitido, las credenciales deben sincronizarse con Azure AD | No compatible | Compatible |
| Azure Files (REST) | Compatible | Compatible | No 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 Azure AD 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 Azure AD y solo se aplica a blobs. Para obtener más información, consulte Uso de firmas de acceso compartido (SAS).
Integración de Azure Active Directory (Azure AD) para autorizar solicitudes a recursos de blob, cola y tabla. Microsoft recomienda usar las credenciales de Azure AD 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 Azure AD, 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 obtener más información acerca de ABAC, consulte ¿Qué es el control de acceso basado en atributos de Azure (ABAC de Azure)? (versión preliminar).
Autenticación de Azure Active Directory Domain Services (Azure DS) para Azure Files. Azure Files admite la autorización basada en identidad sobre Bloque de mensajes del servidor(SMB) mediante Azure AD DS. 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.
Acceso de lectura público y anónimo para contenedores y blobs. Cuando se configura el acceso anónimo, los clientes pueden leer datos de blob sin autorización. Para más información, consulte Administración del acceso de lectura anónimo a contenedores y blobs.
Puede deshabilitar el acceso de lectura público anónimo para una cuenta de almacenamiento. Cuando no se permite el acceso de lectura público anónimo, los usuarios no pueden configurar contenedores para habilitar el acceso anónimo y todas las solicitudes se deben autorizar. Para más información, consulte el artículo en el que se explica cómo impedir el acceso de lectura público anónimo a contenedores y 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 son similares a una contraseña raíz de la cuenta de almacenamiento. Siempre debe proteger las claves de acceso. Use Azure Key Vault para administrar y rotar las claves de forma segura. Evite distribuirlas a otros usuarios, codificarlas de forma rígida o guardarlas en un archivo de texto sin formato al que puedan acceder otros usuarios. Rote sus claves si cree que se han puesto en peligro.
Nota:
Microsoft recomienda usar Azure Active Directory (Azure AD) para autorizar solicitudes de datos de blobs y colas, si es posible, en lugar de usar las claves de cuenta (autorización con clave compartida). La autorización con Azure AD proporciona más seguridad y facilidad de uso que la autorización con clave compartida.
Para proteger una cuenta de Azure Storage con las directivas de acceso condicional de Azure AD, no debe permitir la autorización de clave compartida para la cuenta de almacenamiento. Para más información sobre cómo no permitir el acceso a la clave compartida, consulte Impedir la autorización con clave compartida para una cuenta Azure Storage.
Pasos siguientes
- Autorice el acceso con Azure Active Directory a recursos de tabla, cola o blob.
- Autorización con clave compartida
- Grant limited access to Azure Storage resources using shared access signatures (SAS) (Otorgar acceso limitado a recursos de Azure Storage con firmas de acceso compartido [SAS])