Överväg autentisering

Slutförd

Som standard begränsas åtkomsten till Azure AI-tjänstresurser med hjälp av prenumerationsnycklar. Hantering av åtkomst till dessa nycklar är ett primärt övervägande för säkerheten.

Återskapa nycklar

Du bör återskapa nycklar regelbundet för att skydda mot risken för att nycklar delas med eller nås av obehöriga användare. Du kan återskapa nycklar med hjälp av Azure-portalen eller med hjälp av kommandot Azure-kommandoradsgränssnitt az cognitiveservices account keys regenerate (CLI).

Varje AI-tjänst har två nycklar så att du kan återskapa nycklar utan avbrott i tjänsten. Så här gör du:

  1. Om du använder båda nycklarna i produktion ändrar du koden så att endast en nyckel används. Du kan till exempel konfigurera alla produktionsprogram så att de använder nyckel 1.
  2. Återskapa nyckel 2.
  3. Växla alla produktionsprogram till att använda den nyligen återskapade nyckeln 2.
  4. Återskapa nyckel 1
  5. Slutligen uppdaterar du produktionskoden för att använda den nya nyckeln 1.

Om du till exempel vill återskapa nycklar i Azure-portalen kan du göra följande:

  1. Gå till resursens nyckel- och slutpunktsfönster i Azure-portalen.
  2. Välj sedan Återskapa Key1 eller välj Återskapa Nyckel2, beroende på vilken du vill återskapa vid den tidpunkten.

Skydda nycklar med Azure Key Vault

Azure Key Vault är en Azure-tjänst där du på ett säkert sätt kan lagra hemligheter (till exempel lösenord och nycklar). Åtkomst till nyckelvalvet beviljas säkerhetsobjekt, som du kan tänka på användaridentiteter som autentiseras med Hjälp av Microsoft Entra-ID. Administratörer kan tilldela ett säkerhetsobjekt till ett program (i så fall kallas det för tjänstens huvudnamn) för att definiera en hanterad identitet för programmet. Programmet kan sedan använda den här identiteten för att komma åt nyckelvalvet och hämta en hemlighet som det har åtkomst till. Att kontrollera åtkomsten till hemligheten på det här sättet minimerar risken för att den komprometteras genom att hårdkodas i ett program eller sparas i en konfigurationsfil.

Du kan lagra prenumerationsnycklarna för en AI-tjänstresurs i Azure Key Vault och tilldela en hanterad identitet till klientprogram som behöver använda tjänsten. Programmen kan sedan hämta nyckeln efter behov från nyckelvalvet, utan risk för att exponera den för obehöriga användare.

Diagram showing Azure AI services credentials retrieved from Azure Key Vault.

Tokenbaserad autentisering

När du använder REST-gränssnittet stöder vissa AI-tjänster (eller till och med kräver) tokenbaserad autentisering. I dessa fall visas prenumerationsnyckeln i en första begäran om att få en autentiseringstoken, som har en giltig period på 10 minuter. Efterföljande begäranden måste visa token för att verifiera att anroparen har autentiserats.

Dricks

När du använder ett SDK hanteras anropen för att hämta och presentera en token åt dig av SDK:t.

Microsoft Entra ID-autentisering

Azure AI-tjänster stöder Microsoft Entra-ID-autentisering så att du kan ge åtkomst till specifika tjänsthuvudnamn eller hanterade identiteter för appar och tjänster som körs i Azure.

Kommentar

Mer information om autentiseringsalternativ för AI-tjänster finns i AI-tjänstedokumentationen.

Det finns olika sätt att autentisera mot Azure AI-tjänster med hjälp av Microsoft Entra-ID, inklusive:

Autentisera med tjänstens huvudnamn

Den övergripande processen för att autentisera mot Azure AI-tjänster med hjälp av tjänstens huvudnamn är följande:

Skapa en anpassad underdomän

Du kan skapa en anpassad underdomän på olika sätt, till exempel via Azure-portalen, Azure CLI eller PowerShell.

Du kan till exempel skapa en underdomän med hjälp av PowerShell i Azure Cloud Shell. Det gör du genom att välja din prenumeration med hjälp av följande kommando:

Set-AzContext -SubscriptionName <Your-Subscription-Name>

Sedan skapar du din Azure AI-tjänstresurs som anger en anpassad underdomän genom att köra följande:

$account = New-AzCognitiveServicesAccount -ResourceGroupName <your-resource-group-name> -name <your-account-name> -Type <your-account-type> -SkuName <your-sku-type> -Location <your-region> -CustomSubdomainName <your-unique-subdomain-name>

När du har skapat det returneras underdomännamnet i svaret.

Tilldela en roll till ett huvudnamn för tjänsten

Du har skapat en Azure AI-resurs som är länkad till en anpassad underdomän. Därefter tilldelar du en roll till ett huvudnamn för tjänsten.

Börja med att registrera ett program. För att göra detta kör du följande kommando:

$SecureStringPassword = ConvertTo-SecureString -String <your-password> -AsPlainText -Force

$app = New-AzureADApplication -DisplayName <your-app-display-name> -IdentifierUris <your-app-uris> -PasswordCredentials $SecureStringPassword

Då skapas programresursen.

Sedan använder du kommandot New-AzADServicePrincipal för att skapa ett huvudnamn för tjänsten och ange programmets ID:

New-AzADServicePrincipal -ApplicationId <app-id>

Slutligen tilldelar du rollen Cognitive Services-användare till tjänstens huvudnamn genom att köra:

New-AzRoleAssignment -ObjectId <your-service-principal-object-id> -Scope <account-id> -RoleDefinitionName "Cognitive Services User"

Autentisera med hanterade identiteter

Hanterade identiteter finns i två typer:

  • Systemtilldelad hanterad identitet: En hanterad identitet skapas och länkas till en specifik resurs, till exempel en virtuell dator som behöver åtkomst till Azure AI-tjänster. När resursen tas bort tas även identiteten bort.
  • Användartilldelad hanterad identitet: Den hanterade identiteten skapas för att kunna användas av flera resurser i stället för att vara kopplad till en. Den finns oberoende av en enskild resurs.

Du kan tilldela varje typ av hanterad identitet till en resurs antingen när resursen skapas eller när den redan har skapats.

Anta till exempel att du har en virtuell dator i Azure som du tänker använda för daglig åtkomst till Azure AI-tjänster. Om du vill aktivera en systemtilldelad identitet för den här virtuella datorn kontrollerar du först att ditt Azure-konto har rollen Virtuell datordeltagare. Sedan kan du köra följande kommando med hjälp av Azure CLI i Azure Cloud Shell-terminalen:

az vm identity assign -g <my-resource-group> -n <my-vm>

Sedan kan du bevilja åtkomst till Azure AI-tjänster i Azure-portalen med hjälp av följande:

  1. Gå till den Azure AI-tjänstresurs som du vill bevilja den virtuella datorns hanterade identitetsåtkomst.

  2. Välj Åtkomstkontroll (IAM) i översiktspanelen.

  3. Välj Lägg till och sedan Lägg till rolltilldelning.

  4. På fliken Roll väljer du Cognitive Services-deltagare.

    A screenshot showing the Add role assignment tab.

  5. På fliken Medlemmar går du till Tilldela åtkomst till och väljer Hanterad identitet. Välj sedan + Välj medlemmar.

    A screenshot showing the Select managed identities pane.

  6. Kontrollera att din prenumeration har valts i listrutan Prenumeration. Och för Hanterad identitet väljer du Virtuell dator.

  7. Välj den virtuella datorn i listan och välj Välj.

  8. Välj slutligen Granska + tilldela för granskning och sedan Granska + tilldela igen för att slutföra.

Kommentar

Mer information om hur du konfigurerar hanterade identiteter, inklusive användarhanterade identiteter, finns i Konfigurera hanterade identiteter för Azure-resurser på en virtuell Azure-dator med Azure CLI