Hanterade identiteter för Azure AI-dokumentöversättning
Hanterade identiteter för Azure-resurser är tjänstens huvudnamn som skapar en Microsoft Entra-identitet och specifika behörigheter för Azure-hanterade resurser. Hanterade identiteter är ett säkrare sätt att bevilja åtkomst till lagringsdata och ersätta kravet på att du ska inkludera signaturtoken för delad åtkomst (SAS) med dina käll- och mål-URL:er.
Du kan använda hanterade identiteter för att bevilja åtkomst till alla resurser som stöder Microsoft Entra-autentisering, inklusive dina egna program.
Om du vill bevilja åtkomst till en Azure-resurs tilldelar du en Azure-roll till en hanterad identitet med hjälp av rollbaserad åtkomstkontroll i Azure (
Azure RBAC
).Det finns ingen extra kostnad för att använda hanterade identiteter i Azure.
Viktigt!
När du använder hanterade identiteter ska du inte inkludera en SAS-token-URL med dina HTTP-begäranden. Att använda hanterade identiteter ersätter kravet på att du ska inkludera signaturtoken för delad åtkomst (SAS) med dina käll- och mål-URL:er.
Om du vill använda hanterade identiteter för Azure AI-dokumentöversättningsåtgärder måste du skapa din Translator-resurs i en specifik geografisk Azure-region, till exempel USA, östra. Om din Translator-resursregion är inställd på Global kan du inte använda hanterad identitet för Azure AI-dokumentöversättning. Du kan fortfarande använda SAS-token (Signatur för delad åtkomst) för Azure AI-dokumentöversättning.
Azure AI-dokumentöversättning stöds i S1 Standard Service Plan (Betala per användning) och C2, C3, C4 och D3 Volymrabattplaner. SePrissättning för Azure AI-tjänster – Translator.
Förutsättningar
Du behöver följande för att komma igång:
Ett aktivt Azure-konto – om du inte har något kan du skapa ett kostnadsfritt konto.
En Translator-resurs med en enda tjänst (inte en Azure AI-tjänst med flera tjänster) som tilldelats en geografisk region, till exempel USA, västra. Detaljerade steg finns iSkapa en Azure AI-tjänstresurs.
En kort förståelse för rollbaserad åtkomstkontroll i Azure (
Azure RBAC
) med hjälp av Azure Portal.Ett Azure Blob Storage-konto i samma region som din Translator-resurs. Du måste också skapa containrar för att lagra och organisera dina blobdata i ditt lagringskonto.
Om ditt lagringskonto finns bakom en brandvägg måste du aktivera följande konfiguration:
Gå till Azure-portalen och logga in på ditt Azure-konto.
Välj lagringskontot.
I gruppen Säkerhet + nätverk i den vänstra rutan väljer du Nätverk.
På fliken Brandväggar och virtuella nätverk väljer du Aktiverad från valda virtuella nätverk och IP-adresser.
Avmarkera alla kryssrutor.
Kontrollera att Microsofts nätverksroutning är markerad.
Under avsnittet Resursinstanser väljer du Microsoft.CognitiveServices/accounts som resurstyp och väljer din Translator-resurs som instansnamn.
Kontrollera att rutan
Allow Azure services on the trusted services list to access this storage account
är markerad. Mer information om hur du hanterar undantag finns iKonfigurera Azure Storage-brandväggar och virtuella nätverk.Välj Spara.
Kommentar
Det kan ta upp till 5 minuter innan nätverksändringarna sprids.
Även om nätverksåtkomst nu är tillåten kan translator-resursen fortfarande inte komma åt data i lagringskontot. Du måste skapa en hanterad identitet för och tilldela en specifik åtkomstroll till din Translator-resurs.
Hanterade identitetstilldelningar
Det finns två typer av hanterade identiteter: systemtilldelade och användartilldelade. För närvarande stöder Azure AI Document Translation systemtilldelad hanterad identitet:
En systemtilldelad hanterad identitet aktiveras direkt på en tjänstinstans. Den är inte aktiverad som standard. du måste gå till resursen och uppdatera identitetsinställningen.
Den systemtilldelade hanterade identiteten är kopplad till din resurs under hela livscykeln. Om du tar bort resursen tas även den hanterade identiteten bort.
I följande steg aktiverar vi en systemtilldelad hanterad identitet och ger din Translator-resurs begränsad åtkomst till ditt Azure Blob Storage-konto.
Aktivera en systemtilldelad hanterad identitet
Du måste ge Translator-resursen åtkomst till ditt lagringskonto innan den kan skapa, läsa eller ta bort blobar. När du har aktiverat Translator-resursen med en systemtilldelad hanterad identitet kan du använda rollbaserad åtkomstkontroll i Azure (Azure RBAC
) för att ge Translator åtkomst till dina Azure Storage-containrar.
Gå till Azure-portalen och logga in på ditt Azure-konto.
Välj Translator-resursen.
I gruppen Resurshantering i den vänstra rutan väljer du Identitet.
På fliken Systemtilldelat aktiverar du växlingsknappen Status .
Viktigt!
Användartilldelad hanterad identitet uppfyller inte kraven för scenarier för lagringskonto för batch-transkription. Se till att aktivera systemtilldelad hanterad identitet.
Välj Spara.
Bevilja åtkomst till lagringskontot för din Translator-resurs
Viktigt!
Om du vill tilldela en systemtilldelad hanterad identitetsroll behöver du Behörigheter för Microsoft.Authorization/roleAssignments/write, till exempel Ägare eller Administratör för användaråtkomst i lagringsomfånget för lagringsresursen.
Gå till Azure-portalen och logga in på ditt Azure-konto.
Välj Translator-resursen.
I gruppen Resurshantering i den vänstra rutan väljer du Identitet.
Under Behörigheter väljer du Azure-rolltilldelningar:
På sidan Azure-rolltilldelningar som öppnades väljer du din prenumeration på den nedrullningsbara menyn och väljer sedan + Lägg till rolltilldelning.
Tilldela sedan rollen Storage Blob Data Contributor till din Translator-tjänstresurs. Rollen Storage Blob Data Contributor ger Translator (representeras av den systemtilldelade hanterade identiteten) läs-, skriv- och borttagningsåtkomst till blobcontainern och data.
Add role assignment
I popup-fönstret fyller du i fälten på följande sätt och väljer Spara:Fält Värde Definitionsområde Lagring. Abonnemang Prenumerationen som är associerad med din lagringsresurs. Resurs Namnet på lagringsresursen. Roll Storage Blob Data-deltagare. När bekräftelsemeddelandet Om rolltilldelning har lagts till visas uppdaterar du sidan för att se den tillagda rolltilldelningen.
Om du inte ser den nya rolltilldelningen direkt väntar du och försöker uppdatera sidan igen. När du tilldelar eller tar bort rolltilldelningar kan det ta upp till 30 minuter innan ändringarna börjar gälla.
HTTP-begäranden
En asynkron batchöversättningsbegäran skickas till translator-tjänstslutpunkten via en POST-begäran.
Med hanterad identitet och
Azure RBAC
behöver du inte längre inkludera SAS-URL:er.Om det lyckas returnerar POST-metoden en
202 Accepted
svarskod och tjänsten skapar en batchbegäran.De översatta dokumenten visas i målcontainern.
Sidhuvuden
Följande rubriker ingår i varje API-begäran om Azure AI-dokumentöversättning:
HTTP-huvud | beskrivning |
---|---|
Ocp-Apim-Subscription-Key | Obligatoriskt: Värdet är Azure-nyckeln för din Translator- eller Azure AI-tjänstresurs. |
Innehållstyp | Obligatoriskt: Anger innehållstypen för nyttolasten. Godkända värden är application/json eller charset=UTF-8. |
POST-begärandetext
- Begärande-URL:en är POST
https://<NAME-OF-YOUR-RESOURCE>.cognitiveservices.azure.com/translator/text/batch/v1.1/batches
. - Begärandetexten är ett JSON-objekt med namnet
inputs
. - Objektet
inputs
innehåller bådesourceURL
ochtargetURL
containeradresser för dina käll- och målspråkpar. Med systemtilldelad hanterad identitet använder du en vanlig URL för lagringskonto (ingen SAS eller andra tillägg). Formatet ärhttps://<storage_account_name>.blob.core.windows.net/<container_name>
. - Fälten
prefix
ochsuffix
(valfritt) används för att filtrera dokument i containern, inklusive mappar. - Ett värde för fältet
glossaries
(valfritt) tillämpas när dokumentet översätts. - För
targetUrl
varje målspråk måste vara unikt.
Viktigt!
Om det redan finns en fil med samma namn i målet misslyckas jobbet. När du använder hanterade identiteter ska du inte inkludera en SAS-token-URL med dina HTTP-begäranden. Om du gör det misslyckas dina begäranden.
Översätta alla dokument i en container
Det här exempelbegärandetexten refererar till en källcontainer för alla dokument som ska översättas till ett målspråk.
Mer information finns ibegärandeparametrar.
{
"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"
}
]
}
]
}
Översätta ett visst dokument i en container
Det här exempelbegärandetexten refererar till ett enda källdokument som ska översättas till två målspråk.
Viktigt!
Förutom de parametrar för begäran som antecknades tidigare måste du inkludera "storageType": "File"
. Annars antas käll-URL:en vara på containernivå.
{
"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"
}
]
}
]
}
Översätta alla dokument i en container med hjälp av en anpassad ordlista
Det här exempelbegärandetexten refererar till en källcontainer för alla dokument som ska översättas till ett målspråk med hjälp av en ordlista.
Mer information finns ibegärandeparametrar.
{
"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"
}
]
}
]
}
]
}
Toppen! Du har precis lärt dig hur du aktiverar och använder en systemtilldelad hanterad identitet. Med hanterad identitet för Azure-resurser och Azure RBAC
har du beviljat Translator specifika åtkomsträttigheter till din lagringsresurs utan att inkludera SAS-token med dina HTTP-begäranden.