Compartir a través de


Conexión a Búsqueda de Azure AI mediante roles

Azure proporciona autenticación global y control de acceso basado en rol a través del identificador de Microsoft Entra para todos los servicios que se ejecutan en la plataforma. En este artículo, aprenda qué roles proporcionan acceso al contenido de búsqueda y a la administración en Azure AI Search.

En Búsqueda de Azure AI, puede asignar roles de Azure para:

El acceso por usuario a través de los resultados de búsqueda (a veces conocidos como seguridad de nivel de fila o acceso de nivel de documento) se admite mediante la herencia de permisos para los índices de Azure Data Lake Storage (ADLS) Gen2 y Azure Blob y a través de filtros de seguridad para todas las demás plataformas (consulte Control de acceso de nivel de documento).

Las asignaciones de roles son acumulativas y generalizadas en todas las herramientas y bibliotecas cliente. Puede asignar roles mediante cualquiera de los enfoques admitidos descritos en la documentación de control de acceso basado en rol de Azure.

El acceso basado en roles es opcional, pero se recomienda. La alternativa es autenticación basada en claves, que es el valor predeterminado.

Requisitos previos

Asignación de roles en Azure Portal

Los pasos siguientes funcionan para todas las asignaciones de roles.

  1. Inicie sesión en Azure Portal.

  2. Vaya al servicio de búsqueda.

  3. Habilitación de acceso basado en roles.

  4. Seleccione Control de acceso (IAM) en el panel izquierdo.

  5. Seleccione Agregar>Agregar asignación de roles para iniciar el asistenteAgregar asignación de roles.

    Recorte de pantalla de la página de control de acceso en Azure Portal.

  6. Seleccione un rol. Puede asignar varias entidades de seguridad, ya sean usuarios o identidades administradas, a un rol en una sola pasada a través del asistente. Sin embargo, debe repetir estos pasos para cada rol que defina.

  7. En la pestaña Miembros, seleccione la identidad de grupo o usuario de Microsoft Entra. Si está configurando permisos para otro servicio de Azure, seleccione una identidad gestionada por el sistema o por el usuario.

  8. En la pestaña Revisión y asignación, seleccione Revisión y asignación para asignar el rol.

Los roles son una colección de permisos en operaciones específicas que afectan a capas de plano de datos o de plano de control.

El plano de datos se refiere a las operaciones contra el punto de conexión del servicio de búsqueda, como la indexación o las consultas, o cualquier otra operación especificada en la API de REST del servicio Search o en las bibliotecas de cliente Azure SDK equivalentes.

El plano de control hace referencia a la administración de recursos de Azure, como crear o configurar un servicio de búsqueda.

Los siguientes son roles integrados. Si estos roles no satisfacen sus necesidades, cree un rol personalizado.

Rol Plano Descripción
Propietario Control y datos Acceso total al plano de control del recurso de búsqueda, incluida la capacidad de asignar roles de Azure. Solo el rol Propietario puede habilitar o deshabilitar las opciones de autenticación o administrar roles para otros usuarios. Los administradores de suscripciones son miembros de manera predeterminada.

En el plano de datos, este rol tiene el mismo acceso que el rol Colaborador del servicio de búsqueda. Incluye acceso a todas las acciones del plano de datos, excepto la capacidad de consultar documentos.
Colaborador Control y datos El mismo nivel de acceso al plano de control que Propietario, menos la capacidad de asignar roles o cambiar opciones de autenticación.

En el plano de datos, este rol tiene el mismo acceso que el rol Colaborador del servicio de búsqueda. Incluye acceso a todas las acciones del plano de datos, excepto a la capacidad de consultar o indexar documentos.
Lector Control y datos Acceso de lectura en todo el servicio, incluidas las métricas de búsqueda, las métricas de contenido (almacenamiento consumido, número de objetos) y las definiciones de objetos de los recursos del plano de datos (índices, indizadores, etc.). Sin embargo, no puede leer claves de API ni leer contenido dentro de los índices.
Colaborador del servicio Search Control y datos Acceso de lectura y escritura a definiciones de objetos (índices, alias, mapas de sinónimos, indizadores, orígenes de datos y conjuntos de aptitudes). Este rol es para los desarrolladores que crean objetos y para los administradores que administran servicios de búsqueda y sus objetos, pero sin acceso al contenido del índice. Use este rol para crear, eliminar y enumerar índices, obtener definiciones de índice, obtener información del servicio (estadísticas y cuotas), analizadores de pruebas, crear y administrar mapas de sinónimos, indexadores, orígenes de datos y conjuntos de aptitudes. Consulte Microsoft.Search/searchServices/* para obtener la lista de permisos.
Colaborador de datos de índice de búsqueda Datos Acceso de lectura y escritura al contenido en índices. Este rol está pensado para desarrolladores o propietarios de índices que necesitan importar, actualizar o consultar la colección de documentos de un índice. Este rol no admite la creación, las actualizaciones ni la eliminación de índices. De forma predeterminada, este rol se aplica a todos los índices de un servicio de búsqueda. Consulte Conceder acceso a un único índice para restringir el ámbito.
Lector de datos de índice de búsqueda Datos Acceso de solo lectura para consultar índices de búsqueda. Este rol está pensado para aplicaciones y usuarios que ejecutan consultas. Este rol no admite el acceso de lectura a las definiciones de objetos. Por ejemplo, no puede leer una definición de índice de búsqueda ni obtener estadísticas del servicio de búsqueda. De forma predeterminada, este rol es para todos los índices de un servicio de búsqueda. Consulte Conceder acceso a un único índice para restringir el ámbito.

Combine estos roles para obtener permisos suficientes para su caso de uso.

Nota:

Si deshabilita el acceso basado en roles de Azure, los roles integrados del plano de control (Propietario, Colaborador, Lector) seguirán estando disponibles. Al deshabilitar el acceso basado en roles, solo se quitan los permisos relacionados con datos asociados a esos roles. Si deshabilita los roles del plano de datos, el Colaborador del servicio de búsqueda es equivalente al Colaborador del plano de control.

Resumen

Permisos Lector de datos de índice de búsqueda Colaborador de datos de índice de búsqueda Colaborador del servicio de búsqueda Propietario/Colaborador Lector
Ver el recurso en Azure Portal
Visualizar propiedades, métricas y punto de conexión del recurso
Enumerar todos los objetos del recurso
Cuotas de acceso y estadísticas de servicio
Leer y consultar un índice
Carga de datos para la indexación 1
Lectura con privilegios elevados independientemente de los filtros de permisos 2
Crear o editar índices y alias
Creación, edición y ejecución de indexadores, orígenes de datos y conjuntos de aptitudes
Crear o editar mapas de sinónimos
Crear o editar sesiones de depuración
Creación o administración de implementaciones
Creación o configuración de recursos de Búsqueda de Azure AI
Visualización, copia y regeneración de claves en Claves
Visualización de roles, directivas y definiciones
Establecimiento de opciones de autenticación
Configuración de conexiones privadas
Configuración de la seguridad de red

1 En Azure Portal, un propietario o colaborador puede ejecutar los asistentes para importar datos que crean y cargan índices, aunque no puedan cargar documentos en otros clientes. El propio servicio de búsqueda, no los usuarios individuales, realiza conexiones de datos en el asistente. Los magos tienen el Microsoft.Search/searchServices/indexes/documents/* permiso necesario para completar esta tarea.

2 Use la lectura elevada para depurar consultas que obtienen resultados mediante la identidad del llamado. Para obtener más información, consulte Investigar resultados de consulta incorrectos.

Los Propietarios y Colaboradores otorgan los mismos permisos, salvo que sólo los Propietarios pueden asignar funciones.

Asignación de roles

En esta sección, asigne roles para:

  • Administración del servicio
  • Acceso para desarrollo o escritura a un servicio de búsqueda
  • Acceso de solo lectura para consultas

Asignación de roles para la administración de servicios

Como administrador de servicios, puede crear y configurar un servicio de búsqueda y realizar todas las operaciones del plano de control descritas en la API de REST de administración o bibliotecas cliente equivalentes. Si es propietario o colaborador, también puede realizar la mayoría de las tareas de la API REST de búsqueda de planos de datos en el portal de Azure.

Rol identificación
Owner 8e3af657-a8ff-443c-a75c-2fe8c4bcb635
Contributor b24988ac-6180-42a0-ab88-20f7382dd24c
Reader acdd72a7-3385-48ef-bd42-f606fba81ae7
  1. Inicie sesión en Azure Portal.

  2. Asigne estos roles:

    • Propietario (acceso total a todas las operaciones del plano de datos y del plano de control, excepto los permisos de consulta)
    • Colaborador (igual que propietario, excepto los permisos para asignar roles)
    • Lector (aceptable para la supervisión y visualización de métricas)

Asignación de roles para el desarrollo

Las asignaciones de roles se aplican globalmente en el servicio de búsqueda. Para permisos de ámbito a un único índice, use PowerShell o la CLI de Azure para crear un rol personalizado.

Tarea Rol identificación
Crear o administrar objetos Search Service Contributor 7ca78c08-252a-4471-8644-bb5ff32d4ba0
Carga de documentos, ejecución de trabajos de indexación Search Index Data Contributor 8ebe5a00-799e-43f5-93ac-243d3dce84a7
Consultar un índice Search Index Data Reader 1407120a-92aa-4202-b7e9-c0e197c71c8f

Otra combinación de roles que proporciona acceso completo es Colaborador o Propietario, además del Lector de datos de índice de búsqueda.

Importante

Si configura el acceso basado en rol para un servicio o índice y también proporciona una clave de API en la solicitud, el servicio de búsqueda usa la clave de API para autenticarse.

  1. Inicie sesión en Azure Portal.

  2. Asigne estos roles:

    • Colaborador del servicio de búsqueda (operaciones de creación, lectura, actualización y eliminación en índices, indexadores, conjuntos de aptitudes y otros objetos de nivel superior)
    • Colaborador de datos de índice de búsqueda (carga de documentos y ejecución de trabajos de indexación)
    • Lector de datos de índice de búsqueda (consultar un índice)

Asignación de roles para consultas de solo lectura

Use el rol Lector de datos de índice de búsqueda para aplicaciones y procesos que solo necesitan acceso de lectura a un índice.

Rol identificación
Search Index Data Reader Con PowerShell 1407120a-92aa-4202-b7e9-c0e197c71c8f

Este rol es muy específico. Concede acceso GET o POST a la colección de documentos de un índice de búsqueda para buscar, autocompletar y sugerencias. No admite operaciones GET o LIST en un índice u otros objetos de nivel superior o estadísticas de servicio GET.

En esta sección se proporcionan pasos básicos para configurar la asignación de roles y está aquí para mayor integridad, pero para obtener instrucciones completas sobre cómo configurar la aplicación para el acceso basado en roles, consulte Uso de Azure AI Search sin claves.

Nota:

Como desarrollador, si necesita depurar consultas que están basadas en una identidad de Microsoft, use el rol de Colaborador de Datos de Índice de Búsqueda o cree un rol personalizado que le proporcione permisos elevados para la depuración.

  1. Inicie sesión en Azure Portal.

  2. Seleccione el rol Lector de datos de índice de búsqueda.

Prueba de asignaciones de roles

Use un cliente para probar las asignaciones de roles. Recuerde que los roles son acumulativos. No puedes eliminar ni denegar roles heredados que tienen como alcance el nivel de suscripción o de grupo de recursos a nivel de recurso (servicio de búsqueda).

Configure la aplicación para conexiones sin claves y cuente con asignaciones de roles en vigor antes de realizar las pruebas.

  1. Inicie sesión en Azure Portal.

  2. Vaya al servicio de búsqueda.

  3. En la página Información general, seleccione la pestaña Índices:

    • Los colaboradores del servicio de búsqueda pueden ver y crear cualquier objeto, pero no pueden cargar documentos ni consultar índices. Para comprobar los permisos, cree un índice de búsqueda.

    • Los colaboradores de datos de índice de búsqueda pueden cargar documentos. No hay ninguna opción de carga de documentos en Azure Portal fuera del Asistente para la importación de datos, pero puede restablecer y ejecutar un indexador para confirmar los permisos de carga de documentos.

    • Los lectores de datos de índice de búsqueda pueden consultar el índice. Para comprobar los permisos, use el Explorador de búsqueda. Debería poder enviar consultas y ver los resultados, pero no debería poder ver la definición de índice ni crear uno.

Prueba como usuario actual

Si ya es colaborador o propietario del servicio de búsqueda, puede usar un token de portador para la identidad de usuario para autenticarse en Azure AI Search.

  1. Obtenga un token de portador para el usuario actual mediante la CLI de Azure:

    az account get-access-token --scope https://search.azure.com/.default
    

    O use PowerShell:

    Get-AzAccessToken -ResourceUrl https://search.azure.com
    
  2. Pegue estas variables en un nuevo archivo de texto de Visual Studio Code.

    @baseUrl = PASTE-YOUR-SEARCH-SERVICE-URL-HERE
    @index-name = PASTE-YOUR-INDEX-NAME-HERE
    @token = PASTE-YOUR-TOKEN-HERE
    
  3. Pegue y, a continuación, envíe una solicitud para confirmar el acceso. Esta es una que consulta el índice hotels-quickstart.

    POST https://{{baseUrl}}/indexes/{{index-name}}/docs/search?api-version=2025-09-01 HTTP/1.1
      Content-type: application/json
      Authorization: Bearer {{token}}
    
        {
             "queryType": "simple",
             "search": "motel",
             "filter": "",
             "select": "HotelName,Description,Category,Tags",
             "count": true
         }
    

Concesión de acceso a un único índice

En algunos escenarios, es posible que desee limitar el acceso de una aplicación a un único recurso, como un índice.

Azure Portal no admite actualmente asignaciones de roles en este nivel de granularidad, pero puede asignar roles mediante PowerShell o la CLI de Azure.

En PowerShell, use New-AzRoleAssignment, proporcionando el nombre de usuario o grupo de Azure y el ámbito de la asignación.

  1. Cargue los módulos Azure y AzureAD y conéctese a su cuenta de Azure:

    Import-Module -Name Az
    Import-Module -Name AzureAD
    Connect-AzAccount
    
  2. Agregue una asignación de roles limitada a un índice individual:

    New-AzRoleAssignment -ObjectId <objectId> `
        -RoleDefinitionName "Search Index Data Contributor" `
        -Scope  "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Search/searchServices/<search-service>/indexes/<index-name>"
    

Crear un rol personalizado

Si los roles integrados no proporcionan la combinación adecuada de permisos, puede crear un rol personalizado para admitir las operaciones que necesita.

En este ejemplo se clona el rol Lector de datos de índice de búsqueda y, luego, se agrega la posibilidad de enumerar los índices por el nombre. Normalmente, enumerar los índices de un servicio de búsqueda se considera un derecho administrativo.

Estos pasos se derivan del artículo Creación o actualización de roles personalizados de Azure mediante Azure Portal. Una página del servicio de búsqueda admite la clonación de un rol existente.

Estos pasos crean un rol personalizado que aumenta los derechos de consulta de búsqueda para incluir índices de enumeración por nombre. Normalmente, la enumeración de índices se considera una función de administrador.

  1. En Azure Portal, vaya al servicio de búsqueda.

  2. En el panel de navegación izquierdo, seleccione Access Control (IAM).

  3. En la barra de acciones, seleccione Roles.

  4. Haga clic con el botón derecho en Lector de datos de índice de búsqueda (u otro rol) y seleccione Clonar para abrir el Asistente para crear un rol personalizado.

  5. En la pestaña Aspectos básicos, proporcione un nombre para el rol personalizado, como "Explorador de datos de índice de búsqueda" y, luego, seleccione Siguiente.

  6. En la pestaña "Permisos", seleccione Agregar permiso.

  7. En la pestaña "Agregar permisos", busque y seleccione el icono Búsqueda de Microsoft.

  8. Establezca los permisos del rol personalizado. En la parte superior de la página, use la selección de acciones predeterminada:

    • En Microsoft.Search/operations, seleccione Leer: Enumerar todas las operaciones disponibles.
    • En Microsoft.Search/searchServices/indexes, seleccione Leer : Leer índice.
  9. En la misma página, cambie a Acciones de datos y, en Microsoft.Search/searchServices/indexes/documents, seleccione Leer: Leer documentos.

    El código JSON resultante tendrá un aspecto similar al siguiente:

    {
     "properties": {
         "roleName": "search index data explorer",
         "description": "",
         "assignableScopes": [
             "/subscriptions/0000000000000000000000000000000/resourceGroups/free-search-svc/providers/Microsoft.Search/searchServices/demo-search-svc"
         ],
         "permissions": [
             {
                 "actions": [
                     "Microsoft.Search/operations/read",
                     "Microsoft.Search/searchServices/indexes/read"
                 ],
                 "notActions": [],
                 "dataActions": [
                     "Microsoft.Search/searchServices/indexes/documents/read"
                 ],
                 "notDataActions": []
             }
         ]
       }
     }
    
  10. Seleccione Revisar y crear para crear el rol. Ahora puede asignar usuarios y grupos al rol.

Acceso condicional

Si necesita aplicar directivas organizativas, como la autenticación multifactor, use el acceso condicional de Microsoft Entra.

Para habilitar una directiva de acceso condicional para Búsqueda de Azure AI, siga estos pasos:

  1. Inicio de sesión en Azure Portal.

  2. Busque Acceso condicional de Microsoft Entra.

  3. Seleccione Directivas.

  4. Seleccione Nueva directiva.

  5. En la sección Aplicaciones en la nube o acciones de la directiva, agregue Azure AI Search como una aplicación en la nube en función de cómo quiera configurar la directiva.

  6. Actualice los parámetros restantes de la directiva. Por ejemplo, especifique a qué usuarios y grupos se aplica esta directiva.

  7. Guarde la directiva.

Importante

Si el servicio de búsqueda tiene asignada una identidad administrada, el servicio de búsqueda específico se muestra como una aplicación en la nube que puede incluir o excluir como parte de la directiva de acceso condicional. No se pueden aplicar directivas de acceso condicional en un servicio de búsqueda específico. En su lugar, asegúrese de seleccionar la aplicación en la nube general de Azure AI Search .

Solución de problemas de control de acceso basado en rol

Al desarrollar aplicaciones que usan el control de acceso basado en rol para la autenticación, es posible que encuentre algunos problemas comunes:

  • Si el token de autorización procede de una identidad administrada y ha asignado recientemente los permisos adecuados, es posible que estas asignaciones de permisos tarden varias horas en surtir efecto.

  • La configuración predeterminada de un servicio de búsqueda es la autenticación basada en claves. Si no cambia la configuración de clave predeterminada a Ambos o Control de Acceso Basado en Roles, entonces todas las solicitudes utilizando autenticación basada en roles se deniegan automáticamente independientemente de los permisos subyacentes.