Verwenden von verwalteten Identitäten mit Azure Container InstancesHow to use managed identities with Azure Container Instances

Verwenden Sie verwaltete Identitäten für Azure-Ressourcen, um Code in Azure Container Instances auszuführen, der mit anderen Azure-Diensten interagiert – ohne Geheimnisse oder Anmeldeinformationen im Code verwalten zu müssen.Use managed identities for Azure resources to run code in Azure Container Instances that interacts with other Azure services - without maintaining any secrets or credentials in code. Das Feature bietet eine Bereitstellung von Azure Container Instances mit einer automatisch verwalteten Identität in Azure Active Directory.The feature provides an Azure Container Instances deployment with an automatically managed identity in Azure Active Directory.

In diesem Artikel erfahren Sie mehr über verwaltete Identitäten in Azure Container Instances, und Sie lernen Folgendes:In this article, you learn more about managed identities in Azure Container Instances and:

  • Aktivieren einer vom Benutzer oder vom System zugewiesenen Identität in einer ContainergruppeEnable a user-assigned or system-assigned identity in a container group
  • Gewähren des Zugriffs auf eine Azure Key Vault-Instanz für die IdentitätGrant the identity access to an Azure key vault
  • Verwenden der verwalteten Identität zum Zugreifen auf eine Key Vault-Instanz über einen ausgeführten ContainerUse the managed identity to access a key vault from a running container

Passen Sie die Beispiele an, um Identitäten in Azure Container Instances zu aktivieren und für den Zugriff auf andere Azure-Dienste zu verwenden.Adapt the examples to enable and use identities in Azure Container Instances to access other Azure services. Die Beispiele sind interaktiv.These examples are interactive. In der Praxis würden Ihre Containerimages Code ausführen, um auf Azure-Dienste zuzugreifen.However, in practice your container images would run code to access Azure services.

Wichtig

Diese Funktion steht derzeit als Vorschau zur Verfügung.This feature is currently in preview. Vorschauversionen werden Ihnen zur Verfügung gestellt, wenn Sie die zusätzlichen Nutzungsbedingungen akzeptieren.Previews are made available to you on the condition that you agree to the supplemental terms of use. Einige Aspekte dieses Features werden bis zur allgemeinen Verfügbarkeit unter Umständen noch geändert.Some aspects of this feature may change prior to general availability (GA). Derzeit werden verwaltete Identitäten in Azure Container Instances nur für Linux-Container und noch nicht für Windows-Container unterstützt.Currently, managed identities on Azure Container Instances, are only supported with Linux containers and not yet with Windows containers.

Gründe für die Verwendung einer verwalteten IdentitätWhy use a managed identity?

Mit einer verwalteten Identität in einem ausgeführten Container können Sie sich bei jedem Dienst authentifizieren, der die Azure Active Directory-Authentifizierung unterstützt, ohne Anmeldeinformationen im Code verwalten zu müssen.Use a managed identity in a running container to authenticate to any service that supports Azure AD authentication without managing credentials in your container code. Für Dienste, die die Azure AD-Authentifizierung nicht unterstützen, können Sie Geheimnisse in Azure Key Vault speichern und mithilfe der verwalteten Identität auf den Schlüsseltresor zugreifen, um Anmeldeinformationen abzurufen.For services that don't support AD authentication, you can store secrets in an Azure key vault and use the managed identity to access the key vault to retrieve credentials. Weitere Informationen zur Verwendung einer verwalteten Identität finden Sie unter Was sind verwaltete Identitäten für Azure-Ressourcen?For more information about using a managed identity, see What is managed identities for Azure resources?

Aktivieren einer verwalteten IdentitätEnable a managed identity

Aktivieren Sie beim Erstellen einer Containergruppe eine oder mehrere verwaltete Identitäten, indem Sie eine ContainerGroupIdentity-Eigenschaft festlegen.When you create a container group, enable one or more managed identities by setting a ContainerGroupIdentity property. Sie können verwaltete Identitäten auch aktivieren oder aktualisieren, wenn eine Containergruppe bereits ausgeführt wird. In beiden Fällen wird die Containergruppe neu gestartet.You can also enable or update managed identities after a container group is running - either action causes the container group to restart. Zum Festlegen der Identitäten für eine neue oder vorhandene Containergruppe können Sie die Azure-Befehlszeilenschnittstelle, eine Resource Manager-Vorlage, eine YAML-Datei oder ein anderes Azure-Tool verwenden.To set the identities on a new or existing container group, use the Azure CLI, a Resource Manager template, a YAML file, or another Azure tool.

Azure Container Instances unterstützt sowohl vom Benutzer als auch vom System zugewiesene verwaltete Azure-Identitäten.Azure Container Instances supports both types of managed Azure identities: user-assigned and system-assigned. In einer Containergruppe können Sie eine vom System zugewiesene Identität, eine oder mehrere vom Benutzer zugewiesene Identitäten oder beide Identitätstypen aktivieren.On a container group, you can enable a system-assigned identity, one or more user-assigned identities, or both types of identities. Wenn Sie nicht mit verwalteten Identitäten für Azure-Ressourcen vertraut sind, sehen Sie sich die Übersicht an.If you're unfamiliar with managed identities for Azure resources, see the overview.

Verwenden einer verwalteten IdentitätUse a managed identity

Zur Verwendung einer verwalteten Identität muss der Identität der Zugriff auf mindestens eine Azure-Dienstressource (z. B. eine Web-App, einen Schlüsseltresor oder ein Speicherkonto) im Abonnement gewährt werden.To use a managed identity, the identity must be granted access to one or more Azure service resources (such as a web app, a key vault, or a storage account) in the subscription. Die Verwendung einer verwalteten Identität in einem ausgeführten Container ist identisch mit der Verwendung einer Identität auf einer Azure-VM.Using a managed identity in a running container is similar to using an identity in an Azure VM. Weitere Informationen finden Sie in der Anleitung für VMs zur Verwendung eines Tokens, von Azure PowerShell oder der Azure-Befehlszeilenschnittstelle oder Azure-SDKs.See the VM guidance for using a token, Azure PowerShell or Azure CLI, or the Azure SDKs.

EinschränkungenLimitations

  • Sie können derzeit keine verwaltete Identität in einer Containergruppe verwenden, die in einem virtuellen Netzwerk bereitgestellt wird.Currently you can't use a managed identity in a container group deployed to a virtual network.
  • Eine verwaltete Identität kann nicht verwendet werden, um beim Erstellen einer Containergruppe ein Image aus Azure Container Registry zu pullen.You can't use a managed identity to pull an image from Azure Container Registry when creating a container group. Die Identität ist nur in einem ausgeführten Container verfügbar.The identity is only available within a running container.

Verwenden von Azure Cloud ShellUse Azure Cloud Shell

Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Starten von Azure Cloud Shell:To start Azure Cloud Shell:

OptionOption Beispiel/LinkExample/Link
Klicken Sie in der rechten oberen Ecke eines Codeblocks auf Ausprobieren.Select Try It in the upper-right corner of a code block. Durch die Auswahl von Ausprobieren wird der Code nicht automatisch in Cloud Shell kopiert.Selecting Try It doesn't automatically copy the code to Cloud Shell. Beispiel für „Testen Sie es.“ für Azure Cloud Shell
Rufen Sie https://shell.azure.com auf, oder wählen Sie die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Starten von Cloud Shell in einem neuen FensterLaunch Cloud Shell in a new window
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Cloud Shell-Schaltfläche im Azure-Portal

Ausführen des Codes in diesem Artikel in Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Starten Sie Cloud Shell.Start Cloud Shell.

  2. Wählen Sie die Schaltfläche Kopieren für einen Codeblock, um den Code zu kopieren.Select the Copy button on a code block to copy the code.

  3. Fügen Sie den Code mit STRG+UMSCHALT+V unter Windows und Linux oder Cmd+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Drücken Sie die EINGABETASTE, um den Code auszuführen.Select Enter to run the code.

Wenn Sie die Befehlszeilenschnittstelle (CLI) lokal installieren und verwenden möchten, müssen Sie für diesen Artikel mindestens Version 2.0.49 der Azure CLI ausführen.If you choose to install and use the CLI locally, this article requires that you are running the Azure CLI version 2.0.49 or later. Führen Sie az --version aus, um die Version zu ermitteln.Run az --version to find the version. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.If you need to install or upgrade, see Install Azure CLI.

Erstellen einer Azure Key Vault-InstanzCreate an Azure key vault

In den Beispielen in diesem Artikel wird eine verwaltete Identität in Azure Container Instances verwendet, um auf ein Azure Key Vault-Geheimnis zuzugreifen.The examples in this article use a managed identity in Azure Container Instances to access an Azure key vault secret.

Erstellen Sie zunächst mit dem folgenden Befehl az group create eine Ressourcengruppe namens myResourceGroup am Standort eastus:First, create a resource group named myResourceGroup in the eastus location with the following az group create command:

az group create --name myResourceGroup --location eastus

Verwenden Sie den Befehl az keyvault create, um einen Schlüsseltresor zu erstellen.Use the az keyvault create command to create a key vault. Geben Sie hierbei einen eindeutigen Namen für die Key Vault-Instanz an.Be sure to specify a unique key vault name.

az keyvault create \
  --name mykeyvault \
  --resource-group myResourceGroup \ 
  --location eastus

Speichern Sie mithilfe des Befehls az keyvault secret set ein Beispielgeheimnis im Schlüsseltresor:Store a sample secret in the key vault using the az keyvault secret set command:

az keyvault secret set \
  --name SampleSecret \
  --value "Hello Container Instances" \
  --description ACIsecret --vault-name mykeyvault

Fahren Sie mit den folgenden Beispielen fort, um mit einer vom Benutzer oder vom System zugewiesenen verwalteten Identität in Azure Container Instances auf die Key Vault-Instanz zuzugreifen.Continue with the following examples to access the key vault using either a user-assigned or system-assigned managed identity in Azure Container Instances.

Beispiel 1: Verwenden einer vom Benutzer zugewiesenen Identität für den Zugriff auf Azure Key VaultExample 1: Use a user-assigned identity to access Azure key vault

Erstellen einer IdentitätCreate an identity

Erstellen Sie zunächst mit dem Befehl az identity create eine Identität in Ihrem Abonnement.First create an identity in your subscription using the az identity create command. Sie können die gleiche Ressourcengruppe verwenden, die Sie zum Erstellen der Key Vault-Instanz verwendet haben, oder eine andere Ressourcengruppe auswählen.You can use the same resource group used to create the key vault, or use a different one.

az identity create \
  --resource-group myResourceGroup \
  --name myACIId

Um die Identität in den folgenden Schritten verwenden zu können, speichern Sie mit dem Befehl az identity show die Dienstprinzipal-ID der Identität und die Ressourcen-ID in Variablen.To use the identity in the following steps, use the az identity show command to store the identity's service principal ID and resource ID in variables.

# Get service principal ID of the user-assigned identity
spID=$(az identity show \
  --resource-group myResourceGroup \
  --name myACIId \
  --query principalId --output tsv)

# Get resource ID of the user-assigned identity
resourceID=$(az identity show \
  --resource-group myResourceGroup \
  --name myACIId \
  --query id --output tsv)

Gewähren des Zugriffs auf die Key Vault-Instanz für die vom Benutzer zugewiesene IdentitätGrant user-assigned identity access to the key vault

Führen Sie den folgenden Befehl vom Typ az keyvault set-policy aus, um eine Zugriffsrichtlinie für den Schlüsseltresor festzulegen.Run the following az keyvault set-policy command to set an access policy on the key vault. Das folgende Beispiel ermöglicht der vom Benutzer zugewiesenen Identität das Abrufen von Geheimnissen aus dem Schlüsseltresor:The following example allows the user-assigned identity to get secrets from the key vault:

 az keyvault set-policy \
    --name mykeyvault \
    --resource-group myResourceGroup \
    --object-id $spID \
    --secret-permissions get

Aktivieren einer vom Benutzer zugewiesenen Identität in einer ContainergruppeEnable user-assigned identity on a container group

Führen Sie den folgenden az container create-Befehl aus, um eine auf dem azure-cli-Image von Microsoft basierende Containerinstanz zu erstellen.Run the following az container create command to create a container instance based on Microsoft's azure-cli image. In diesem Beispiel wird eine einzelne Containergruppe bereitgestellt, die Sie interaktiv verwenden können, um die Azure CLI auszuführen, um auf andere Azure-Dienste zuzugreifen.This example provides a single-container group that you can use interactively to run the Azure CLI to access other Azure services. In diesem Abschnitt wird nur das Basisbetriebssystem verwendet.In this section, only the base operating system is used. Ein Beispiel für die Verwendung der Azure-Befehlszeilenschnittstelle im Container finden Sie unter Aktivieren einer vom System zugewiesenen Identität in einer Containergruppe.For an example to use the Azure CLI in the container, see Enable system-assigned identity on a container group.

Der --assign-identity-Parameter übergibt Ihre vom Benutzer zugewiesene verwaltete Identität an die Gruppe.The --assign-identity parameter passes your user-assigned managed identity to the group. Der Befehl mit langer Laufzeit sorgt dafür, dass der Container weiterhin ausgeführt wird.The long-running command keeps the container running. In diesem Beispiel wird die Ressourcengruppe verwendet, die zum Erstellen der Key Vault-Instanz verwendet wurde, Sie können aber auch eine andere Ressourcengruppe angeben.This example uses the same resource group used to create the key vault, but you could specify a different one.

az container create \
  --resource-group myResourceGroup \
  --name mycontainer \
  --image mcr.microsoft.com/azure-cli \
  --assign-identity $resourceID \
  --command-line "tail -f /dev/null"

Sie sollten innerhalb weniger Sekunden eine Antwort von der Azure-Befehlszeilenschnittstelle mit dem Hinweis erhalten, dass die Bereitstellung abgeschlossen wurde.Within a few seconds, you should get a response from the Azure CLI indicating that the deployment has completed. Überprüfen Sie den Status mit dem Befehl az container show.Check its status with the az container show command.

az container show \
  --resource-group myResourceGroup \
  --name mycontainer

Der Abschnitt identity in der Ausgabe sieht in etwa wie folgt aus und zeigt, dass die Identität in der Containergruppe festgelegt wurde.The identity section in the output looks similar to the following, showing the identity is set in the container group. Die principalID unter userAssignedIdentities ist der Dienstprinzipal der Identität, die Sie in Azure Active Directory erstellt haben:The principalID under userAssignedIdentities is the service principal of the identity you created in Azure Active Directory:

[...]
"identity": {
    "principalId": "null",
    "tenantId": "xxxxxxxx-f292-4e60-9122-xxxxxxxxxxxx",
    "type": "UserAssigned",
    "userAssignedIdentities": {
      "/subscriptions/xxxxxxxx-0903-4b79-a55a-xxxxxxxxxxxx/resourcegroups/danlep1018/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myACIId": {
        "clientId": "xxxxxxxx-5523-45fc-9f49-xxxxxxxxxxxx",
        "principalId": "xxxxxxxx-f25b-4895-b828-xxxxxxxxxxxx"
      }
    }
  },
[...]

Verwenden der vom Benutzer zugewiesenen Identität zum Abrufen von Geheimnissen aus der Key Vault-InstanzUse user-assigned identity to get secret from key vault

Jetzt können Sie mithilfe der verwalteten Identität in der ausgeführten Containerinstanz auf den Schlüsseltresor zugreifen.Now you can use the managed identity within the running container instance to access the key vault. Starten Sie zuerst eine Bash-Shell im Container:First launch a bash shell in the container:

az container exec \
  --resource-group myResourceGroup \
  --name mycontainer \
  --exec-command "/bin/bash"

Führen Sie die folgenden Befehle in der Bash-Shell im Container aus.Run the following commands in the bash shell in the container. Rufen Sie mit dem folgenden Befehl ein Zugriffstoken ab, um Azure Active Directory für die Authentifizierung bei Key Vault zu verwenden:To get an access token to use Azure Active Directory to authenticate to key vault, run the following command:

curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -H Metadata:true -s

Ausgabe:Output:

{"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Imk2bEdrM0ZaenhSY1ViMkMzbkVRN3N5SEpsWSIsImtpZCI6Imk2bEdrM0ZaenhSY1ViMkMzbkVRN3N5SEpsWSJ9......xxxxxxxxxxxxxxxxx","refresh_token":"","expires_in":"28799","expires_on":"1539927532","not_before":"1539898432","resource":"https://vault.azure.net/","token_type":"Bearer"}

Um das Zugriffstoken in einer Variablen zu speichern, die in nachfolgenden Befehlen zur Authentifizierung verwendet werden kann, führen Sie den folgenden Befehl aus:To store the access token in a variable to use in subsequent commands to authenticate, run the following command:

token=$(curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -H Metadata:true | jq -r '.access_token')

Nun verwenden Sie das Zugriffstoken zum Durchführen der Authentifizierung bei Key Vault und Lesen eines Geheimnisses.Now use the access token to authenticate to key vault and read a secret. Denken Sie daran, den Namen Ihres Schlüsseltresors in der URL zu ersetzen (https://mykeyvault.vault.azure.net/... ):Be sure to substitute the name of your key vault in the URL (https://mykeyvault.vault.azure.net/...):

curl https://mykeyvault.vault.azure.net/secrets/SampleSecret/?api-version=2016-10-01 -H "Authorization: Bearer $token"

Die Antwort sieht in etwa wie folgt aus und enthält das Geheimnis.The response looks similar to the following, showing the secret. In Ihrem Code würden Sie diese Ausgabe analysieren, um das Geheimnis abzurufen.In your code, you would parse this output to obtain the secret. Verwenden Sie das Geheimnis anschließend in einem nachfolgenden Vorgang, um auf eine andere Azure-Ressource zuzugreifen.Then, use the secret in a subsequent operation to access another Azure resource.

{"value":"Hello Container Instances","contentType":"ACIsecret","id":"https://mykeyvault.vault.azure.net/secrets/SampleSecret/xxxxxxxxxxxxxxxxxxxx","attributes":{"enabled":true,"created":1539965967,"updated":1539965967,"recoveryLevel":"Purgeable"},"tags":{"file-encoding":"utf-8"}}

Beispiel 2: Verwenden einer vom System zugewiesenen Identität für den Zugriff auf Azure Key VaultExample 2: Use a system-assigned identity to access Azure key vault

Aktivieren einer vom System zugewiesenen Identität in einer ContainergruppeEnable system-assigned identity on a container group

Führen Sie den folgenden az container create-Befehl aus, um eine auf dem azure-cli-Image von Microsoft basierende Containerinstanz zu erstellen.Run the following az container create command to create a container instance based on Microsoft's azure-cli image. In diesem Beispiel wird eine einzelne Containergruppe bereitgestellt, die Sie interaktiv verwenden können, um die Azure CLI auszuführen, um auf andere Azure-Dienste zuzugreifen.This example provides a single-container group that you can use interactively to run the Azure CLI to access other Azure services.

Der --assign-identity-Parameter ohne zusätzlichen Wert aktiviert eine vom System zugewiesene verwaltete Identität in der Gruppe.The --assign-identity parameter with no additional value enables a system-assigned managed identity on the group. Die Gültigkeit der Identität ist auf die Ressourcengruppe der Containergruppe beschränkt.The identity is scoped to the resource group of the container group. Der Befehl mit langer Laufzeit sorgt dafür, dass der Container weiterhin ausgeführt wird.The long-running command keeps the container running. In diesem Beispiel wird dieselbe Ressourcengruppe verwendet, die zum Erstellen des Schlüsseltresors im Gültigkeitsbereich der Identität verwendet wurde.This example uses the same resource group used to create the key vault, which is in the scope of the identity.

# Get the resource ID of the resource group
rgID=$(az group show --name myResourceGroup --query id --output tsv)

# Create container group with system-managed identity
az container create \
  --resource-group myResourceGroup \
  --name mycontainer \
  --image mcr.microsoft.com/azure-cli \
  --assign-identity --scope $rgID \
  --command-line "tail -f /dev/null"

Sie sollten innerhalb weniger Sekunden eine Antwort von der Azure-Befehlszeilenschnittstelle mit dem Hinweis erhalten, dass die Bereitstellung abgeschlossen wurde.Within a few seconds, you should get a response from the Azure CLI indicating that the deployment has completed. Überprüfen Sie den Status mit dem Befehl az container show.Check its status with the az container show command.

az container show \
  --resource-group myResourceGroup \
  --name mycontainer

Der Abschnitt identity in der Ausgabe sieht in etwa wie folgt aus und zeigt, dass eine vom System zugewiesene Identität in Azure Active Directory erstellt wurde:The identity section in the output looks similar to the following, showing that a system-assigned identity is created in Azure Active Directory:

[...]
"identity": {
    "principalId": "xxxxxxxx-528d-7083-b74c-xxxxxxxxxxxx",
    "tenantId": "xxxxxxxx-f292-4e60-9122-xxxxxxxxxxxx",
    "type": "SystemAssigned",
    "userAssignedIdentities": null
},
[...]

Legen Sie eine Variable auf den Wert von principalId (Dienstprinzipal-ID) der Identität fest, um sie in späteren Schritten zu verwenden.Set a variable to the value of principalId (the service principal ID) of the identity, to use in later steps.

spID=$(az container show \
  --resource-group myResourceGroup \
  --name mycontainer \
  --query identity.principalId --out tsv)

Gewähren des Zugriffs auf die Key Vault-Instanz für die ContainergruppeGrant container group access to the key vault

Führen Sie den folgenden Befehl vom Typ az keyvault set-policy aus, um eine Zugriffsrichtlinie für den Schlüsseltresor festzulegen.Run the following az keyvault set-policy command to set an access policy on the key vault. Das folgende Beispiel ermöglicht der vom System verwalteten Identität das Abrufen von Geheimnissen aus der Key Vault-Instanz:The following example allows the system-managed identity to get secrets from the key vault:

 az keyvault set-policy \
   --name mykeyvault \
   --resource-group myResourceGroup \
   --object-id $spID \
   --secret-permissions get

Verwenden der Identität der Containergruppe zum Abrufen von Geheimnissen aus der Key Vault-InstanzUse container group identity to get secret from key vault

Jetzt können Sie mithilfe der verwalteten Identität in der ausgeführten Containerinstanz auf die Key Vault-Instanz zugreifen.Now you can use the managed identity to access the key vault within the running container instance. Starten Sie zuerst eine Bash-Shell im Container:First launch a bash shell in the container:

az container exec \
  --resource-group myResourceGroup \
  --name mycontainer \
  --exec-command "/bin/bash"

Führen Sie die folgenden Befehle in der Bash-Shell im Container aus.Run the following commands in the bash shell in the container. Melden Sie sich zuerst mithilfe der verwalteten Identität bei der Azure CLI an:First log in to the Azure CLI using the managed identity:

az login --identity

Rufen Sie aus dem ausgeführten Container heraus das Geheimnis aus dem Schlüsseltresor ab:From the running container, retrieve the secret from the key vault:

az keyvault secret show \
  --name SampleSecret \
  --vault-name mykeyvault --query value

Der Wert des Geheimnisses wird abgerufen:The value of the secret is retrieved:

"Hello Container Instances"

Aktivieren der verwalteten Identität mithilfe einer Resource Manager-VorlageEnable managed identity using Resource Manager template

Um eine verwaltete Identität in einer Containergruppe mithilfe einer Resource Manager-Vorlage zu aktivieren, legen Sie die identity-Eigenschaft des Microsoft.ContainerInstance/containerGroups-Objekts mit einem ContainerGroupIdentity-Objekt fest.To enable a managed identity in a container group using a Resource Manager template, set the identity property of the Microsoft.ContainerInstance/containerGroups object with a ContainerGroupIdentity object. Die folgenden Codeausschnitte zeigen die für verschiedene Szenarien konfigurierte identity-Eigenschaft.The following snippets show the identity property configured for different scenarios. Weitere Informationen finden Sie unter Resource Manager template reference (Referenz zur Resource Manager-Vorlage).See the Resource Manager template reference. Geben Sie mindestens eine apiVersion von 2018-10-01 an.Specify a minimum apiVersion of 2018-10-01.

Vom Benutzer zugewiesene IdentitätUser-assigned identity

Eine vom Benutzer zugewiesene Identität ist eine Ressourcen-ID im folgenden Format:A user-assigned identity is a resource ID of the form:

"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}"

Sie können eine oder mehrere vom Benutzer zugewiesene Identitäten aktivieren.You can enable one or more user-assigned identities.

"identity": {
    "type": "UserAssigned",
    "userAssignedIdentities": {
        "myResourceID1": {
            }
        }
    }

Vom System zugewiesene IdentitätSystem-assigned identity

"identity": {
    "type": "SystemAssigned"
    }

Vom System und vom Benutzer zugewiesene IdentitätenSystem- and user-assigned identities

Sie können in einer Containergruppe sowohl eine vom System zugewiesene Identität als auch eine oder mehrere vom Benutzer zugewiesene Identitäten aktivieren.On a container group, you can enable both a system-assigned identity and one or more user-assigned identities.

"identity": {
    "type": "System Assigned, UserAssigned",
    "userAssignedIdentities": {
        "myResourceID1": {
            }
        }
    }
...

Aktivieren der verwalteten Identität mithilfe einer YAML-DateiEnable managed identity using YAML file

Um eine verwaltete Identität in einer mithilfe einer YAML-Datei bereitgestellten Containergruppe zu aktivieren, fügen Sie den folgenden YAML-Code hinzu.To enable a managed identity in a container group deployed using a YAML file, include the following YAML. Geben Sie mindestens eine apiVersion von 2018-10-01 an.Specify a minimum apiVersion of 2018-10-01.

Vom Benutzer zugewiesene IdentitätUser-assigned identity

Eine vom Benutzer zugewiesene Identität ist eine Ressourcen-ID im folgenden Format.A user-assigned identity is a resource ID of the form

'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'

Sie können eine oder mehrere vom Benutzer zugewiesene Identitäten aktivieren.You can enable one or more user-assigned identities.

identity:
  type: UserAssigned
  userAssignedIdentities:
    {'myResourceID1':{}}

Vom System zugewiesene IdentitätSystem-assigned identity

identity:
  type: SystemAssigned

Vom System und vom Benutzer zugewiesene IdentitätenSystem- and user-assigned identities

Sie können in einer Containergruppe sowohl eine vom System zugewiesene Identität als auch eine oder mehrere vom Benutzer zugewiesene Identitäten aktivieren.On a container group, you can enable both a system-assigned identity and one or more user-assigned identities.

identity:
  type: SystemAssigned, UserAssigned
  userAssignedIdentities:
   {'myResourceID1':{}}

Nächste SchritteNext steps

In diesem Artikel haben Sie mehr über verwaltete Identitäten in Azure Container Instances erfahren und Folgendes gelernt:In this article, you learned about managed identities in Azure Container Instances and how to:

  • Aktivieren einer vom Benutzer oder vom System zugewiesenen Identität in einer ContainergruppeEnable a user-assigned or system-assigned identity in a container group
  • Gewähren des Zugriffs auf eine Azure Key Vault-Instanz für die IdentitätGrant the identity access to an Azure key vault
  • Verwenden der verwalteten Identität zum Zugreifen auf eine Key Vault-Instanz über einen ausgeführten ContainerUse the managed identity to access a key vault from a running container