Was sind verwaltete Identitäten für Azure-Ressourcen?What is managed identities for Azure resources?

Verwaltete Identitäten für Azure-Ressourcen ist eine Funktion von Azure Active Directory.Managed identities for Azure resources is a feature of Azure Active Directory. Für alle Azure-Dienste, die verwaltete Identitäten unterstützen, gilt ein eigener Zeitplan.Each of the Azure services that support managed identities for Azure resources are subject to their own timeline. Sehen Sie sich den Verfügbarkeitsstatus der verwalteten Identitäten für Ihre Ressource und die bekannten Probleme an, bevor Sie beginnen.Make sure you review the availability status of managed identities for your resource and known issues before you begin.

Eine gängige Herausforderung beim Erstellen von Cloudanwendungen ist die Verwaltung der Anmeldeinformationen im Code, die für die Authentifizierung bei Clouddiensten erforderlich sind.A common challenge when building cloud applications is how to manage the credentials in your code for authenticating to cloud services. Der Schutz dieser Anmeldeinformationen ist eine wichtige Aufgabe.Keeping the credentials secure is an important task. Im Idealfall werden die Anmeldeinformationen nie auf Entwicklerarbeitsstationen angezeigt und auch nicht in die Quellcodeverwaltung eingecheckt.Ideally, the credentials never appear on developer workstations and aren't checked into source control. Azure Key Vault bietet eine Möglichkeit zum sicheren Speichern von Anmeldeinformationen, Geheimnissen und anderen Schlüsseln. Um diese abrufen zu können, muss sich Ihr Code jedoch bei Key Vault authentifizieren.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.

Die Funktion für verwaltete Identitäten für Azure-Ressourcen in Azure Active Directory (Azure AD) löst dieses Problem.The managed identities for Azure resources feature in Azure Active Directory (Azure AD) solves this problem. Dieses Feature stellt für Azure-Dienste eine automatisch verwaltete Identität in Azure AD bereit.The feature provides Azure services with an automatically managed identity in Azure AD. Sie können diese Identität für die Authentifizierung bei jedem Dienst verwenden, der die Azure AD-Authentifizierung unterstützt, einschließlich Key Vault. Hierfür müssen keine Anmeldeinformationen im Code enthalten sein.You can use the identity to authenticate to any service that supports Azure AD authentication, including Key Vault, without any credentials in your code.

Die Funktion für verwaltete Identitäten für Azure-Ressourcen ist bei Azure AD mit einem Azure-Abonnement kostenlos.The managed identities for Azure resources feature is free with Azure AD for Azure subscriptions. Es fallen keine zusätzlichen Kosten an.There's no additional cost.

Hinweis

„Verwaltete Identitäten für Azure-Ressourcen“ ist der neue Name für den Dienst, der früher als „Verwaltete Dienstidentität“ (Managed Service Identity, MSI) bezeichnet wurde.Managed identities for Azure resources is the new name for the service formerly known as Managed Service Identity (MSI).

BegriffTerminology

Die folgenden Begriffe werden in den verwalteten Identitäten für den Azure-Ressourcendokumentationssatz verwendet:The following terms are used throughout the managed identities for Azure resources documentation set:

  • Client-ID: Ein eindeutiger, vom Azure AD generierter Bezeichner, der während der ersten Bereitstellung an eine Anwendung und einen Dienstprinzipal gebunden istClient ID - a unique identifier generated by Azure AD that is tied to an application and service principal during its initial provisioning.
  • Prinzipal-ID: Die Objekt-ID des Dienstprinzipalobjekts für Ihre verwaltete Identität, die zum Gewähren des rollenbasierten Zugriffs auf eine Azure-Ressource verwendet wirdPrincipal 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) ist ein REST-Endpunkt, der für alle virtuellen IaaS-Computer verfügbar ist, die mit Azure Resource Manager erstellt wurden.Azure Instance Metadata Service (IMDS) - a REST endpoint accessible to all IaaS VMs created via the Azure Resource Manager. Der Endpunkt steht unter einer bekannten, nicht routingfähigen IP-Adresse zur Verfügung (169.254.169.254), auf die nur von innerhalb der VM zugegriffen werden kann.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.

Wie funktionieren die verwalteten Identitäten für Azure-Ressourcen?How does the managed identities for Azure resources work?

Es gibt zwei Arten von verwalteten Identitäten:There are two types of managed identities:

  • Eine vom System zugewiesene verwaltete Identität wird direkt für eine Azure-Dienstinstanz aktiviert.A system-assigned managed identity is enabled directly on an Azure service instance. Wenn die Identität aktiviert ist, erstellt Azure eine Identität für die Instanz in dem Azure AD-Mandanten, der vom Abonnement der Instanz als vertrauenswürdig eingestuft wird.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. Nach dem Erstellen der Identität werden die Anmeldeinformationen in der Instanz bereitgestellt.After the identity is created, the credentials are provisioned onto the instance. Der Lebenszyklus einer vom System zugewiesenen Identität ist direkt an die Azure-Dienstinstanz gebunden, für die sie aktiviert wurde.The lifecycle of a system-assigned identity is directly tied to the Azure service instance that it's enabled on. Wenn die Instanz gelöscht wird, bereinigt Azure automatisch die Anmeldeinformationen und die Identität in Azure AD.If the instance is deleted, Azure automatically cleans up the credentials and the identity in Azure AD.
  • Eine vom Benutzer zugewiesene verwaltete Identität wird als eigenständige Azure-Ressource erstellt.A user-assigned managed identity is created as a standalone Azure resource. Azure erstellt eine Identität in dem Azure AD-Mandanten, der vom verwendeten Abonnement als vertrauenswürdig eingestuft wird.Through a create process, Azure creates an identity in the Azure AD tenant that's trusted by the subscription in use. Nachdem die Identität erstellt wurde, kann sie einer oder mehreren Azure-Dienstinstanzen zugewiesen werden.After the identity is created, the identity can be assigned to one or more Azure service instances. Der Lebenszyklus einer vom Benutzer zugewiesenen Identität wird getrennt vom Lebenszyklus der Azure-Dienstinstanzen verwaltet, denen sie zugewiesen ist.The lifecycle of a user-assigned identity is managed separately from the lifecycle of the Azure service instances to which it's assigned.

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 are locked to 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.

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-RessourceCreated as a stand-alone Azure resource
LebenszyklusLifecycle Gemeinsamer Lebenszyklus mit der Azure-Ressource, für die die verwaltete Identität erstellt wurde.Shared lifecycle 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

Funktionsweise einer vom System zugewiesenen verwalteten Identität mit einer Azure-VMHow a system-assigned managed identity works with an Azure VM

  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 AD, um dem VM-Dienstprinzipal die entsprechende Rolle zuzuweisen.To call Azure Resource Manager, use role-based access control (RBAC) in Azure AD 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.

Funktionsweise einer vom Benutzer zugewiesenen verwalteten Identität mit einer Azure-VMHow a user-assigned managed identity works with an Azure VM

  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 zum Aufrufen von Azure Resource Manager die RBAC in Azure AD, um dem Dienstprinzipal der vom Benutzer zugewiesenen Identität die entsprechende Rolle zuzuweisen.To call Azure Resource Manager, use RBAC in Azure AD 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.

Wie kann ich verwaltete Identitäten für Azure-Ressourcen verwenden?How can I use managed identities for Azure resources?

In den folgenden Tutorials erfahren Sie mehr darüber, wie Sie verwaltete Identitäten für den Zugriff auf verschiedene Azure-Ressourcen verwenden können.To learn how to use managed identities to access different Azure resources, try these tutorials.

Hinweis

Im Kurs Implementing Managed Identities for Microsoft Azure Resources (Implementierung von verwalteten Identitäten für Microsoft Azure-Ressourcen) finden Sie weitere Informationen zu verwalteten Identitäten, einschließlich exemplarischer Vorgehensweise per Video zu mehreren unterstützten Szenarien.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.

Erfahren Sie, wie Sie eine verwaltete Identität mit einer Windows-VM verwenden:Learn how to use a managed identity with a Windows VM:

Erfahren Sie, wie Sie eine verwaltete Identität mit einer Linux-VM verwenden:Learn how to use a managed identity with a Linux VM:

Erfahren Sie, wie Sie eine verwaltete Identität mit anderen Azure-Diensten verwenden:Learn how to use a managed identity with other Azure services:

Welche Azure-Dienste unterstützen das Feature?What Azure services support the feature?

Verwaltete Identitäten für Azure-Ressourcen können zur Authentifizierung bei Diensten verwendet werden, die die Azure AD-Authentifizierung unterstützen.Managed identities for Azure resources can be used to authenticate to services that support Azure AD authentication. Eine Liste der Azure-Dienste, die die Funktion für verwaltete Identitäten für Azure-Ressourcen unterstützen, finden Sie unter Services that support managed identities for Azure resources (Dienste, die verwaltete Identitäten für Azure-Ressourcen unterstützen).For a list of Azure services that support the managed identities for Azure resources feature, see Services that support managed identities for Azure resources.

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: