Información general de seguridad para Azure AI Search
En este artículo se describen las características de seguridad de Azure AI Search que protegen los datos y las operaciones.
Flujo de datos (patrones de tráfico de red)
Un servicio de Azure AI Search se hospeda en Azure y normalmente las aplicaciones cliente acceden a él mediante conexiones de red pública. Aunque ese patrón es predominante, no es el único patrón de tráfico que debe tener en cuenta. El conocimiento de todos los puntos de tráfico de entrada y salida es un contexto necesario para proteger los entornos de desarrollo y producción.
Azure AI Search tiene tres patrones de tráfico básicos:
- Solicitudes entrantes realizadas por un usuario o cliente al servicio de búsqueda (el patrón predominante)
- Solicitudes salientes emitidas por el servicio de búsqueda a otros servicios en Azure y en otros lugares
- Solicitudes internas de servicio a servicio a través de la red troncal segura de Microsoft
Tráfico entrante
Las solicitudes entrantes que tienen como destino un punto de conexión de servicio de búsqueda incluyen:
- Crear, leer, actualizar o eliminar índices y otros objetos en el servicio de búsqueda
- Carga de un índice con documentos de búsqueda
- Consultar un índice
- Desencadenador de la ejecución de un indexador o un conjunto de aptitudes
Las API de REST describen la gama completa de solicitudes entrantes que administra un servicio de búsqueda.
Como mínimo, todas las solicitudes entrantes deben autenticarse mediante cualquiera de estas opciones:
- Autenticación basada en claves (predeterminado). Las solicitudes entrantes proporcionan una clave de API válida.
- Control de acceso basado en rol. La autorización se realiza a través de identidades de Microsoft Entra y asignaciones de roles en el servicio de búsqueda.
También se pueden agregar características de seguridad de red para restringir aún más el acceso al punto de conexión. Se pueden crear reglas de entrada en un firewall de IP, o bien crear puntos de conexión privados que protejan completamente el servicio de búsqueda de la red pública de Internet.
Tráfico interno
Microsoft protege y administra las solicitudes internas. No puede configurar ni controlar estas conexiones. Si está bloqueando el acceso a la red, no se requiere ninguna acción por parte del usuario porque el cliente no puede configurar el tráfico interno.
El tráfico interno consta de:
- Llamadas de servicio a servicio para tareas como la autenticación y autorización mediante Microsoft Entra ID, el registro de recurso enviado a Azure Monitor y las conexiones de punto de conexión privado que utilizan Azure Private Link.
- Solicitudes realizadas a las API de servicios de Azure AI para aptitudes integradas
- Solicitudes enviadas a modelos de Machine Learning que admiten clasificaciones semánticas.
Tráfico saliente
Usted puede proteger y administrar las solicitudes salientes. Las solicitudes salientes se originan desde un servicio de búsqueda a otras aplicaciones. Normalmente, estas solicitudes se realizan mediante indizadores para la indexación basada en texto, el enriquecimiento de IA basado en aptitudes personalizadas y las vectorizaciones en el momento de la consulta. Las solicitudes salientes incluyen operaciones de lectura y escritura.
La lista siguiente es una enumeración completa de las solicitudes salientes para las que pueda configurar conexiones seguras. Un servicio de búsqueda realiza solicitudes en su nombre y en nombre de un indexador o una aptitud personalizada.
Operación | Escenario |
---|---|
Indexadores | Conéctese a orígenes de datos externos para recuperar datos. Consulte Acceso del indizador a contenido protegido por la seguridad de red de Azure para obtener más información. |
Indexadores | Conéctese a Azure Storage para conservar almacenes de conocimiento, enriquecimientos almacenados en caché y sesiones de depuración. |
Aptitudes personalizadas | Conéctese a funciones de Azure, aplicaciones web de Azure u otras aplicaciones que ejecutan código externo hospedado fuera del servicio. La solicitud de procesamiento externo se envía durante la ejecución del conjunto de aptitudes. |
Indizadores y vectorización integrada | Conéctese a Azure OpenAI y a un modelo de inserción implementado, o bien pase por una aptitud personalizada para conectarse a un modelo de inserción que proporcione. El servicio de búsqueda envía texto a modelos de inserción para la vectorización durante la indexación. |
Vectorizadores | Conéctese a Azure OpenAI u otros modelos de inserción en el momento de la consulta para convertir cadenas de texto de usuario en vectores para la búsqueda de vectores. |
Servicio de búsqueda | Conéctese a Azure Key Vault para obtener claves de cifrado administradas por el cliente, que se usan para cifrar y descifrar datos confidenciales. |
Las conexiones de salida se pueden realizar mediante una cadena de conexión de acceso completo del recurso que incluya una clave o un inicio de sesión de base de datos, o una identidad administrada) si usa Microsoft Entra ID y el acceso basado en roles.
Para llegar a los recursos de Azure detrás de un firewall, cree reglas de entrada en otros recursos de Azure que admitan solicitudes de servicio de búsqueda.
Para llegar a los recursos de Azure que protege Azure Private Link, puede crear un vínculo privado compartido que use un indexador para realizar su conexión.
Excepción para los servicios de búsqueda y almacenamiento de la misma región
Si Azure Storage y Búsqueda de Azure AI están en la misma región, el tráfico de red se enruta a través de una dirección IP privada y se produce a través de la red troncal de Microsoft. Al utilizarse direcciones IP privadas, no puede configurar firewalls de IP ni un punto de conexión privado para la seguridad de red.
Configure las conexiones de la misma región mediante cualquiera de los enfoques siguientes:
Seguridad de red
La seguridad de red protege los recursos frente a ataques o accesos no autorizados mediante la aplicación de controles al tráfico de red. Búsqueda de Azure AI admite características de red que pueden constituir la primera línea de defensa contra el acceso no autorizado.
Conexión entrante a través de firewalls de IP
Un servicio de búsqueda se aprovisiona con un punto de conexión público que permite el acceso mediante una dirección IP pública. Para restringir qué tráfico llega a través del punto de conexión público, cree una regla de firewall de entrada que admita las solicitudes de una dirección IP específica o un intervalo de direcciones IP. Todas las conexiones de cliente deben realizarse a través de una dirección IP permitida, o la conexión se denegará.
Puede usar el portal para configurar el acceso al firewall.
Como alternativa, puede usar las API REST de administración. Desde la versión de API 2020-03-13, con el parámetro IpRule, puede restringir el acceso a su servicio mediante la identificación (de forma individual o en un intervalo) de las direcciones IP a las que quiera otorgar acceso a su servicio de búsqueda.
Conexión entrante a un punto de conexión privado (aislamiento de red, sin tráfico de Internet)
Para una seguridad más estricta, puede establecer un punto de conexión privado para Azure AI Search, lo que permite a un cliente de una red virtual obtener acceso de forma segura a los datos de un índice de búsqueda mediante una instancia de Private Link.
El punto de conexión privado usa una dirección IP del espacio de direcciones de la red virtual para las conexiones al servicio de búsqueda. El tráfico de red entre el cliente y el servicio de búsqueda atraviesa la red virtual y un vínculo privado de la red troncal de Microsoft, lo que elimina la exposición a la red pública de Internet. Las redes virtuales permiten establecer una comunicación segura entre recursos, con su red local y con Internet.
Aunque esta solución es la más segura, el uso de más servicios supone un costo adicional, por lo que debe conocer claramente las ventajas antes de continuar con ella. Para obtener más información sobre los costos, vea la página de precios. Para obtener más información sobre cómo funcionan conjuntamente estos componentes, vea este vídeo. La opción de punto de conexión privado se trata a partir del minuto 5:48 del vídeo. Para obtener instrucciones sobre cómo configurar el punto de conexión, consulte Creación de un punto de conexión privado para una conexión segura a Azure AI Search.
Autenticación
Una vez admitida una solicitud al servicio de búsqueda, todavía debe someterse a un proceso de autenticación y autorización que determine si se permite la solicitud. Azure AI Search admite dos enfoques:
La autenticación de Microsoft Entra establece el autor de la llamada (y no la solicitud) como identidad autenticada. Una asignación de roles de Azure determina la operación permitida.
La autenticación basada en claves realiza en la solicitud (no en el usuario o aplicación que realiza la llamada) mediante una clave de API, donde la clave es una cadena formada por números y letras generados aleatoriamente que demuestra que la solicitud proviene de un origen de confianza. Las claves son necesarias en cada solicitud. El envío de una clave válida se considera una prueba de que la solicitud se origina desde una entidad de confianza.
Puede usar ambos métodos de autenticación o deshabilitar el enfoque que no quiera usar en el servicio de búsqueda.
Authorization
Azure AI Search proporciona diferentes modelos de autorización para la administración de servicios y de contenido.
Autorización de la administración de servicios
La administración de servicios se autoriza mediante el control de acceso basado en roles de su inquilino de Microsoft Entra.
En Azure AI Search, Resource Manager se usa para crear o eliminar el servicio, administrar las claves de API, escalar el servicio y configurar la seguridad. Como tal, las asignaciones de roles de Azure determinan quién puede realizar esas tareas, independientemente de si se usa el portal, PowerShell o las API REST de administración.
Se aplican tres roles básicos (Propietario, Colaborador, Lector) a la administración del servicio de búsqueda. Las asignaciones de roles se pueden realizar con cualquier metodología compatible (portal, PowerShell, etc.) y se respetan en todo el servicio.
Nota:
Mediante el uso de mecanismos de aplicación en todo el sistema de Azure, puede bloquear una suscripción o un recurso para evitar la eliminación accidental o no autorizada del servicio de búsqueda por parte de usuarios con derechos de administrador. Para más información, consulte Bloqueo de recursos para impedir eliminación inesperada.
Autorización del acceso a contenido
La administración de contenido hace referencia a los objetos creados y hospedados en un servicio de búsqueda.
Para la autorización basada en roles, use asignaciones de roles de Azure para establecer el acceso de lectura y escritura a operaciones.
Para la autorización basada en claves, una clave de API y un punto de conexión completo determinan el acceso. Un punto de conexión puede ser el propio servicio, la colección de índices, un índice específico, una colección de documentos o un documento específico. Cuando se encadenan, el punto de conexión, la operación (por ejemplo, una solicitud de creación) y el tipo de clave (administrador o consulta) autorizan el acceso al contenido y las operaciones.
Restricción del acceso a índices
Si usa roles de Azure, puede establecer permisos en índices individuales siempre que se haga mediante programación.
Si usa claves, cualquier persona con una clave de administración del servicio puede leer, modificar o eliminar cualquier índice en el mismo servicio. Para la protección contra la eliminación accidental o malintencionada de índices, su control de código fuente interno para los recursos de código es la solución a fin de revertir una eliminación o modificación de índices no deseada. Azure AI Search incluye conmutación por error en el clúster para garantizar la disponibilidad, pero no almacena ni ejecuta el código propietario utilizado para crear o cargar los índices.
Para soluciones multiinquilino que requieren límites de seguridad en el nivel de índice, es habitual controlar el aislamiento de índices en el nivel intermedio del código de la aplicación. Para más información sobre casos de uso para varios inquilinos, consulte Modelos de diseño de aplicaciones SaaS para varios inquilinos y Azure AI Search.
Restricción del acceso a documentos
Los permisos de usuario en el nivel de documento, también conocidos como seguridad en el nivel de fila, no se admiten de forma nativa en la Búsqueda de Azure AI. Si importa datos desde un sistema externo que proporciona seguridad en el nivel de fila, como Azure Cosmos DB, esos permisos no se transferirán con los datos cuando Azure AI Search los indexe.
Si necesita acceso con permisos al contenido en los resultados de búsqueda, hay una técnica para aplicar filtros que incluyan o excluyan documentos en función de la identidad del usuario. Esta solución agrega un campo de cadena en el origen de datos que representa una identidad de grupo o usuario, que puede filtrar en el índice. Para obtener más información sobre este patrón, consulte Recorte de seguridad en función de los filtros de identidad.
Residencia de datos
Cuando se configura un servicio de búsqueda, se elige una región que determina dónde se almacenan y procesan los datos de los clientes. Cada región existe dentro de una geografía (Geo) que a menudo incluye varias regiones (por ejemplo, Suiza es una Geo que contiene el Norte de Suiza y el Oeste de Suiza). Azure AI Search podría replicar sus datos en otra región dentro del mismo Geo para garantizar la durabilidad y la alta disponibilidad. El servicio no almacenará ni procesará datos de clientes fuera de la región geográfica especificada, a menos que configure una función que dependa de otro recurso de Azure y dicho recurso esté aprovisionado en una región diferente.
Actualmente, el único recurso externo en el que escribe un servicio de búsqueda es Azure Storage. La cuenta de almacenamiento es la que usted proporcione y puede estar en cualquier región. Un servicio de búsqueda escribe en Azure Storage si utiliza alguna de las siguientes características:
Para obtener más información sobre la residencia de datos, consulte Residencia de datos en Azure.
Excepciones a los compromisos de residencia de datos
Los nombres de los objetos aparecen en los registros de telemetría utilizados por Microsoft para dar soporte al servicio. Los nombres de los objetos se almacenan y procesan fuera de la región o ubicación seleccionada. Los nombres de objeto incluyen los nombres de índices y campos de índice, alias, indexadores, fuentes de datos, conjuntos de habilidades, mapas de sinónimos, recursos, contenedores y almacén de claves. Los clientes no deben incluir datos confidenciales en los campos de nombre ni crear aplicaciones diseñadas para almacenar datos confidenciales en dichos campos.
Los registros de telemetría se conservan durante un año y medio. Durante ese período, Microsoft podría acceder y hacer referencia a los nombres de objeto en las siguientes circunstancias:
Diagnosticar un problema, mejorar una característica o corregir un error. En este escenario, el acceso a datos solo es interno, sin acceso de terceros.
Durante el soporte técnico, esta información se puede usar para proporcionar una resolución rápida de los problemas y escalarlos al equipo de productos si es necesario
Protección de los datos
En la capa de almacenamiento, el cifrado de datos está integrado en todo el contenido administrado por el servicio guardado en el disco, incluidos los índices, los mapas de sinónimos y las definiciones de indizadores, orígenes de datos y conjuntos de aptitudes. El cifrado administrado por el servicio se aplica tanto al almacenamiento de datos a largo plazo como al almacenamiento de datos temporal.
Opcionalmente, puede agregar claves administradas por el cliente (CMK) para lograr un cifrado complementario del contenido indexado y realizar un doble cifrado de los datos en reposo. En los servicios creados después del 1 de agosto de 2020, el cifrado con CMK se amplía a los datos a corto plazo almacenados en discos temporales.
Datos en tránsito
Para las conexiones del servicio de búsqueda a través de Internet público, Azure AI Search escucha en el puerto HTTPS 443.
Azure AI Search admite TLS 1.2 y 1.3 para el cifrado del canal cliente-servicio:
- TLS 1.3 es el valor predeterminado en los nuevos sistemas operativos cliente y versiones de .NET.
- TLS 1.2 es el valor predeterminado en los sistemas más antiguos, pero puede establecer explícitamente TLS 1.3 en una solicitud de cliente.
Las versiones anteriores de TLS (1.0 o 1.1) no son compatibles.
Para obtener más información, consulte Compatibilidad con TLS en .NET Framework.
Datos en reposo
En el caso de los datos que administra internamente el servicio de búsqueda, en la tabla siguiente se describen los modelos de cifrado de datos. Algunas características, como el almacén de conocimiento, el enriquecimiento incremental y la indización basada en indizador, leen o escriben en estructuras de datos de otros servicios de Azure. Los servicios que tienen una dependencia en Azure Storage pueden usar las características de cifrado de esa tecnología.
Modelo | Claves | Requisitos | Restricciones | Se aplica a |
---|---|---|---|---|
Cifrado del servidor | Claves administradas por Microsoft | Ninguno (integrados) | Ninguna. Disponible en todos los niveles, en todas las regiones, para el contenido creado después del 24 de enero de 2018. | Contenido (índices y mapas de sinónimos) y definiciones (indexadores, orígenes de datos, conjuntos de aptitudes) almacenados en discos de datos y discos temporales. |
Cifrado del servidor | Claves administradas por el cliente | Azure Key Vault | Disponible en niveles facturables, en regiones específicas, para el contenido creado después del 1 de agosto de 2020. | Contenido (índices y mapas de sinónimos) en discos de datos |
Cifrado completo del lado servidor | Claves administradas por el cliente | Azure Key Vault | Disponible en niveles facturables, en todas las regiones, en servicios de búsqueda después del 13 de mayo de 2021. | Contenido (índices y mapas de sinónimos) en discos de datos y discos temporales |
Claves administradas por el servicio
El cifrado administrado por el servicio es una operación interna de Microsoft que usa cifrado AES de 256 bits. Se produce automáticamente en todas las indexaciones, incluidas las actualizaciones incrementales a índices que no están totalmente cifrados (creados antes de enero de 2018).
El cifrado administrado por el servicio se aplica a todo el contenido en almacenamientos tanto a corto como a largo plazo.
Claves administradas por el cliente (CMK)
Las claves administradas por el cliente requieren otro servicio facturable (Azure Key Vault), que puede estar en otra región, pero en la misma suscripción que Azure AI Search.
La compatibilidad con CMK se implementó en dos fases. Si el servicio de búsqueda se creó durante la primera fase, el cifrado con CMK estaba restringido al almacenamiento a largo plazo y a regiones específicas. Los servicios creados en la segunda fase, después de mayo de 2021, pueden usar el cifrado con CMK en cualquier región. Como parte de la segunda fase de implementación, el contenido se cifra con CMK en el almacenamiento tanto a corto como a largo plazo. Para obtener más información sobre la compatibilidad con las CMK, vea Cifrado doble completo.
Al habilitar el cifrado de CMK aumenta el tamaño de los índices y empeora el rendimiento de las consultas. Según las observaciones hechas hasta la fecha, puede esperar un aumento de entre un 30 y un 60 por ciento en los tiempos de consultas, aunque el rendimiento real variará según la definición de los índices y los tipos de consultas. Debido a este impacto adverso en el rendimiento, se recomienda habilitar esta característica solo en los índices que realmente la necesiten. Para más información, consulte Configuración de claves administradas por el cliente para el cifrado de datos en Azure AI Search.
Administración y seguridad
Administrar claves de API
La dependencia de la autenticación basada en claves de API significa que debe tener un plan para volver a generar la clave de administración a intervalos regulares, según los procedimientos recomendados de seguridad de Azure. Hay un máximo de dos claves de administrador por servicio de búsqueda. Para más información acerca de protección y administración de claves de API, vea Creación y administración de claves de API.
Registros de actividad y de recursos
Azure AI Search no registra las identidades de usuario, por lo que no puede hacer referencia a los registros para obtener información sobre un usuario específico. Sin embargo, el servicio registra las operaciones de creación, lectura, actualización y eliminación, que es posible que pueda correlacionar con otros registros para comprender la intervención de acciones específicas.
Por medio de alertas y de la infraestructura de registro de Azure, puede seleccionar picos de volumen de consultas u otras acciones que se desvían de las cargas de trabajo previstas. Para obtener más información sobre la configuración de registros, vea Recopilación y análisis de datos de registro y Supervisión de solicitudes de consulta.
Certificaciones y cumplimiento
Azure AI Search participa en auditorías regulares, y tiene la certificación de muchos estándares globales, regionales y específicos del sector para la nube pública y Azure Government. Para obtener la lista completa, descargue las notas del producto de las ofertas de cumplimiento de Microsoft Azure.
En el caso del cumplimiento, puede usar Azure Policy para implementar los procedimientos recomendados de alta seguridad de Microsoft Cloud Security Benchmark. Microsoft Cloud Security Benchmark es una colección de recomendaciones de seguridad codificadas en controles de seguridad que se asignan a acciones clave que se deben realizar para mitigar las amenazas a los servicios y los datos. Actualmente hay 12 controles de seguridad, entre los que se incluyen Seguridad de red, Registro y supervisión y Protección de datos.
Azure Policy es una funcionalidad integrada en Azure que ayuda a administrar el cumplimiento de varios estándares, incluidos los de Azure Security Benchmark. En el caso de los puntos de referencia conocidos, Azure Policy proporciona definiciones integradas que ofrecen tanto criterios como una respuesta procesable que aborda el no cumplimiento.
En Azure AI Search, actualmente hay una definición integrada. Es para el registro de recursos. Puede asignar una directiva que identifique los servicios de búsqueda que no tengan registro de recursos y lo activen. Para más información, consulte Controles de Cumplimiento normativo de Azure Policy para Azure AI Search.
Vea este vídeo
Vea este vídeo de resumen para obtener información general sobre la arquitectura de seguridad y cada categoría de características.