Delen via


Beheerde identiteiten in Azure Container Apps

Met een beheerde identiteit van Microsoft Entra ID heeft uw container-app toegang tot andere met Microsoft Entra beveiligde resources. Zie Beheerde identiteiten voor Azure-resources voor meer informatie over beheerde identiteiten in Microsoft Entra ID.

Aan uw container-app kunnen twee typen identiteiten worden toegekend:

  • Een door het systeem toegewezen identiteit is gekoppeld aan uw container-app en wordt verwijderd wanneer uw container-app wordt verwijderd. Een app kan slechts één door het systeem toegewezen identiteit hebben.
  • Een door de gebruiker toegewezen identiteit is een zelfstandige Azure-resource die u kunt toewijzen aan uw container-app en andere resources. Een container-app kan meerdere door de gebruiker toegewezen identiteiten hebben. Door de gebruiker toegewezen identiteiten bestaan totdat u ze verwijdert.

Waarom een beheerde identiteit gebruiken?

U kunt een beheerde identiteit in een actieve container-app gebruiken om te verifiëren bij elke service die ondersteuning biedt voor Microsoft Entra-verificatie.

Met beheerde identiteiten:

  • Uw app maakt verbinding met resources met de beheerde identiteit. U hoeft geen referenties in uw container-app te beheren.
  • U kunt op rollen gebaseerd toegangsbeheer gebruiken om specifieke machtigingen te verlenen aan een beheerde identiteit.
  • Door het systeem toegewezen identiteiten worden automatisch gemaakt en beheerd. Ze worden verwijderd wanneer uw container-app wordt verwijderd.
  • U kunt door de gebruiker toegewezen identiteiten toevoegen en verwijderen en deze toewijzen aan meerdere resources. Ze zijn onafhankelijk van de levenscyclus van uw container-app.
  • U kunt beheerde identiteit gebruiken om te verifiëren met een privé-Azure Container Registry zonder gebruikersnaam en wachtwoord om containers voor uw container-app op te halen.
  • U kunt een beheerde identiteit gebruiken om verbindingen te maken voor toepassingen met Dapr-functionaliteit via Dapr-onderdelen

Veelvoorkomende toepassingen

Door het systeem toegewezen identiteiten zijn het meest geschikt voor workloads die:

  • zijn opgenomen in één resource
  • onafhankelijke identiteiten nodig hebben

Door de gebruiker toegewezen identiteiten zijn ideaal voor workloads die:

  • worden uitgevoerd op meerdere resources en kunnen één identiteit delen
  • moet vooraf worden geautoriseerd voor een beveiligde resource

Beperkingen

  • Beheerde identiteiten in schaalregels worden niet ondersteund. U moet verbindingsreeks s of sleutels opnemen in de secretRef schaalregel.
  • Init-containers hebben geen toegang tot beheerde identiteiten.

Beheerde identiteiten configureren

U kunt uw beheerde identiteiten configureren via:

  • de Azure Portal
  • de Azure CLI
  • uw ARM-sjabloon (Azure Resource Manager)

Wanneer een beheerde identiteit wordt toegevoegd, verwijderd of gewijzigd in een actieve container-app, wordt de app niet automatisch opnieuw opgestart en wordt er geen nieuwe revisie gemaakt.

Notitie

Wanneer u een beheerde identiteit toevoegt aan een container-app die vóór 11 april 2022 is geïmplementeerd, moet u een nieuwe revisie maken.

Een door het systeem toegewezen identiteit toevoegen

  1. Ga naar uw container-app in Azure Portal.

  2. Selecteer Identiteit in de groep Instellingen.

  3. Schakel op het tabblad Door systeem toegewezen status over naar Aan.

  4. Selecteer Opslaan.

Schermopname van door het systeem toegewezen identiteiten.

Een door de gebruiker toegewezen identiteit toevoegen

Voor het configureren van een container-app met een door de gebruiker toegewezen identiteit moet u eerst de identiteit maken en vervolgens de resource-id toevoegen aan de configuratie van uw container-app. U kunt door de gebruiker toegewezen identiteiten maken via Azure Portal of de Azure CLI. Zie Door de gebruiker toegewezen beheerde identiteiten beheren voor meer informatie over het maken en beheren van door de gebruiker toegewezen identiteiten.

Eerst moet u een door de gebruiker toegewezen identiteitsresource maken.

  1. Maak een door de gebruiker toegewezen beheerde identiteitresource volgens de stappen in Door de gebruiker toegewezen beheerde identiteiten beheren.

  2. Ga naar uw container-app in Azure Portal.

  3. Selecteer Identiteit in de groep Instellingen.

  4. Selecteer Toevoegen op het tabblad Toegewezen gebruiker.

  5. Zoek en selecteer de identiteit die u eerder hebt gemaakt.

  6. Selecteer Toevoegen.

Schermopname van door de gebruiker toegewezen identiteiten.

Een doelresource configureren

Voor sommige resources moet u roltoewijzingen configureren voor de beheerde identiteit van uw app om toegang te verlenen. Anders worden aanroepen van uw app naar services, zoals Azure Key Vault en Azure SQL Database, geweigerd, zelfs wanneer u een geldig token voor die identiteit gebruikt. Zie Wat is RBAC?voor meer informatie over op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC). Zie Azure-services die ondersteuning bieden voor Microsoft Entra-verificatie voor meer informatie over welke resources Ondersteuning bieden voor Microsoft Entra-tokens.

Belangrijk

De back-endservices voor beheerde identiteiten onderhouden ongeveer 24 uur een cache per resource-URI. Als u het toegangsbeleid van een bepaalde doelresource bijwerkt en onmiddellijk een token voor die resource ophaalt, kunt u een token in de cache met verouderde machtigingen blijven ophalen totdat dat token verloopt. Het afdwingen van een token vernieuwen wordt niet ondersteund.

Verbinding maken met Azure-services in app-code

Met beheerde identiteiten kan een app tokens verkrijgen voor toegang tot Azure-resources die gebruikmaken van Microsoft Entra-id, zoals Azure SQL Database, Azure Key Vault en Azure Storage. Deze tokens vertegenwoordigen de toepassing die toegang heeft tot de resource en niet een specifieke gebruiker van de toepassing.

Container Apps biedt een intern toegankelijk REST-eindpunt om tokens op te halen. Het REST-eindpunt is beschikbaar vanuit de app met een standaard HTTP-aanvraag GET , die u kunt verzenden met een algemene HTTP-client in uw voorkeurstaal. Voor .NET, JavaScript, Java en Python biedt de Azure Identity-clientbibliotheek een abstractie over dit REST-eindpunt. U kunt verbinding maken met andere Azure-services door een referentieobject toe te voegen aan de servicespecifieke client.

Notitie

Wanneer u de Azure Identity-clientbibliotheek gebruikt, moet u expliciet de client-id van de door de gebruiker toegewezen beheerde identiteit opgeven.

Notitie

Wanneer u verbinding maakt met Azure SQL-gegevensbronnen met Entity Framework Core, kunt u Overwegen Om Microsoft.Data.SqlClient te gebruiken. Dit biedt speciale verbindingsreeks s voor connectiviteit met beheerde identiteiten.

Voor .NET-apps is de eenvoudigste manier om met een beheerde identiteit te werken via de Azure Identity-clientbibliotheek voor .NET. Raadpleeg de volgende bronnen voor meer informatie:

De gekoppelde voorbeelden gebruiken DefaultAzureCredential. Dit object is effectief in de meeste scenario's als hetzelfde patroon werkt in Azure (met beheerde identiteiten) en op uw lokale computer (zonder beheerde identiteiten).

Beheerde identiteiten weergeven

U kunt de door het systeem toegewezen en door de gebruiker toegewezen beheerde identiteiten weergeven met behulp van de volgende Azure CLI-opdracht. In de uitvoer ziet u het type beheerde identiteit, tenant-id's en principal-id's van alle beheerde identiteiten die zijn toegewezen aan uw container-app.

az containerapp identity show --name <APP_NAME> --resource-group <GROUP_NAME>

Een beheerde identiteit verwijderen

Wanneer u een door het systeem toegewezen identiteit verwijdert, wordt deze verwijderd uit de Microsoft Entra-id. Door het systeem toegewezen identiteiten worden ook automatisch verwijderd uit Microsoft Entra ID wanneer u de container-app-resource zelf verwijdert. Als u door de gebruiker toegewezen beheerde identiteiten verwijdert uit uw container-app, worden deze niet uit Microsoft Entra-id verwijderd.

  1. Schuif in het linkernavigatievenster van de pagina van uw app omlaag naar de groep Instellingen .

  2. Selecteer Identiteit. Volg vervolgens de stappen op basis van het identiteitstype:

    • Door het systeem toegewezen identiteit: schakel op het tabblad Door systeem toegewezen status over op Uit. Selecteer Opslaan.
    • Door de gebruiker toegewezen identiteit: selecteer het tabblad Door de gebruiker toegewezen , schakel het selectievakje voor de identiteit in en selecteer Verwijderen. Selecteer Ja om te bevestigen.

Volgende stappen