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 kan worden toegewezen aan uw container-app en andere resources. Een container-app kan meerdere door de gebruiker toegewezen identiteiten hebben. De identiteit bestaat 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 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

Het gebruik van beheerde identiteiten in schaalregels wordt niet ondersteund. U moet nog steeds de verbindingsreeks of sleutel 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. Schuif in de linkernavigatiebalk van de pagina van de container-app omlaag naar de Instellingen groep.

  2. Selecteer Identiteit.

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

Screenshot of system-assigned identities.

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. Schuif in de linkernavigatiebalk voor de pagina van de container-app omlaag naar de Instellingen groep.

  3. Selecteer Identiteit.

  4. Selecteer Toevoegen op het tabblad Toegewezen gebruiker.

  5. Zoek naar de identiteit die u eerder hebt gemaakt en selecteer deze. Selecteer Toevoegen.

Screenshot of user-assigned identities.

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 als 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. Er is momenteel geen manier om een tokenvernieuwing af te dwingen.

Verbinding maken naar 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 kan worden geopend vanuit de app met een standaard HTTP GET, die kan worden geïmplementeerd met een algemene HTTP-client in elke taal. Voor .NET, JavaScript, Java en Python biedt de Azure Identity-clientbibliotheek een abstractie over dit REST-eindpunt. Verbinding maken aan andere Azure-services is net zo eenvoudig als het toevoegen van een referentieobject aan de servicespecifieke client.

Notitie

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

Notitie

Wanneer u verbinding maakt met Azure SQL-gegevensbronnen met Entity Framework Core, kunt u Microsoft.Data.SqlClient 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. Zie de respectieve documentatiekoppen van de clientbibliotheek voor informatie:

De gekoppelde voorbeelden gebruiken DefaultAzureCredential. Dit is handig voor de meeste scenario's omdat 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 de linkernavigatiebalk van de pagina van uw app omlaag naar de Instellingen groep.

  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