Connettersi a Archiviazione di Azure usando un'identità gestita (Azure AI Search)

Nota

Azure AI Search è disponibile tramite il portale di Azure, le API REST e Azure SDK. È inoltre alla base di Foundry IQ, il livello di conoscenza gestito che trasforma il contenuto aziendale in knowledge base riutilizzabili e con riconoscimento delle autorizzazioni per gli agenti nel portale di Microsoft Foundry.

Questo articolo illustra come configurare una connessione al servizio di ricerca a un account Archiviazione di Azure usando un'identità gestita anziché fornire le credenziali nel stringa di connessione.

È possibile usare un'identità gestita assegnata dal sistema o un'identità gestita assegnata dall'utente. Le identità gestite sono account accessi di Microsoft Entra e richiedono assegnazioni di ruolo per l'accesso ad Archiviazione di Azure.

Prerequisiti

Nota

Se l'archiviazione è protetta dalla rete e nella stessa area del servizio di ricerca, è necessario usare un'identità gestita assegnata dal sistema e una delle opzioni di rete seguenti: connettersi come servizio attendibile o connettersi usando la regola dell'istanza della risorsa.

Creare un'assegnazione di ruolo in Archiviazione di Azure

  1. Accedere al portale di Azure e trovare l'account di archiviazione.

  2. Selezionare Controllo di accesso (IAM).

  3. Selezionare Aggiungi e quindi selezionare Assegnazione di ruolo.

  4. Dall'elenco dei ruoli della funzione professionale, selezionare i ruoli necessari per il servizio di ricerca.

    Attività Assegnazione di ruolo
    Indicizzazione BLOB tramite un indicizzatore Aggiungere Storage Blob Data Reader
    Indicizzazione di ADLS Gen2 tramite un indicizzatore Aggiungere Storage Blob Data Reader
    Indicizzazione di tabelle tramite un indicizzatore Aggiungere lettore dati tabella di archiviazione
    Indicizzazione di file tramite un indicizzatore Aggiungere lettore e accesso ai dati
    Scrivere in un archivio delle conoscenze Aggiungere Collaboratore ai dati dei BLOB di archiviazione per proiezioni di oggetti e file e Lettore e Accesso ai dati per le proiezioni di tabelle.
    Scrivi in una cache di arricchimento (anteprima) Aggiungere contributore ai dati BLOB di archiviazione e contributore ai dati della tabella di archiviazione
    Salvare lo stato della sessione di debug Aggiungere collaboratore ai dati dei BLOB di archiviazione
  5. Selezionare Avanti.

  6. Selezionare Identità gestita e quindi Membri.

  7. Filtrare in base alle identità gestite assegnate dal sistema o alle identità gestite assegnate dall'utente. Verrà visualizzata l'identità gestita creata in precedenza per il servizio di ricerca. Se non ne hai una, vedi Configurare la ricerca per l'uso di un'identità gestita. Se l'hai già configurato ma non è disponibile, attendi alcuni minuti.

  8. Selezionare l'identità e salvare l'assegnazione di ruolo.

Specificare un'identità gestita in un stringa di connessione

Dopo aver assegnato un ruolo, è possibile configurare una connessione a Archiviazione di Azure che opera con tale ruolo.

Gli indicizzatori usano un oggetto origine dati per le connessioni a un'origine dati esterna. Questa sezione illustra come specificare un'identità gestita assegnata dal sistema o un'identità gestita assegnata dall'utente nella stringa di connessione dell'origine dati. Ulteriori esempi di stringhe di connessione sono disponibili nell'articolo sull'identità gestita.

Suggerimento

È possibile creare una connessione all'origine dati per Archiviazione di Azure nel portale di Azure, specificando un'identità gestita assegnata dal sistema o dall'utente e quindi visualizzare la definizione JSON per vedere come viene formulata la stringa di connessione.

Identità gestita assegnata dal sistema

È necessario disporre di un'identità gestita assegnata dal sistema <> già configurata e deve avere un'assegnazione di ruolo in Archiviazione di Azure.

Per le connessioni effettuate usando un'identità gestita assegnata dal sistema, l'unica modifica alla definizione dell'origine dati è il formato della credentials proprietà .

Specificare un stringa di connessione che contiene un ResourceId, senza chiave o password dell'account. ResourceId Deve includere l'ID sottoscrizione dell'account di archiviazione, il gruppo di risorse dell'account di archiviazione e il nome dell'account di archiviazione.

POST https://[service name].search.windows.net/datasources?api-version=2026-04-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    }
}   

Identità gestita assegnata dall'utente

È necessario disporre di un'identità gestita assegnata dall'utente già configurata e associata al servizio di ricerca e l'identità deve avere un'assegnazione di ruolo in Archiviazione di Azure.

Le connessioni effettuate tramite identità gestite assegnate dall'utente usano le stesse credenziali di un'identità gestita assegnata dal sistema, oltre a una proprietà di identità aggiuntiva che contiene la raccolta di identità gestite assegnate dall'utente. Quando si crea l'origine dati, è necessario specificare un'unica identità gestita assegnata dall'utente.

Specificare un stringa di connessione che contiene un ResourceId, senza chiave o password dell'account. ResourceId Deve includere l'ID sottoscrizione dell'account di archiviazione, il gruppo di risorse dell'account di archiviazione e il nome dell'account di archiviazione.

Specificare un identity oggetto usando la sintassi illustrata nell'esempio seguente. Imposta userAssignedIdentity sull'identità gestita assegnata dall'utente.

POST https://[service name].search.windows.net/datasources?api-version=2026-04-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    },
    "identity" : { 
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity" : "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MY-DEMO-USER-MANAGED-IDENTITY" 
    }
}   

Le informazioni di connessione e le autorizzazioni per il servizio remoto vengono convalidate in fase di esecuzione durante l'esecuzione dell'indicizzatore. Se l'indicizzatore ha esito positivo, la sintassi di connessione e le assegnazioni di ruolo sono valide. Per altre informazioni, vedere Eseguire o reimpostare indicizzatori, competenze o documenti.

Accesso ai dati protetti dalla rete negli account di archiviazione

Azure gli account di archiviazione possono essere ulteriormente protetti usando firewall e reti virtuali. Per indicizzare il contenuto da un account di archiviazione protetto tramite un firewall o una rete virtuale, vedere Rendere le connessioni dell'indicizzatore ad Archiviazione di Azure come servizio attendibile.

Vedere anche