Wat zijn beheerde identiteiten voor Azure-resources?What is managed identities for Azure resources?

Beheerde identiteiten voor Azure-resources is een functie van Azure Active Directory.Managed identities for Azure resources is a feature of Azure Active Directory. Voor alle Azure-services die beheerde identiteiten voor Azure-resources ondersteunen, geldt een eigen tijdlijn.Each of the Azure services that support managed identities for Azure resources are subject to their own timeline. Controleer de beschikbaarheidsstatus van beheerde identiteiten voor uw resource en eventuele bekende problemen voordat u begint.Make sure you review the availability status of managed identities for your resource and known issues before you begin.

Een veelvoorkomende uitdaging bij het bouwen van cloud-apps is het beheren van de referenties in uw code voor verificatie bij cloudservices.A common challenge when building cloud applications is how to manage the credentials in your code for authenticating to cloud services. Het is belangrijk dat de referenties veilig worden bewaard.Keeping the credentials secure is an important task. In het ideale geval worden de referenties nooit weergegeven op werkstations van ontwikkelaars en niet ingecheckt in broncodebeheer.Ideally, the credentials never appear on developer workstations and aren't checked into source control. Azure Key Vault biedt een manier voor het veilig opslaan van referenties, geheimen en andere sleutels, maar uw code moet worden geverifieerd bij Key Vault om ze op te halen.Azure Key Vault provides a way to securely store credentials, secrets, and other keys, but your code has to authenticate to Key Vault to retrieve them.

Dit probleem wordt opgelost met de functie Beheerde identiteiten voor Azure-resources in Azure Active Directory (Azure AD).The managed identities for Azure resources feature in Azure Active Directory (Azure AD) solves this problem. De functie biedt Azure-services met een automatisch beheerde identiteit in Azure AD.The feature provides Azure services with an automatically managed identity in Azure AD. U kunt de identiteit gebruiken voor verificatie bij alle services die ondersteuning bieden voor Azure AD-verificatie, inclusief Key Vault, zonder referenties in de code.You can use the identity to authenticate to any service that supports Azure AD authentication, including Key Vault, without any credentials in your code.

De functie Beheerde identiteiten voor Azure-resources is gratis bij een abonnement op Azure AD.The managed identities for Azure resources feature is free with Azure AD for Azure subscriptions. Er zijn geen extra kosten.There's no additional cost.

Notitie

Beheerde identiteiten voor Azure-resources is de nieuwe naam voor de service die eerder de naam Managed Service Identity (MSI) had.Managed identities for Azure resources is the new name for the service formerly known as Managed Service Identity (MSI).

TerminologieTerminology

De volgende termen worden in de beheerde identiteiten gebruikt voor de documentatieset van Azure-resources:The following terms are used throughout the managed identities for Azure resources documentation set:

  • Client-id: een unieke id die door Azure AD wordt gegenereerd. Deze wordt tijdens de eerste keer inrichten gekoppeld aan een toepassing en service-principal.Client ID - a unique identifier generated by Azure AD that is tied to an application and service principal during its initial provisioning.
  • Principal-id: de object-id van het service-principal-object van uw beheerde identiteit. Deze wordt gebruikt om op basis van rollen toegang te verlenen tot een Azure-resource.Principal ID - the object ID of the service principal object for your managed identity that is used to grant role-based access to an Azure resource.
  • Azure Instance Metadata Service (IMDS) : een REST-eindpunt dat toegankelijk is voor alle IaaS-VM's die worden gemaakt via Azure Resource Manager.Azure Instance Metadata Service (IMDS) - a REST endpoint accessible to all IaaS VMs created via the Azure Resource Manager. Het eindpunt is beschikbaar via een bekend, niet-routeerbaar IP-adres (169.254.169.254) dat alleen kan worden benaderd vanuit de virtuele machine.The endpoint is available at a well-known non-routable IP address (169.254.169.254) that can be accessed only from within the VM.

Hoe werken beheerde identiteiten voor Azure-resources?How does the managed identities for Azure resources work?

Er zijn twee typen beheerde identiteit:There are two types of managed identities:

  • Een door het systeem toegewezen beheerde identiteit wordt rechtstreeks op een Azure-service-exemplaar ingeschakeld.A system-assigned managed identity is enabled directly on an Azure service instance. Wanneer de identiteit is ingeschakeld, wordt een identiteit voor het service-exemplaar in de Azure AD-tenant gemaakt, dat wordt vertrouwd door het abonnement van het service-exemplaar.When the identity is enabled, Azure creates an identity for the instance in the Azure AD tenant that's trusted by the subscription of the instance. Nadat de identiteit is gemaakt, worden de referenties op het exemplaar ingericht.After the identity is created, the credentials are provisioned onto the instance. De levenscyclus van een door het systeem toegewezen identiteit is rechtstreeks gekoppeld aan het Azure-service-exemplaar waarop de identiteit is ingeschakeld.The lifecycle of a system-assigned identity is directly tied to the Azure service instance that it's enabled on. Als het exemplaar wordt verwijderd, ruimt Azure automatisch de referenties en de identiteit in Azure AD op.If the instance is deleted, Azure automatically cleans up the credentials and the identity in Azure AD.
  • Een door de gebruiker toegewezen beheerde identiteit wordt gemaakt als een zelfstandige Azure-resource.A user-assigned managed identity is created as a standalone Azure resource. Via een productieproces maakt Azure een identiteit in de Azure AD-tenant, die wordt vertrouwd door het gebruikte abonnement.Through a create process, Azure creates an identity in the Azure AD tenant that's trusted by the subscription in use. Nadat de identiteit is gemaakt, kan deze worden toegewezen aan een of meer Azure-service-exemplaren.After the identity is created, the identity can be assigned to one or more Azure service instances. De levenscyclus van een door de gebruiker toegewezen identiteit wordt afzonderlijk beheerd van de levenscyclus van de Azure Service-exemplaren waaraan de identiteit is toegewezen.The lifecycle of a user-assigned identity is managed separately from the lifecycle of the Azure service instances to which it's assigned.

Intern, zijn beheerde identiteiten service-principals van een speciaal type, deze worden gekoppeld aan het alleen worden gebruikt met Azure-resources.Internally, managed identities are service principals of a special type, which are locked to only be used with Azure resources. Wanneer de beheerde identiteit wordt verwijderd, wordt de bijbehorende service-principal automatisch verwijderd.When the managed identity is deleted, the corresponding service principal is automatically removed.

De code kan gebruikmaken van een beheerde identiteit om toegangstokens aan te vragen voor services die ondersteuning bieden voor Azure AD-verificatie.Your code can use a managed identity to request access tokens for services that support Azure AD authentication. Azure zorgt voor het implementeren van de referenties die worden gebruikt door het service-exemplaar.Azure takes care of rolling the credentials that are used by the service instance.

In het volgende diagram ziet u hoe beheerde service-identiteiten samenwerken met virtuele machines (VM's) van Azure:The following diagram shows how managed service identities work with Azure virtual machines (VMs):

Beheerde service-identiteiten en Azure-VM's

EigenschapProperty Het systeem toegewezen beheerde identiteitSystem-assigned managed identity Door een gebruiker toegewezen beheerde identiteitUser-assigned managed identity
Het makenCreation Gemaakt als onderdeel van een Azure-resource (bijvoorbeeld een virtuele machine van Azure of Azure App Service)Created as part of an Azure resource (for example, an Azure virtual machine or Azure App Service) Als een zelfstandige Azure-resource is gemaaktCreated as a stand-alone Azure resource
LevenscyclusLifecycle Levenscyclus met de Azure-resource die de beheerde identiteit wordt gemaakt met gedeeld.Shared lifecycle with the Azure resource that the managed identity is created with.
Wanneer de bovenliggende resource wordt verwijderd, wordt de beheerde identiteit wordt ook verwijderd.When the parent resource is deleted, the managed identity is deleted as well.
Onafhankelijke levenscyclus.Independent life-cycle.
Moeten expliciet worden verwijderd.Must be explicitly deleted.
Voor Azure-resources te delenSharing across Azure resources Kan niet worden gedeeld.Cannot be shared.
Het kan alleen worden gekoppeld aan een enkele Azure-resource.It can only be associated with a single Azure resource.
Kunnen worden gedeeldCan be shared
Dezelfde gebruiker toegewezen beheerde identiteit kan worden gekoppeld aan meer dan één Azure-resource.The same user-assigned managed identity can be associated with more than one Azure resource.
Algemene scenario’sCommon use cases Workloads die zijn opgenomen in een enkel Azure-resourceWorkloads that are contained within a single Azure resource
Workloads waarvoor u onafhankelijke identiteiten nodig hebt.Workloads for which you need independent identities.
Bijvoorbeeld, een toepassing die wordt uitgevoerd op een enkele virtuele machineFor example, an application that runs on a single virtual machine
Workloads die worden uitgevoerd op meerdere resources en die één identiteit kunt delen.Workloads that run on multiple resources and which can share a single identity.
Workloads waarvoor voorlopige autorisatie met een beveiligde bron als onderdeel van een stroom inrichten.Workloads that need pre-authorization to a secure resource as part of a provisioning flow.
Workloads waarvoor resources vaak gerecycled zijn, maar machtigingen moeten consistent blijven.Workloads where resources are recycled frequently, but permissions should stay consistent.
Bijvoorbeeld, een werkbelasting waar meerdere virtuele machines nodig hebt voor toegang tot dezelfde resourceFor example, a workload where multiple virtual machines need to access the same resource

Hoe een door het systeem toegewezen beheerde identiteit samenwerkt met een Azure-VMHow a system-assigned managed identity works with an Azure VM

  1. Azure Resource Manager ontvangt een aanvraag voor het inschakelen van de door het systeem toegewezen beheerde identiteit op een VM.Azure Resource Manager receives a request to enable the system-assigned managed identity on a VM.
  2. Azure Resource Manager maakt een service-principal in Azure AD voor de identiteit van de VM.Azure Resource Manager creates a service principal in Azure AD for the identity of the VM. De service-principal wordt gemaakt in de Azure AD-tenant die wordt vertrouwd door het abonnement.The service principal is created in the Azure AD tenant that's trusted by the subscription.
  3. Azure Resource Manager configureert de identiteit op de VM:Azure Resource Manager configures the identity on the VM:
    1. Het Azure Instance Metadata Service-eindpunt voor identiteit wordt bijgewerkt met de client-id en het certificaat van de service-principal.Updates the Azure Instance Metadata Service identity endpoint with the service principal client ID and certificate.
    2. De VM-extensie wordt ingericht (gepland voor afschaffing in januari 2019) en de client-id en het certificaat van de service-principal worden toegevoegd.Provisions the VM extension (planned for deprecation in January 2019), and adds the service principal client ID and certificate. (Deze stap wordt later afgeschaft.)(This step is planned for deprecation.)
  4. Als de VM een identiteit heeft, gebruikt u de informatie van de service-principal om de VM toegang te verlenen tot Azure-resources.After the VM has an identity, use the service principal information to grant the VM access to Azure resources. Voor het aanroepen van Azure Resource Manager gebruikt u op rollen gebaseerd toegangsbeheer (RBAC) in Azure AD om de juiste rol aan de VM-service-principal toe te wijzen.To call Azure Resource Manager, use role-based access control (RBAC) in Azure AD to assign the appropriate role to the VM service principal. Als u Key Vault wilt aanroepen, geeft u de code toegang tot het specifieke geheim of de specifieke sleutel in Key Vault.To call Key Vault, grant your code access to the specific secret or key in Key Vault.
  5. Uw code die wordt uitgevoerd op de virtuele machine kan aanvragen van een token van het Azure Instance Metadata service-eindpunt, alleen toegankelijk vanuit de virtuele machine: http://169.254.169.254/metadata/identity/oauth2/tokenYour code that's running on the VM can request a token from the Azure Instance Metadata service endpoint, accessible only from within the VM: http://169.254.169.254/metadata/identity/oauth2/token
    • De resourceparameter geeft de service op waarnaar het token wordt verzonden.The resource parameter specifies the service to which the token is sent. Gebruik resource=https://management.azure.com/ om bij Azure Resource Manager te verificatie uit te voeren.To authenticate to Azure Resource Manager, use resource=https://management.azure.com/.
    • De API-versieparameter specificeert de IMDS-versie, gebruik api-version=2018-02-01 of hoger.API version parameter specifies the IMDS version, use api-version=2018-02-01 or greater.

Notitie

Uw code kunt ook een token aanvragen van VM-extensie-eindpunt, maar dit is gepland voor de afschaffing binnenkort.Your code can also request a token from VM extension endpoint, but this is planned for deprecation soon. Zie voor meer informatie over de VM-extensie, migreren van de VM-extensie naar Azure IMDS voor verificatie.For more information about the VM extension, see Migrate from the VM extension to Azure IMDS for authentication.

  1. Er wordt een aanroep uitgevoerd naar Azure AD om een toegangstoken aan te vragen (zoals beschreven in stap 5) met behulp van de client-id en het certificaat dat in stap 3 is geconfigureerd.A call is made to Azure AD to request an access token (as specified in step 5) by using the client ID and certificate configured in step 3. Azure AD retourneert een JWT-toegangstoken (JSON Web Token).Azure AD returns a JSON Web Token (JWT) access token.
  2. Uw code verzendt het toegangstoken bij een aanroep naar een service die Azure AD-verificatie ondersteunt.Your code sends the access token on a call to a service that supports Azure AD authentication.

Hoe een door een gebruiker toegewezen beheerde identiteit samenwerkt met een Azure-VMHow a user-assigned managed identity works with an Azure VM

  1. Azure Resource Manager ontvangt een aanvraag voor het maken van een door de gebruiker toegewezen beheerde identiteit.Azure Resource Manager receives a request to create a user-assigned managed identity.

  2. Azure Resource Manager maakt een service-principal in Azure AD voor de door de gebruiker toegewezen beheerde identiteit.Azure Resource Manager creates a service principal in Azure AD for the user-assigned managed identity. De service-principal wordt gemaakt in de Azure AD-tenant die wordt vertrouwd door het abonnement.The service principal is created in the Azure AD tenant that's trusted by the subscription.

  3. Azure Resource Manager ontvangt een aanvraag voor het configureren van de door de gebruiker toegewezen beheerde identiteit op een VM:Azure Resource Manager receives a request to configure the user-assigned managed identity on a VM:

    1. Het Azure Instance Metadata Service-eindpunt voor identiteit wordt bijgewerkt met de client-id en het certificaat van de service-principal voor de door de gebruiker toegewezen beheerde identiteit.Updates the Azure Instance Metadata Service identity endpoint with the user-assigned managed identity service principal client ID and certificate.
    2. De VM-extensie wordt ingericht en de client-id en het certificaat van de service-principal voor de door de gebruiker toegewezen beheerde identiteit worden toegevoegd.Provisions the VM extension, and adds the user-assigned managed identity service principal client ID and certificate. (Deze stap wordt later afgeschaft.)(This step is planned for deprecation.)
  4. Nadat de door de gebruiker toegewezen beheerde identiteit is gemaakt, gebruikt u de informatie van de service-principal om de identiteit toegang te verlenen tot Azure-resources.After the user-assigned managed identity is created, use the service principal information to grant the identity access to Azure resources. Voor het aanroepen van Azure Resource Manager gebruikt u RBAC in Azure AD om de juiste rol aan de service-principal van de door de gebruiker toegewezen identiteit toe te wijzen.To call Azure Resource Manager, use RBAC in Azure AD to assign the appropriate role to the service principal of the user-assigned identity. Als u Key Vault wilt aanroepen, geeft u de code toegang tot het specifieke geheim of de specifieke sleutel in Key Vault.To call Key Vault, grant your code access to the specific secret or key in Key Vault.

    Notitie

    U kunt deze stap ook vóór stap 3 uitvoeren.You can also do this step before step 3.

  5. De code die wordt uitgevoerd op de virtuele machine kunt u een token aanvragen van het eindpunt Azure Instance Metadata Service-identiteit, alleen toegankelijk vanuit de virtuele machine: http://169.254.169.254/metadata/identity/oauth2/tokenYour code that's running on the VM can request a token from the Azure Instance Metadata Service identity endpoint, accessible only from within the VM: http://169.254.169.254/metadata/identity/oauth2/token

    • De resourceparameter geeft de service op waarnaar het token wordt verzonden.The resource parameter specifies the service to which the token is sent. Gebruik resource=https://management.azure.com/ om bij Azure Resource Manager te verificatie uit te voeren.To authenticate to Azure Resource Manager, use resource=https://management.azure.com/.
    • De client-id-parameter bevat de identiteit waarvoor het token wordt aangevraagd.The client ID parameter specifies the identity for which the token is requested. Deze waarde is vereist om ambiguïteit op te heffen wanneer meer dan een door de gebruiker toegewezen identiteit aanwezig is op één VM.This value is required for disambiguation when more than one user-assigned identity is on a single VM.
    • De parameter voor de API-versie geeft de versie van Azure Instance Metadata Service op.The API version parameter specifies the Azure Instance Metadata Service version. Gebruik api-version=2018-02-01 of hoger.Use api-version=2018-02-01 or higher.

Notitie

Uw code kunt ook een token aanvragen van VM-extensie-eindpunt, maar dit is gepland voor de afschaffing binnenkort.Your code can also request a token from VM extension endpoint, but this is planned for deprecation soon. Zie voor meer informatie over de VM-extensie, migreren van de VM-extensie naar Azure IMDS voor verificatie.For more information about the VM extension, see Migrate from the VM extension to Azure IMDS for authentication.

  1. Er wordt een aanroep uitgevoerd naar Azure AD om een toegangstoken aan te vragen (zoals beschreven in stap 5) met behulp van de client-id en het certificaat dat in stap 3 is geconfigureerd.A call is made to Azure AD to request an access token (as specified in step 5) by using the client ID and certificate configured in step 3. Azure AD retourneert een JWT-toegangstoken (JSON Web Token).Azure AD returns a JSON Web Token (JWT) access token.
  2. Uw code verzendt het toegangstoken bij een aanroep naar een service die Azure AD-verificatie ondersteunt.Your code sends the access token on a call to a service that supports Azure AD authentication.

Hoe gebruik ik beheerde identiteiten voor Azure-resources?How can I use managed identities for Azure resources?

In deze zelfstudies leert u hoe u gebruik kunt maken van beheerde identiteiten om toegang te krijgen tot verschillende Azure-resources.To learn how to use managed identities to access different Azure resources, try these tutorials.

Notitie

Bekijk de cursus Beheerde identiteiten implementeren voor Microsoft Azure-resources voor meer informatie over beheerde identiteiten, inclusief een gedetailleerd video-overzicht van verschillende ondersteunde scenario’s.Check out the Implementing Managed Identities for Microsoft Azure Resources course for more information about managed identities, including detailed video walkthroughs of several supported scenarios.

Informatie over het gebruik van een beheerde identiteit met een Windows-VM:Learn how to use a managed identity with a Windows VM:

Informatie over het gebruik van een beheerde identiteit met een Linux-VM:Learn how to use a managed identity with a Linux VM:

Informatie over het gebruik van een beheerde identiteit met andere Azure-services:Learn how to use a managed identity with other Azure services:

Welke Azure-services bieden ondersteuning voor de functie?What Azure services support the feature?

Beheerde identiteiten voor Azure-resources kunnen worden gebruikt voor verificatie bij services die ondersteuning bieden voor Azure AD-verificatie.Managed identities for Azure resources can be used to authenticate to services that support Azure AD authentication. Zie Services die ondersteuning bieden voor beheerde identiteiten voor Azure-resources voor meer informatie.For a list of Azure services that support the managed identities for Azure resources feature, see Services that support managed identities for Azure resources.

Volgende stappenNext steps

Gebruik de volgende snelstartgidsen om aan de slag te gaan met de functie Beheerde identiteiten voor Azure-resources:Get started with the managed identities for Azure resources feature with the following quickstarts: