Overweeg verificatie

Voltooid

Standaard wordt de toegang tot Azure AI-servicesbronnen beperkt door abonnementssleutels te gebruiken. Het beheer van toegang tot deze sleutels is een belangrijke overweging voor beveiliging.

Sleutels opnieuw genereren

U moet sleutels regelmatig opnieuw genereren om u te beschermen tegen het risico dat sleutels worden gedeeld met of worden geopend door onbevoegde gebruikers. U kunt sleutels opnieuw genereren met behulp van Azure Portal of met behulp van de az cognitiveservices account keys regenerate Azure CLI-opdracht (opdrachtregelinterface).

Elke AI-service wordt geleverd met twee sleutels, zodat u sleutels zonder serviceonderbreking opnieuw kunt genereren. Dit doet u als volgt:

  1. Als u beide sleutels in productie gebruikt, wijzigt u de code zodat er slechts één sleutel wordt gebruikt. Configureer bijvoorbeeld alle productietoepassingen voor het gebruik van sleutel 1.
  2. Genereer sleutel 2 opnieuw.
  3. Zet alle productietoepassingen om de nieuw gegenereerde sleutel 2 te gebruiken.
  4. Sleutel 1 opnieuw genereren
  5. Werk ten slotte uw productiecode bij om de nieuwe sleutel 1 te gebruiken.

Als u bijvoorbeeld sleutels opnieuw wilt genereren in Azure Portal, kunt u het volgende doen:

  1. Ga in Azure Portal naar het deelvenster Sleutels en eindpunt van uw resource.
  2. Selecteer Vervolgens Sleutel1 opnieuw genereren of selecteer Sleutel2 opnieuw genereren, afhankelijk van welke sleutel u op dat moment opnieuw wilt genereren.

Sleutels beveiligen met Azure Key Vault

Azure Key Vault is een Azure-service waarin u geheimen veilig kunt opslaan (zoals wachtwoorden en sleutels). Toegang tot de sleutelkluis wordt verleend aan beveiligingsprinciplen, die u kunt beschouwen als gebruikersidentiteiten die worden geverifieerd met behulp van Microsoft Entra-id. Beheer istrators kunnen een beveiligingsprincipaal toewijzen aan een toepassing (in dat geval een service-principal genoemd) om een beheerde identiteit voor de toepassing te definiëren. De toepassing kan deze identiteit vervolgens gebruiken om toegang te krijgen tot de sleutelkluis en een geheim op te halen waartoe deze toegang heeft. Door de toegang tot het geheim op deze manier te beheren, wordt het risico geminimaliseerd dat het wordt aangetast door in code in een toepassing te worden opgeslagen of opgeslagen in een configuratiebestand.

U kunt de abonnementssleutels opslaan voor een AI-servicesresource in Azure Key Vault en een beheerde identiteit toewijzen aan clienttoepassingen die de service moeten gebruiken. De toepassingen kunnen vervolgens de sleutel zo nodig ophalen uit de sleutelkluis, zonder risico dat deze wordt blootgesteld aan onbevoegde gebruikers.

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

Verificatie op basis van tokens

Wanneer u de REST-interface gebruikt, ondersteunen sommige AI-services verificatie op basis van tokens (of zelfs vereisen). In deze gevallen wordt de abonnementssleutel weergegeven in een eerste aanvraag om een verificatietoken te verkrijgen, dat een geldige periode van 10 minuten heeft. Volgende aanvragen moeten het token presenteren om te valideren dat de aanroeper is geverifieerd.

Tip

Wanneer u een SDK gebruikt, worden de aanroepen om een token te verkrijgen en te presenteren voor u verwerkt door de SDK.

Microsoft Entra ID-verificatie

Azure AI-services ondersteunen Microsoft Entra ID-verificatie, zodat u toegang kunt verlenen tot specifieke service-principals of beheerde identiteiten voor apps en services die worden uitgevoerd in Azure.

Notitie

Zie de documentatie voor AI-services voor meer informatie over verificatieopties voor AI-services.

Er zijn verschillende manieren waarop u zich kunt verifiëren bij Azure AI-services met behulp van Microsoft Entra ID, waaronder:

Verifiëren met behulp van service-principals

Het algehele proces voor verificatie bij Azure AI-services met behulp van service-principals is als volgt:

Een aangepast subdomein maken

U kunt een aangepast subdomein op verschillende manieren maken, waaronder via Azure Portal, Azure CLI of PowerShell.

U kunt bijvoorbeeld een subdomein maken met behulp van PowerShell in De Azure Cloud Shell. Hiervoor selecteert u uw abonnement met behulp van de volgende opdracht:

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

Vervolgens maakt u uw Azure AI-servicesresource die een aangepast subdomein opgeeft door het volgende uit te voeren:

$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>

Nadat u het subdomein hebt gemaakt, wordt de naam van het subdomein geretourneerd in het antwoord.

Een rol toewijzen aan een service-principal

U hebt een Azure AI-resource gemaakt die is gekoppeld aan een aangepast subdomein. Vervolgens wijst u een rol toe aan een service-principal.

Als u wilt beginnen, moet u een toepassing registreren. Hiervoor voert u de volgende opdracht uit:

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

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

Hiermee maakt u de toepassingsresource.

Vervolgens gebruikt u de opdracht New-AzADServicePrincipal om een service-principal te maken en de id van uw toepassing op te geven:

New-AzADServicePrincipal -ApplicationId <app-id>

Ten slotte wijst u de rol Cognitive Services-gebruikers toe aan uw service-principal door het volgende uit te voeren:

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

Verifiëren met beheerde identiteiten

Beheerde identiteiten zijn beschikbaar in twee typen:

  • Door het systeem toegewezen beheerde identiteit: er wordt een beheerde identiteit gemaakt en gekoppeld aan een specifieke resource, zoals een virtuele machine die toegang nodig heeft tot Azure AI-services. Wanneer de resource wordt verwijderd, wordt de identiteit ook verwijderd.
  • Door de gebruiker toegewezen beheerde identiteit: de beheerde identiteit wordt gemaakt om te worden gebruikt door meerdere resources in plaats van gekoppeld te zijn aan één. Deze bestaat onafhankelijk van elke resource.

U kunt elk type beheerde identiteit toewijzen aan een resource tijdens het maken van de resource of nadat deze al is gemaakt.

Stel dat u een virtuele machine in Azure hebt die u wilt gebruiken voor dagelijkse toegang tot Azure AI-services. Als u een door het systeem toegewezen identiteit voor deze virtuele machine wilt inschakelen, moet u eerst controleren of uw Azure-account de rol Inzender voor virtuele machines heeft. Vervolgens kunt u de volgende opdracht uitvoeren met behulp van Azure CLI in de Azure Cloud Shell-terminal:

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

Vervolgens kunt u toegang verlenen tot Azure AI-services in Azure Portal met behulp van het volgende:

  1. Ga naar de Azure AI-servicesresource die u wilt verlenen aan de beheerde identiteit van de virtuele machine.

  2. Selecteer toegangsbeheer (IAM) in het overzichtsvenster.

  3. Selecteer Toevoegen en selecteer vervolgens Roltoewijzing toevoegen.

  4. Selecteer Cognitive Services-inzender op het tabblad Rol.

    A screenshot showing the Add role assignment tab.

  5. Selecteer op het tabblad Leden, voor toegang toewijzen aan, beheerde identiteit. Selecteer vervolgens + Leden selecteren.

    A screenshot showing the Select managed identities pane.

  6. Zorg ervoor dat uw abonnement is geselecteerd in de vervolgkeuzelijst Abonnement. En voor beheerde identiteit selecteert u Virtuele machine.

  7. Selecteer uw virtuele machine in de lijst en selecteer Selecteren.

  8. Selecteer ten slotte Beoordelen + toewijzen om te controleren en wijs vervolgens Opnieuw beoordelen en opnieuw toe om te voltooien.