Proteja su almacenamiento de tablas de Azure

Azure Table Storage proporciona un almacén clave-valor NoSQL para datos estructurados y no relacionales. La seguridad de Table comparte fundamentos con otros servicios de datos de Azure Storage, pero tiene algunos detalles concretos —incluyendo una superficie de autorización Microsoft Entra ID distinta y una superposición con la Azure Cosmos DB for Table API— que merecen atención.

Note

Este artículo trata sobre prácticas de seguridad específicas de Azure Table Storage. Para orientación sobre seguridad a nivel de cuenta, consulta Asegurar tu cuenta de Azure Storage.

Seguridad específica del servicio

Tanto Azure Table Storage como Azure Cosmos DB for Table API exponen un modelo de datos de tabla similar, pero sus capacidades de seguridad difieren significativamente. Elige la plataforma que cumpla con tus requisitos de seguridad desde el inicio del proyecto. La migración de datos entre ellos no es trivial.

  • Utiliza Azure Cosmos DB para Table cuando necesites un rendimiento dedicado, distribución global o un aislamiento de red más detallado por carga de trabajo: La API de Cosmos DB para Table es un recurso distinto con sus propios endpoints privados, cortafuegos y configuración IAM, independiente de cualquier cuenta de almacenamiento. Esto te proporciona un radio de impacto aislado cuando la carga de trabajo de la tabla tiene requisitos de red o de gobernanza diferentes a los de las cargas de trabajo que comparten tu cuenta de almacenamiento de uso general. Para más información, véase Introducción a Azure Cosmos DB para la tabla.

  • Utiliza Azure Table Storage cuando necesites co-ubicación a nivel de cuenta con blobs, archivos y colas: Table Storage vive dentro de una cuenta de almacenamiento de propósito general, por lo que un único conjunto de reglas de red, endpoints privados y políticas de identidad se aplican a los cuatro servicios de datos. Cosmos DB for Table es un recurso separado con una configuración de seguridad independiente.

Administración de identidades y acceso

  • Utiliza Microsoft Entra ID para autorizar operaciones de datos de tablas: La autorización de Entra ID elimina la necesidad de claves de cuenta en el código de la aplicación y proporciona registros de auditoría basados en identidad. Asigne los roles integrados Lector de datos de tabla de almacenamiento o Contribuidor de datos de tabla de almacenamiento en el ámbito de la tabla siempre que sea posible. Para más información, consulte Autorizar acceso a tablas usando Microsoft Entra ID.

  • Limite las asignaciones de roles a tablas específicas: Se admite el ámbito en el nivel de tabla para los roles de datos de tabla integrados. Cuando un servicio necesita acceso solo a una tabla, asigna el rol en el recurso de la tabla en lugar de en la cuenta.

  • Restrinja los tokens SAS a rangos específicos de claves de partición y de fila: Table SAS admite restricciones de intervalo para claves de partición y claves de fila. Utilícelos para limitar un token a las filas de un único inquilino en una tabla multinquilino, o a una sección de datos específica. Para obtener más información, consulte Otorgar acceso limitado a recursos de Azure Storage con firmas de acceso compartido (SAS).

  • Concede solo las operaciones específicas de tabla requeridas: el SAS de la tabla soporta query, add, update, y delete permisos por separado. Un llamador de tipo lector debe contener únicamente query, nunca update ni delete.

Protección de los datos

Table Storage almacena las entidades como conjuntos de propiedades planos sin listas de control de acceso (ACL) por entidad. Considera la seguridad en tu estrategia de partición en lugar de intentar adaptar el control de acceso.

  • Tablas de partición para alinear con los límites de acceso: Cuando una tabla sirve a múltiples inquilinos o niveles de clasificación, elige una clave de partición que agrupe las entidades por inquilino o clasificación. Combina esto con las restricciones de rango de claves de partición de SAS para garantizar el aislamiento de los inquilinos sin necesidad de una tabla independiente por inquilino.

  • No almacenes secretos ni datos personales innecesarios en las propiedades de las entidades: Las entidades son visibles para cualquier entidad con acceso query o read a la tabla o a la partición. Guarda los secretos en Azure Key Vault con referencias en la entidad y minimiza los datos personales que coloques en propiedades consultables.

  • Cifrar valores de propiedades sensibles en la capa de aplicación: Para valores de propiedad que deben permanecer confidenciales, cifrar el valor en el cliente con una clave de Key Vault antes de insertarlo o actualizarlo. Este cifrado es independiente del cifrado del lado de almacenamiento aplicado a toda la tabla. Para obtener más información, consulte Acerca de las claves.

Registro y supervisión

  • Activa la configuración de diagnóstico para operaciones de tabla: Enviar StorageRead, StorageWrite, y StorageDelete categorías a Log Analytics. Alerta sobre métodos de autorización inesperados, especialmente acceso a Clave Compartida en cuentas donde debería estar desactivado. Para más información, consulta Monitoring Azure Table Storage.

  • Alerta en operaciones de eliminación o actualización de alto volumen: La actividad masiva DeleteEntity o UpdateEntity que se desvíe de la línea base de la tabla puede indicar destrucción o manipulación de datos. Establece una línea base y alerta sobre desviaciones.

Pasos siguientes