Verwendung verwalteter Identitäten für Azure-Ressourcen zusammen mit virtuellen Azure-ComputernHow managed identities for Azure resources work with Azure virtual machines

Verwaltete Identitäten für Azure-Ressourcen stellen für Azure-Dienste eine automatisch verwaltete Identität in Azure Active Directory bereit.Managed identities for Azure resources provide Azure services with an automatically managed identity in Azure Active Directory. Sie können diese Identität für die Authentifizierung bei jedem Dienst verwenden, der die Azure AD-Authentifizierung unterstützt. Hierfür müssen keine Anmeldeinformationen im Code enthalten sein.You can use this identity to authenticate to any service that supports Azure AD authentication, without having credentials in your code.

In diesem Artikel erfahren Sie, wie verwaltete Identitäten mit virtuellen Azure-Computern (Virtual Machines, VMs) verwendet werden.In this article, you learn how managed identities work with Azure virtual machines (VMs).

FunktionsweiseHow it works

Intern sind verwaltete Identitäten eine Sonderform von Dienstprinzipalen, die nur mit Azure-Ressourcen verwendet werden können.Internally, managed identities are service principals of a special type, which can only be used with Azure resources. Wenn die verwaltete Identität gelöscht wird, wird automatisch auch der entsprechende Dienstprinzipal entfernt.When the managed identity is deleted, the corresponding service principal is automatically removed. Außerdem gilt: Wenn eine benutzerseitig oder systemseitig zugewiesenen Identität erstellt wird, gibt der Ressourcenanbieter der verwalteten Identität (Managed Identity Resource Provider, MSRP) intern ein Zertifikat für diese Identität aus.Also, when a User-Assigned or System-Assigned Identity is created, the Managed Identity Resource Provider (MSRP) issues a certificate internally to that identity.

Ihr Code kann eine verwaltete Identität zum Anfordern von Zugriffstokens für Dienste verwenden, die die Azure AD-Authentifizierung unterstützen.Your code can use a managed identity to request access tokens for services that support Azure AD authentication. Azure übernimmt die Weitergabe der von der Dienstinstanz verwendeten Anmeldeinformationen.Azure takes care of rolling the credentials that are used by the service instance.

Das folgende Diagramm zeigt, wie verwaltete Dienstidentitäten mit virtuellen Azure-Computern funktionieren:The following diagram shows how managed service identities work with Azure virtual machines (VMs):

Verwaltete Dienstidentitäten und Azure-VMs

EigenschaftProperty Systemseitig zugewiesene verwaltete IdentitätSystem-assigned managed identity Benutzerseitig zugewiesene verwaltete IdentitätUser-assigned managed identity
ErstellungCreation Als Teil einer Azure-Ressource (etwa eines virtuellen Azure-Computers oder einer Azure App Service-Instanz).Created as part of an Azure resource (for example, an Azure virtual machine or Azure App Service). Als eigenständige Azure-Ressource.Created as a stand-alone Azure resource.
LebenszyklusLife cycle Gemeinsamer Lebenszyklus mit der Azure-Ressource, für die die verwaltete Identität erstellt wurde.Shared life cycle with the Azure resource that the managed identity is created with.
Wenn die übergeordnete Ressource gelöscht wird, wird auch die verwaltete Identität gelöscht.When the parent resource is deleted, the managed identity is deleted as well.
Unabhängiger Lebenszyklus.Independent life cycle.
Muss explizit gelöscht werden.Must be explicitly deleted.
Gemeinsame Nutzung durch mehrere Azure-RessourcenSharing across Azure resources Keine gemeinsame Nutzung möglich.Cannot be shared.
Kann nur einer einzelnen Azure-Ressource zugeordnet werden.It can only be associated with a single Azure resource.
Gemeinsame Nutzung möglich.Can be shared.
Die gleiche benutzerseitig zugewiesene verwaltete Identität kann mehreren Azure-Ressourcen zugeordnet werden.The same user-assigned managed identity can be associated with more than one Azure resource.
Gängige AnwendungsfälleCommon use cases Workloads innerhalb einer einzelnen Azure-Ressource.Workloads that are contained within a single Azure resource.
Workloads, für die unabhängige Identitäten erforderlich sind.Workloads for which you need independent identities.
Beispielsweise eine Anwendung, die auf einem einzelnen virtuellen Computer ausgeführt wird.For example, an application that runs on a single virtual machine
Workloads, die auf mehrere Ressourcen ausgeführt werden und sich eine einzelne Identität teilen können.Workloads that run on multiple resources and which can share a single identity.
Workloads, die im Rahmen eines Bereitstellungsablaufs vorab für eine sichere Ressource autorisiert werden müssen.Workloads that need pre-authorization to a secure resource as part of a provisioning flow.
Workloads, bei denen Ressourcen häufig recycelt werden, die Berechtigungen aber konsistent bleiben sollen.Workloads where resources are recycled frequently, but permissions should stay consistent.
Beispielsweise eine Workload, bei der mehrere virtuelle Computer auf die gleiche Ressource zugreifen müssen.For example, a workload where multiple virtual machines need to access the same resource

Systemseitig zugewiesene verwaltete IdentitätSystem-assigned managed identity

  1. Azure Resource Manager empfängt eine Anforderung zur Aktivierung der vom System zugewiesenen verwalteten Identität auf einer VM.Azure Resource Manager receives a request to enable the system-assigned managed identity on a VM.

  2. Azure Resource Manager erstellt einen Dienstprinzipal in Azure AD für die Identität des virtuellen Computers.Azure Resource Manager creates a service principal in Azure AD for the identity of the VM. Der Dienstprinzipal wird in dem Azure AD-Mandanten erstellt, der von diesem Abonnement als vertrauenswürdig eingestuft wird.The service principal is created in the Azure AD tenant that's trusted by the subscription.

  3. Azure Resource Manager aktualisiert den Identitätsendpunkt von Azure Instance Metadata Service mit der Client-ID und dem Zertifikat des Dienstprinzipals, um die Identität auf der VM zu konfigurieren.Azure Resource Manager configures the identity on the VM by updating the Azure Instance Metadata Service identity endpoint with the service principal client ID and certificate.

  4. Wenn der virtuelle Computer über eine Identität verfügt, verwenden wir die Dienstprinzipalinformationen, um ihm Zugriff auf Azure-Ressourcen zu gewähren.After the VM has an identity, use the service principal information to grant the VM access to Azure resources. Verwenden Sie zum Aufrufen von Azure Resource Manager die rollenbasierte Zugriffssteuerung (RBAC) in Azure, um dem VM-Dienstprinzipal die entsprechende Rolle zuzuweisen.To call Azure Resource Manager, use Azure role-based access control (Azure RBAC) to assign the appropriate role to the VM service principal. Gewähren Sie Ihrem Code zum Aufrufen von Key Vault Zugriff auf das spezifische Geheimnis oder den spezifischen Schlüssel in Key Vault.To call Key Vault, grant your code access to the specific secret or key in Key Vault.

  5. Der auf dem virtuellen Computer ausgeführte Code kann ein Token vom Azure IMDS-Endpunkt (Instance Metadata Service) anfordern, auf das nur von dem virtuellen Computer aus zugegriffen werden kann: 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

    • Der Ressourcenparameter gibt den Dienst an, an den das Token gesendet wird.The resource parameter specifies the service to which the token is sent. Verwenden Sie resource=https://management.azure.com/ für die Authentifizierung bei Azure Resource Manager.To authenticate to Azure Resource Manager, use resource=https://management.azure.com/.
    • Der API-Versionsparameter gibt die IMDS-Version an. Verwenden Sie mindestens „api-version=2018-02-01“.API version parameter specifies the IMDS version, use api-version=2018-02-01 or greater.
  6. Mit einem an Azure AD gerichteten Aufruf wird ein Zugriffstoken angefordert (siehe Schritt 5). Dabei werden die Client-ID und das Zertifikat verwendet, die in Schritt 3 konfiguriert wurden.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 gibt ein JWT-Zugriffstoken (JSON Web Token) zurück.Azure AD returns a JSON Web Token (JWT) access token.

  7. Der Code sendet das Zugriffstoken in einem Aufruf eines Diensts, der die Azure AD-Authentifizierung unterstützt.Your code sends the access token on a call to a service that supports Azure AD authentication.

Benutzerseitig zugewiesene verwaltete IdentitätUser-assigned managed identity

  1. Azure Resource Manager empfängt eine Anforderung zur Erstellung einer vom Benutzer zugewiesenen verwalteten Identität.Azure Resource Manager receives a request to create a user-assigned managed identity.

  2. Azure Resource Manager erstellt einen Dienstprinzipal in Azure AD für die vom Benutzer zugewiesene verwaltete Identität.Azure Resource Manager creates a service principal in Azure AD for the user-assigned managed identity. Der Dienstprinzipal wird in dem Azure AD-Mandanten erstellt, der von diesem Abonnement als vertrauenswürdig eingestuft wird.The service principal is created in the Azure AD tenant that's trusted by the subscription.

  3. Azure Resource Manager empfängt eine Anforderung zum Konfigurieren der vom Benutzer zugewiesenen verwalteten Identität auf einer VM und aktualisiert den Identitätsendpunkt von Azure Instance Metadata Service mit der Client-ID und dem Zertifikat des Dienstprinzipals der vom Benutzer zugewiesenen verwalteten Identität.Azure Resource Manager receives a request to configure the user-assigned managed identity on a VM and updates the Azure Instance Metadata Service identity endpoint with the user-assigned managed identity service principal client ID and certificate.

  4. Nachdem die vom Benutzer zugewiesene verwaltete Identität erstellt wurde, werden die Dienstprinzipalinformationen verwendet, um der Identität Zugriff auf Azure-Ressourcen zu gewähren.After the user-assigned managed identity is created, use the service principal information to grant the identity access to Azure resources. Verwenden Sie Azure RBAC zum Aufrufen von Azure Resource Manager, um dem Dienstprinzipal der vom Benutzer zugewiesenen Identität die entsprechende Rolle zuzuweisen.To call Azure Resource Manager, use Azure RBAC to assign the appropriate role to the service principal of the user-assigned identity. Gewähren Sie Ihrem Code zum Aufrufen von Key Vault Zugriff auf das spezifische Geheimnis oder den spezifischen Schlüssel in Key Vault.To call Key Vault, grant your code access to the specific secret or key in Key Vault.

    Hinweis

    Sie können diesen Schritt auch vor Schritt 3 ausführen.You can also do this step before step 3.

  5. Der auf dem virtuellen Computer ausgeführte Code kann ein Token vom Azure IMDS-Identitätsendpunkt (Instance Metadata Service) anfordern, auf das nur von dem virtuellen Computer aus zugegriffen werden kann: 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

    • Der Ressourcenparameter gibt den Dienst an, an den das Token gesendet wird.The resource parameter specifies the service to which the token is sent. Verwenden Sie resource=https://management.azure.com/ für die Authentifizierung bei Azure Resource Manager.To authenticate to Azure Resource Manager, use resource=https://management.azure.com/.
    • Der Client-ID-Parameter gibt die Identität an, für die das Token angefordert wird.The client ID parameter specifies the identity for which the token is requested. Dieser Wert ist erforderlich, um Mehrdeutigkeiten zu vermeiden, wenn auf einer einzelnen VM mehrere vom Benutzer zugewiesene Identitäten vorhanden sind.This value is required for disambiguation when more than one user-assigned identity is on a single VM.
    • Der API-Versionsparameter gibt die Azure Instance Metadata Service-Version an.The API version parameter specifies the Azure Instance Metadata Service version. Verwenden Sie api-version=2018-02-01 oder höher.Use api-version=2018-02-01 or higher.
  6. Mit einem an Azure AD gerichteten Aufruf wird ein Zugriffstoken angefordert (siehe Schritt 5). Dabei werden die Client-ID und das Zertifikat verwendet, die in Schritt 3 konfiguriert wurden.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 gibt ein JWT-Zugriffstoken (JSON Web Token) zurück.Azure AD returns a JSON Web Token (JWT) access token.

  7. Der Code sendet das Zugriffstoken in einem Aufruf eines Diensts, der die Azure AD-Authentifizierung unterstützt.Your code sends the access token on a call to a service that supports Azure AD authentication.

Nächste SchritteNext steps

Informationen zu den ersten Schritten mit der Funktion für verwaltete Identitäten für Azure-Ressourcen finden Sie in den folgenden Schnellstartanleitungen:Get started with the managed identities for Azure resources feature with the following quickstarts: