Identità gestite per la traduzione di documenti
Le identità gestite per le risorse di Azure sono entità servizio che creano un'identità Microsoft Entra e autorizzazioni specifiche per le risorse gestite di Azure. Le identità gestite sono un modo più sicuro per concedere l'accesso ai dati di archiviazione e sostituire il requisito per includere i token di firma di accesso condiviso con gli URL di origine e di destinazione.
È possibile usare le identità gestite per concedere l'accesso a qualsiasi risorsa che supporti l'autenticazione di Microsoft Entra, incluse le proprie applicazioni.
Per concedere l'accesso a una risorsa di Azure, assegnare un ruolo di Azure a un'identità gestita usando il Controllo degli accessi in base al ruolo di Azure (
Azure RBAC
) .Non sono previsti costi aggiuntivi per l'uso di identità gestite in Azure.
Importante
Quando si usano identità gestite, non includere un URL del token di firma di accesso condiviso con le richieste HTTP, altrimenti le richieste avranno esito negativo. L'uso di identità gestite sostituisce il requisito per includere token di firma di accesso condiviso (SAS) con gli URL di origine e di destinazione.
Per usare le identità gestite per le operazioni di Traduzione di documenti, è necessario creare la risorsa Traduttore in un'area geografica specifica di Azure, ad esempio Stati Uniti orientali. Se l'area delle risorse di Traduttore è impostata su Globale, non è possibile usare l'identità gestita per Traduzione di documenti. È comunque possibile usare token di firma di accesso condiviso (SAS) per Traduzione di documenti.
Traduzione di documenti è supportato nel piano di servizio Standard S1 (con pagamento in base al consumo) e nei piani Sconto quantità C2, C3, C4 e D3. Vedere Prezzi dei Servizi di Azure AI - Translator.
Prerequisiti
Per iniziare, è necessario:
Un account Azure attivo. Se non ne si ha uno, è possibile crearne uno gratuito.
Una risorsa Traduttore a servizio singolo (non una risorsa Servizi di Azure AI multiservizio) assegnata a un'area geografica, ad esempio Stati Uniti occidentali. Per informazioni dettagliate sulla procedura, vedere Creare una risorsa dei servizi di Azure AI.
Una breve conoscenza del controllo degli accessi in base al ruolo di Azure (
Azure RBAC
) tramite il portale di Azure.Un account di Archiviazione BLOB di Azure nella stessa area della risorsa Traduttore. È anche necessario creare contenitori per archiviare e organizzare i dati BLOB all'interno dell'account di archiviazione.
Se l'account di archiviazione si trova dietro un firewall, è necessario abilitare la configurazione seguente:
Passare al portale di Azure e accedere all'account Azure.
Seleziona l'account di archiviazione.
Dal gruppo Sicurezza e rete nel riquadro sinistro, seleziona Rete.
Nella scheda Firewall e reti virtuali seleziona Abilitato da reti virtuali e indirizzi IP selezionati.
Deseleziona tutte le caselle di controllo.
Assicurarsi che sia selezionato Routing di rete Microsoft.
Nella sezione Istanze della risorsa selezionare Microsoft.CognitiveServices/accounts come tipo di risorsa e selezionare la risorsa Traduttore come nome dell'istanza.
Assicurarsi che sia selezionata la casella di controllo Consenti ai servizi di Azure nell'elenco servizi attendibili di accedere a questo account di archiviazione. Per altre informazioni sulla gestione delle eccezioni, vedere Configurare i firewall e le reti virtuali di Archiviazione di Azure.
Seleziona Salva.
Nota
La propagazione delle modifiche di rete potrebbe richiedere fino a 5 minuti.
Anche se l'accesso alla rete è ora consentito, la risorsa Traduttore non è ancora in grado di accedere ai dati nell'account di archiviazione. È necessario creare un'identità gestita e assegnare un ruolo di accesso specifico alla risorsa Traduttore.
Assegnazioni di identità gestite
Esistono due tipi di identità gestita: assegnata dal sistema e assegnata dall'utente. Attualmente, Traduzione di documenti supporta l'identità gestita assegnata dal sistema:
Un'identità gestita assegnata dal sistema viene abilitata direttamente in un'istanza del servizio. Non è abilitata per impostazione predefinita; è necessario passare alla risorsa e aggiornare l'impostazione di identità.
L'identità gestita assegnata dal sistema è associata alla risorsa per tutto il ciclo di vita. Se si elimina la risorsa, viene eliminata anche l'identità gestita.
Nei passaggi seguenti si abiliterà un'identità gestita assegnata dal sistema e si concederà alla risorsa Traduttore l'accesso limitato all'account di Archiviazione BLOB di Azure.
Abilitare un'identità gestita assegnata dal sistema
È necessario concedere alla risorsa Traduttore l'accesso all'account di archiviazione prima di poter creare, leggere o eliminare BLOB. Dopo aver abilitato la risorsa Traduttore con un'identità gestita assegnata dal sistema, è possibile usare il controllo degli accessi in base al ruolo di Azure (Azure RBAC
) per concedere a Traduttore l'accesso ai contenitori di archiviazione di Azure.
Passare al portale di Azure e accedere all'account Azure.
Selezionare la risorsa Traduttore.
Nel gruppo Gestione risorse nel riquadro sinistro selezionare Identità.
All'interno della scheda Assegnata dal sistema attivare l'interruttore Stato.
Importante
L'identità gestita assegnata dall'utente non soddisfa i requisiti per lo scenario dell'account di archiviazione di trascrizione batch. Assicurarsi di abilitare l'identità gestita assegnata dal sistema.
Seleziona Salva.
Concedere l'accesso all'account di archiviazione per la risorsa Traduttore
Importante
Per assegnare un ruolo di identità gestita assegnata dal sistema, sono necessarie le autorizzazioni Microsoft.Authorization/roleAssignments/write, ad esempio Proprietario o Amministratore accesso utenti, nell'ambito di archiviazione per la risorsa di archiviazione.
Passare al portale di Azure e accedere all'account Azure.
Selezionare la risorsa Traduttore.
Nel gruppo Gestione risorse nel riquadro sinistro selezionare Identità.
In Autorizzazioni selezionare Assegnazioni di ruolo di Azure:
Nella pagina Assegnazioni di ruolo di Azure aperta scegliere la sottoscrizione dal menu a discesa e quindi selezionare + Aggiungi assegnazione di ruolo.
Assegnare quindi un ruolo Collaboratore ai dati del BLOB di archiviazione alla risorsa del servizio Traduttore. Il ruolo Collaboratore ai dati dei BLOB di archiviazione fornisce a Traduttore, rappresentato dall'identità gestita assegnata dal sistema, l'accesso in lettura, scrittura ed eliminazione ai dati e al contenitore BLOB. Nella finestra popup Aggiungi assegnazione di ruolo completare i campi come indicato di seguito e selezionare Salva:
Campo Valore Scope Archiviazione. Abbonamento Sottoscrizione associata alla risorsa di archiviazione. Conto risorse Nome della risorsa di archiviazione. Ruolo Collaboratore ai dati del BLOB di archiviazione. Dopo la visualizzazione del messaggio di conferma Assegnazione di ruolo aggiunta, aggiornare la pagina per visualizzarla.
Se non viene visualizzata subito la nuova assegnazione di ruolo, attendere e provare ad aggiornare nuovamente la pagina. Quando si assegnano o si rimuovono le assegnazioni di ruolo, l'applicazione delle modifiche può richiedere fino a 30 minuti.
Richieste HTTP
Una richiesta di traduzione batch asincrona viene inviata all'endpoint del servizio Traduttore tramite una richiesta POST.
Con l'identità gestita e
Azure RBAC
, non è più necessario includere gli URL di firma di accesso condiviso.In caso di esito positivo, il metodo POST restituisce un codice di risposta
202 Accepted
e il servizio crea una richiesta batch.I documenti tradotti vengono visualizzati nel contenitore di destinazione.
Intestazioni
Le intestazioni seguenti sono incluse in ogni richiesta dell'API Traduzione di documenti:
Intestazione HTTP | Descrizione |
---|---|
Ocp-Apim-Subscription-Key | Obbligatorio: il valore è la chiave di Azure per la risorsa Traduttore o di Servizi di Azure AI. |
Content-Type | Obbligatorio: specifica il tipo di contenuto del payload. I valori accettati sono application/json o charset=UTF-8. |
Corpo della richiesta POST
- L'URL della richiesta è POST
https://<NAME-OF-YOUR-RESOURCE>.cognitiveservices.azure.com/translator/text/batch/v1.1/batches
. - Il corpo della richiesta è un oggetto JSON denominato
inputs
. - L'oggetto
inputs
contiene sia indirizzi di contenitoresourceURL
chetargetURL
per le coppie di lingue di origine e di destinazione. Con l'identità gestita assegnata dal sistema si usa un URL dell'account di archiviazione normale (nessuna firma di accesso condiviso o altre aggiunte). Il formato èhttps://<storage_account_name>.blob.core.windows.net/<container_name>
. - I campi
prefix
esuffix
(facoltativi) vengono usati per filtrare i documenti nel contenitore, incluse le cartelle. - Quando il documento viene convertito, viene applicato un valore per il campo
glossaries
(facoltativo). targetUrl
per ogni lingua di destinazione deve essere univoco.
Importante
Se nella destinazione esiste già un file con lo stesso nome, il processo avrà esito negativo. Quando si usano identità gestite, non includere un URL del token di firma di accesso condiviso con le richieste HTTP. In questo caso, le richieste avranno esito negativo.
Tradurre tutti i documenti in un contenitore
Questo corpo della richiesta di esempio fa riferimento a un contenitore di origine per tutti i documenti da tradurre in una lingua di destinazione.
Per altre informazioni, vedere parametri di richiesta.
{
"inputs": [
{
"source": {
"sourceUrl": "https://<storage_account_name>.blob.core.windows.net/<source_container_name>"
},
"targets": [
{
"targetUrl": "https://<storage_account_name>.blob.core.windows.net/<target_container_name>"
"language": "fr"
}
]
}
]
}
Tradurre un documento specifico in un contenitore
Questo corpo della richiesta di esempio fa riferimento a un singolo documento di origine da tradurre in due lingue di destinazione.
Importante
Oltre ai parametri della richiesta annotati in precedenza, è necessario includere "storageType": "File"
. In caso contrario, si presuppone che l'URL di origine sia a livello di contenitore.
{
"inputs": [
{
"storageType": "File",
"source": {
"sourceUrl": "https://<storage_account_name>.blob.core.windows.net/<source_container_name>/source-english.docx"
},
"targets": [
{
"targetUrl": "https://<storage_account_name>.blob.core.windows.net/<target_container_name>/Target-Spanish.docx"
"language": "es"
},
{
"targetUrl": "https://<storage_account_name>.blob.core.windows.net/<target_container_name>/Target-German.docx",
"language": "de"
}
]
}
]
}
Tradurre tutti i documenti in un contenitore usando un glossario personalizzato
Questo corpo della richiesta di esempio fa riferimento a un contenitore di origine per tutti i documenti da tradurre in una lingua di destinazione usando un glossario.
Per altre informazioni, vedere parametri di richiesta.
{
"inputs": [
{
"source": {
"sourceUrl": "https://<storage_account_name>.blob.core.windows.net/<source_container_name>",
"filter": {
"prefix": "myfolder/"
}
},
"targets": [
{
"targetUrl": "https://<storage_account_name>.blob.core.windows.net/<target_container_name>",
"language": "es",
"glossaries": [
{
"glossaryUrl": "https://<storage_account_name>.blob.core.windows.net/<glossary_container_name>/en-es.xlf",
"format": "xliff"
}
]
}
]
}
]
}
Ottimo. Si è appena appreso come abilitare e usare un'identità gestita assegnata dal sistema. Con l'identità gestita per le risorse di Azure e Azure RBAC
, sono stati concessi a Traduttore diritti di accesso specifici per la risorsa di archiviazione senza includere token di firma di accesso condiviso con le richieste HTTP.