Compartir vía


Inicio rápido: conexión sin claves

Configure la Búsqueda de Azure AI para usar la autenticación de Microsoft Entra ID y el control de acceso basado en rol (RBAC) para que pueda conectarse desde el sistema local sin claves de API, mediante cuadernos de Jupyter Notebook o un cliente REST para interactuar con el servicio de búsqueda.

Si ha recorrido otros inicios rápidos que se conectan mediante claves de API, en este inicio rápido se muestra cómo cambiar a la autenticación basada en identidades para evitar claves codificadas de forma rígida en el código de ejemplo.

Requisitos previos

Paso 1: Obtención de los identificadores de inquilino y suscripción de Azure

Necesita este paso si tiene más de una suscripción o inquilino.

  1. Obtenga la suscripción y el inquilino de Azure para el servicio de búsqueda:

    1. Inicie sesión en Azure Portal y vaya al servicio de búsqueda.

    2. Observe el nombre y el id. de la suscripción en Información general>Essentials.

    3. Ahora seleccione el nombre de la suscripción para ver el grupo de administración principal (id. de inquilino) en la página siguiente.

      Captura de pantalla de la página de Azure Portal que proporciona el nombre de la suscripción

  2. Ahora sabe bajo qué suscripción y inquilino está la Búsqueda de Azure AI. Cambie al dispositivo local y un símbolo del sistema e identifique la suscripción y el inquilino de Azure activos en el dispositivo:

    az account show
    
  3. Si la suscripción y el inquilino activos difieren de la información obtenida en el paso anterior, cambie el identificador de suscripción. A continuación, inicie sesión en Azure con el identificador de inquilino que encontró en el paso anterior:

     az account set --subscription <your-subscription-id>
    
     az login --tenant <your-tenant-id>
    

Paso 2: Configuración de la Búsqueda de Azure AI para RBAC

  1. Inicie sesión en Azure Portal y vaya al servicio Búsqueda de Azure AI.

  2. Habilitar el control de acceso basado en roles (RBAC):

    1. Vaya a Configuración>Claves.

    2. Elija Control basado en roles o Ambos si necesita tiempo para realizar la transición de los clientes al control de acceso basado en roles.

      Si elige Control basado en roles, asegúrese de asignarse a sí mismo todos los roles designados en la siguiente instrucción o no podrá completar tareas en Azure Portal o a través de un cliente local.

  3. Asignar roles en Azure Portal:

    1. Vaya al servicio de búsqueda.

    2. Seleccione Control de acceso (IAM) en el panel de navegación izquierdo.

    3. Seleccione Agregar>Agregar asignación de roles.

    4. Elija un rol (Colaborador del servicio de búsqueda, Colaborador de datos de índice de búsqueda, Lector de datos de índice de búsqueda) y asígnelo a su identidad de grupo o usuario de Microsoft Entra.

      Repita el procedimiento para cada rol.

      Necesita los roles de Colaborador del servicio de búsqueda y Colaborador de datos de índice de búsqueda para crear, cargar y consultar objetos en la Búsqueda de Azure AI. Para obtener más información, consulte Conexión mediante roles.

Sugerencia

Más adelante, si recibe errores de autenticación, vuelva a comprobar la configuración de esta sección. Es posible que haya directivas en el nivel de suscripción o grupo de recursos que invaliden cualquier configuración de API que especifique.

Paso 3: Conexión desde el sistema local

Si aún no ha iniciado sesión en Azure:

az login

Usar Python y cuadernos de Jupyter

  1. Instale las bibliotecas de Azure Identity y Azure Search:

    pip install azure-identity azure-search-documents
    
  2. Autenticación y conexión a Búsqueda de Azure AI:

    from azure.identity import DefaultAzureCredential
    from azure.search.documents import SearchClient
    
    service_endpoint = "https://<your-search-service-name>.search.windows.net"
    index_name = "hotels-sample-index"
    
    credential = DefaultAzureCredential()
    client = SearchClient(endpoint=service_endpoint, index_name=index_name, credential=credential)
    
    results = client.search("beach access")
    for result in results:
        print(result)
    

Usar un cliente REST

Varios inicios rápidos y tutoriales usan un cliente REST, como Visual Studio Code con la extensión REST. Aquí se muestra cómo conectarse a Búsqueda de Azure AI desde Visual Studio Code.

Debe tener un archivo .rest o .http similar al descrito en Inicio rápido: Búsqueda de vectores.

  1. Generar un token de acceso.

    az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
    
  2. En la parte superior del archivo, establezca variables usadas para la conexión, pegando el punto de conexión de servicio de búsqueda completo y el token de acceso que obtuvo en el paso anterior. Las variables deben tener un aspecto similar al del siguiente ejemplo. Observe que los valores no están entre comillas.

    @baseUrl = https://contoso.search.search.windows.net
    @token = <a long GUID>
    
  3. Especifique el token de portador de autorización en una llamada REST:

     POST https://{{baseUrl}}/indexes/hotels-sample-index/docs/search?api-version=2024-07-01 HTTP/1.1
       Content-type: application/json
       Authorization: Bearer {{token}}
    
         {
              "queryType": "simple",
              "search": "beach access",
              "filter": "",
              "select": "HotelName,Description,Category,Tags",
              "count": true
          }
    

Solución de errores 401

  • Compruebe la suscripción activa y el inquilino (az account show) y asegúrese de que es válido para el servicio de búsqueda.

  • Compruebe las opciones del servicio de búsqueda en Configuración>Claves en Azure Portal y confirme que el servicio está configurado para "Ambos" o Control de acceso basado en rol.

  • Solo para el cliente REST: compruebe el token y el punto de conexión especificados en el archivo y asegúrese de que no haya comillas circundantes ni espacios adicionales.

Si todo lo demás no funciona, reinicie el dispositivo para quitar los tokens almacenados en caché y, a continuación, repita los pasos de esta sección, empezando por az login.

Configuración adicional

Configure una identidad administrada para las conexiones salientes:

Configurar acceso a la red: