Verwenden von verwalteten Identitäten in Azure API Management

GILT FÜR: Alle API Management-Ebenen

In diesem Artikel erfahren Sie, wie Sie eine verwaltete Identität für eine Azure API Management-Instanz erstellen und mit deren Hilfe auf andere Ressourcen zugreifen. Mithilfe einer von Microsoft Entra ID generierten verwalteten Identität kann Ihre API Management-Instanz einfach und sicher auf andere mit Microsoft Entra geschützte Ressourcen wie Azure Key Vault zugreifen. Azure verwaltet diese Identität, sodass Sie keine Geheimnisse bereitstellen oder rotieren müssen. Weitere Informationen zu verwalteten Identitäten finden Sie unter Was sind verwaltete Identitäten für Azure-Ressourcen?.

Sie können einer API Management-Instanz zwei Arten von Identitäten zuweisen:

  • Eine systemseitig zugewiesene Identität ist an Ihren Dienst gebunden und wird gelöscht, wenn dieser gelöscht wird. Der Dienst kann nur über eine systemseitig zugewiesene Identität verfügen.
  • Eine benutzerseitig zugewiesene Identität ist eine eigenständige Azure-Ressource, die Ihrem Dienst zugewiesen werden kann. Der Dienst kann über mehrere benutzerseitig zugewiesene Identitäten verfügen.

Hinweis

Verwaltete Identitäten sind spezifisch für den Microsoft Entra-Mandanten, in dem Ihr Azure-Abonnement gehostet wird. Sie werden nicht aktualisiert, wenn ein Abonnement in ein anderes Verzeichnis verschoben wird. Wenn ein Abonnement verschoben wird, müssen Sie die Identitäten neu erstellen und konfigurieren.

Erstellen einer systemseitig zugewiesenen verwalteten Identität

Azure-Portal

Erstellen Sie zunächst wie gewohnt eine API Management-Instanz, und aktivieren Sie dann das Feature, um eine verwaltete Identität im Azure-Portal einzurichten.

  1. Erstellen Sie wie gewohnt eine API Management-Instanz im Portal. Navigieren Sie im Portal zu dieser Instanz.

  2. Wählen Sie im linken Menü unter Sicherheit die Option Verwaltete Identitäten aus.

  3. Ändern Sie auf der Registerkarte Systemseitig zugewiesen den Status in Ein. Wählen Sie Speichern aus.

    Auswahl zum Aktivieren einer systemseitig zugewiesenen verwalteten Identität

Azure PowerShell

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren des Azure Az PowerShell-Moduls. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

In den folgenden Schritten werden Sie durch das Erstellen einer API Management-Instanz und das Zuweisen einer Identität zur App mithilfe von Azure PowerShell geleitet.

  1. Installieren Sie bei Bedarf Azure PowerShell anhand der Anweisungen im Azure PowerShell-Leitfaden. Führen Sie dann Connect-AzAccount aus, um eine Verbindung mit Azure herzustellen.

  2. Verwenden Sie den folgenden Code, um die Instanz mit einer systemseitig zugewiesenen verwalteten Identität zu erstellen. Weitere Beispiele zum Verwenden von Azure PowerShell mit einer API Management-Instanz finden Sie unter PowerShell-Beispiele für API Management.

    # Create a resource group.
    New-AzResourceGroup -Name $resourceGroupName -Location $location
    
    # Create an API Management Consumption Sku service.
    New-AzApiManagement -ResourceGroupName $resourceGroupName -Name consumptionskuservice -Location $location -Sku Consumption -Organization contoso -AdminEmail contoso@contoso.com -SystemAssignedIdentity
    

Sie können auch eine vorhandene Instanz aktualisieren, um die Identität zu erstellen:

# Get an API Management instance
$apimService = Get-AzApiManagement -ResourceGroupName $resourceGroupName -Name $apiManagementName

# Update an API Management instance
Set-AzApiManagement -InputObject $apimService -SystemAssignedIdentity

Azure Resource Manager-Vorlage

Sie können eine API Management-Instanz mit einer systemseitig zugewiesenen Identität erstellen, indem die folgende Eigenschaft in die Ressourcendefinition aufgenommen wird:

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

Diese Eigenschaft weist Azure an, die Identität für Ihre API Management-Instanz zu erstellen und zu verwalten.

Eine vollständige Azure Resource Manager-Vorlage kann beispielsweise wie folgt aussehen:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "0.9.0.0",
    "resources": [{
        "apiVersion": "2021-08-01",
        "name": "contoso",
        "type": "Microsoft.ApiManagement/service",
        "location": "[resourceGroup().location]",
        "tags": {},
        "sku": {
            "name": "Developer",
            "capacity": "1"
        },
        "properties": {
            "publisherEmail": "admin@contoso.com",
            "publisherName": "Contoso"
        },
        "identity": {
            "type": "systemAssigned"
        }
    }]
}

Wenn die Instanz erstellt wurde, weist sie folgende zusätzliche Eigenschaften auf:

"identity": {
    "type": "SystemAssigned",
    "tenantId": "<TENANTID>",
    "principalId": "<PRINCIPALID>"
}

Die tenantId-Eigenschaft gibt an, zu welchem Microsoft Entra-Mandanten die Identität gehört. Die principalId-Eigenschaft ist ein eindeutiger Bezeichner für die neue Identität der Instanz. In Microsoft Entra ID ist der Name des Dienstprinzipals mit dem Namen der API Management-Instanz identisch.

Hinweis

Eine API Management-Instanz kann gleichzeitig über systemseitig und über benutzerseitig zugewiesene Identitäten verfügen. In diesem Fall hat die type-Eigenschaft den Wert SystemAssigned,UserAssigned.

Konfigurieren des Key Vault-Zugriffs mithilfe einer verwalteten Identität

Die folgenden Konfigurationen sind erforderlich, damit API Management über einen Azure-Schlüsseltresor auf Geheimnisse und Zertifikate zugreifen kann.

Konfigurieren des Zugriffs auf den Schlüsseltresor

  1. Navigieren Sie im Portal zu Ihrem Schlüsseltresor.

  2. Wählen Sie im Menü auf der linken Seite Zugriffskonfiguration aus, und beachten Sie das konfigurierte Berechtigungsmodell.

  3. Konfigurieren Sie je nach Berechtigungsmodell entweder eine Schlüsseltresor-Zugriffsrichtlinie oder den Azure RBAC-Zugriff für eine verwaltete API Management-Identität.

    So fügen Sie eine Schlüsseltresor-Zugriffsrichtlinie hinzu

    1. Wählen Sie im Menü auf der linken Seite Zugriffsrichtlinien aus.
    2. Wählen Sie auf der Seite Zugriffsrichtlinien die Option + Erstellen aus.
    3. Wählen Sie auf der Registerkarte Berechtigungen unter Berechtigungen für Geheimnis die Optionen Abrufen und Auflisten und dann Weiter aus.
    4. Klicken Sie auf der Registerkarte Prinzipal auf Prinzipal auswählen, suchen Sie nach dem Ressourcennamen Ihrer verwalteten Identität, und wählen Sie dann Weiter aus. Wenn Sie eine systemseitig zugewiesene Identität verwenden, ist der Prinzipal der Name der API Management-Instanz.
    5. Wählen Sie erneut Weiter aus. Wählen Sie auf der Registerkarte Überprüfen + erstellen die Option Erstellen aus.

    So konfigurieren Sie Azure RBAC-Zugriff

    1. Wählen Sie im linken Menü Zugriffssteuerung (IAM) aus.
    2. Wählen Sie auf der Seite Zugriffssteuerung (IAM) die Option Rollenzuweisung hinzufügen aus.
    3. Wählen Sie auf der Registerkarte Rolle die Option Key Vault-Geheimnisbenutzer aus.
    4. Wählen Sie auf der Registerkarte Mitglieder die Option Verwaltete Identität>+ Mitglieder auswählen aus.
    5. Wählen Sie auf der Seite Verwaltete Identität auswählen die systemseitig zugewiesene verwaltete Identität oder eine benutzerseitig zugewiesene verwaltete Identität aus, die Ihrer API Management-Instanz zugeordnet ist, und wählen Sie dann Auswählen aus.
    6. Wählen Sie Überprüfen und zuweisen aus.

Anforderungen an Key Vault-Firewall

Wenn die Key Vault-Firewall in Ihrem Schlüsseltresor aktiviert ist, gelten die folgenden zusätzlichen Anforderungen:

  • Sie müssen die systemseitig zugewiesene verwaltete Identität der API Management-Instanz verwenden, um auf den Schlüsseltresor zuzugreifen.

  • Aktivieren Sie in der Key Vault-Firewall die Option Vertrauenswürdigen Microsoft-Diensten die Umgehung dieser Firewall erlauben? .

  • Stellen Sie sicher, dass Ihre lokale Client-IP-Adresse vorübergehend auf den Schlüsseltresor zugreifen darf, während Sie ein Zertifikat oder Geheimnis auswählen, das Sie der Azure API Management-Instanz hinzufügen möchten. Weitere Informationen finden Sie unter Konfigurieren von Azure Key Vault-Netzwerkeinstellungen.

    Nach Abschluss der Konfiguration können Sie Ihre Clientadresse in der Firewall des Schlüsseltresors blockieren.

Anforderungen für virtuelle Netzwerke

Wenn die API Management-Instanz in einem virtuellen Netzwerk bereitgestellt wird, müssen Sie darüber hinaus die folgenden Netzwerkeinstellungen konfigurieren:

  • Aktivieren Sie im API Management-Subnetz einen Dienstendpunkt für Azure Key Vault.
  • Konfigurieren Sie eine Netzwerksicherheitsgruppen-Regel (NSG), um ausgehenden Datenverkehr an die Diensttags AzureKeyVault und AzureActiveDirectory zuzulassen.

Einzelheiten finden Sie unter Netzwerkkonfiguration beim Einrichten von Azure API Management in einem VNet.

Unterstützte Szenarien mit systemseitig zugewiesener Identität

Abrufen eines benutzerdefinierten TLS/SSL-Zertifikats von Azure Key Vault für die API Management-Instanz

Sie können die systemseitig zugewiesene Identität einer API Management-Instanz verwenden, um benutzerdefinierte TLS/SSL-Zertifikate abzurufen, die in Azure Key Vault gespeichert werden. Anschließend können Sie diese Zertifikate den benutzerdefinierten Domänen in der API Management-Instanz zuweisen. Berücksichtigen Sie dabei Folgendes:

  • Der Inhaltstyp des Geheimnisses muss application/x-pkcs12 lauten. Informationen über benutzerdefinierte Domänen-Zertifikats-Anforderungen.
  • Verwenden Sie den geheimen Endpunkt des Key Vault-Zertifikats, das das Geheimnis enthält.

Wichtig

Wenn Sie die Objektversion des Zertifikats nicht angeben, ruft API Management innerhalb von vier Stunden, nachdem sie in Key Vault hochgeladen wurde, die neuere Version des Zertifikats ab.

Im folgenden Beispiel wird eine Azure Resource Manager-Vorlage gezeigt, die die systemseitig zugewiesene verwaltete Identität einer API Management-Dienstinstanz verwendet, um ein benutzerdefiniertes Domänen-Zertifikat aus Key Vault abzurufen.

Voraussetzungen

  • Eine API Management-Dienstinstanz, die mit einer systemseitig zugewiesenen verwalteten Identität konfiguriert ist. Um die Instanz zu erstellen, können Sie eine Azure-Schnellstartvorlage verwenden.
  • Eine Azure Key Vault-Instanz in derselben Ressourcengruppe, die ein Zertifikat hostet, das als benutzerdefiniertes Domänenzertifikat in API Management verwendet wird.

Die folgende Vorlage enthält die folgenden Schritte.

  1. Aktualisieren der Zugriffsrichtlinien der Azure Key Vault-Instanz und Gestatten des Abrufs von Geheimnissen aus diesem Key Vault durch die API Management-Instanz.
  2. Aktualisieren der API Management-Instanz durch Festlegen eines benutzerdefinierten Domänennamens über das Zertifikat aus der Key Vault-Instanz.

Wenn Sie die Vorlage ausführen, stellen Sie Parameterwerte bereit, die für Ihre Umgebung geeignet sind.

{
	"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
	"contentVersion": "1.0.0.0",
	"parameters": {
        "apiManagementServiceName": {
            "type": "string",
            "minLength": 8,
            "metadata":{
                "description": "The name of the API Management service"
            }
        },
		"publisherEmail": {
			"type": "string",
			"minLength": 1,
			"metadata": {
				"description": "The email address of the owner of the service"
			}
		},
		"publisherName": {
			"type": "string",
			"minLength": 1,
			"metadata": {
				"description": "The name of the owner of the service"
			}
		},
		"sku": {
			"type": "string",
			"allowedValues": ["Developer",
			"Standard",
			"Premium"],
			"defaultValue": "Developer",
			"metadata": {
				"description": "The pricing tier of this API Management service"
			}
		},
		"skuCount": {
			"type": "int",
			"defaultValue": 1,
			"metadata": {
				"description": "The instance size of this API Management service."
			}
		},
        "keyVaultName": {
            "type": "string",
            "metadata": {
                "description": "Name of the key vault"
            }
        },
		"proxyCustomHostname1": {
			"type": "string",
			"metadata": {
				"description": "Gateway custom hostname 1. Example: api.contoso.com"
			}
		},
		"keyVaultIdToCertificate": {
			"type": "string",
			"metadata": {
				"description": "Reference to the key vault certificate. Example: https://contoso.vault.azure.net/secrets/contosogatewaycertificate"
			}
		}
	},
	 "variables": {
        "apimServiceIdentityResourceId": "[concat(resourceId('Microsoft.ApiManagement/service', parameters('apiManagementServiceName')),'/providers/Microsoft.ManagedIdentity/Identities/default')]"
		    },
	"resources": [ 
   {
        "apiVersion": "2021-08-01",
        "name": "[parameters('apiManagementServiceName')]",
        "type": "Microsoft.ApiManagement/service",
        "location": "[resourceGroup().location]",
        "tags": {
        },
        "sku": {
            "name": "[parameters('sku')]",
            "capacity": "[parameters('skuCount')]"
        },
        "properties": {
            "publisherEmail": "[parameters('publisherEmail')]",
            "publisherName": "[parameters('publisherName')]"
        },
        "identity": {
            "type": "systemAssigned"
        }
    },
    {
        "type": "Microsoft.KeyVault/vaults/accessPolicies",
        "name": "[concat(parameters('keyVaultName'), '/add')]",
        "apiVersion": "2018-02-14",
        "properties": {
            "accessPolicies": [{
                "tenantId": "[reference(variables('apimServiceIdentityResourceId'), '2018-11-30').tenantId]",
                "objectId": "[reference(variables('apimServiceIdentityResourceId'), '2018-11-30').principalId]",
                "permissions": {
                     "secrets": ["get", "list"]
                }
            }]
        }
    },
	{
        "apiVersion": "2021-04-01",
		"type": "Microsoft.Resources/deployments",
        "name": "apimWithKeyVault",
		 "dependsOn": [
        "[resourceId('Microsoft.ApiManagement/service', parameters('apiManagementServiceName'))]"
        ],
        "properties": {
            "mode": "incremental",
            "template": {
                "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
				"contentVersion": "1.0.0.0",
				"parameters": {},			
				"resources": [{
					"apiVersion": "2021-08-01",
					"name": "[parameters('apiManagementServiceName')]",
					"type": "Microsoft.ApiManagement/service",
					"location": "[resourceGroup().location]",
					"tags": {
					},
					"sku": {
						"name": "[parameters('sku')]",
						"capacity": "[parameters('skuCount')]"
					},
					"properties": {
						"publisherEmail": "[parameters('publisherEmail')]",
						"publisherName": "[parameters('publisherName')]",
						"hostnameConfigurations": [{
							"type": "Proxy",
							"hostName": "[parameters('proxyCustomHostname1')]",
							"keyVaultId": "[parameters('keyVaultIdToCertificate')]"
						}]
					},
					"identity": {
						"type": "systemAssigned"
					}
				}]
		}
		}
	}
]
}

Speichern und Verwalten benannter Werte aus Azure Key Vault

Sie können eine systemseitig zugewiesene verwaltete Identität verwenden, um auf Azure Key Vault zuzugreifen, um Geheimnisse für die Verwendung in API Management-Richtlinien zu speichern und zu verwalten. Weitere Informationen finden Sie unter Verwenden benannter Werte in Azure API Management-Richtlinien.

Authentifizieren bei einem Back-End mithilfe einer API Management-Identität

Sie können die systemseitig zugewiesene Identität verwenden, um sich über die Richtlinie authentication-managed-identity bei einem Back-End zu authentifizieren.

Herstellen einer Verbindung mit Azure-Ressourcen hinter der IP-Firewall mithilfe der systemseitig zugewiesenen verwalteten Identität

API Management ist ein vertrauenswürdiger Microsoft-Dienst für die folgenden Ressourcen. Daher kann der Dienst hinter einer Firewall eine Verbindung mit den folgenden Ressourcen herstellen. Nachdem Sie der systemseitig zugewiesenen verwalteten Identität explizit die entsprechende Azure-Rolle für diese Ressourceninstanz zugewiesen haben, entspricht der Zugriffsbereich für diese Instanz der Azure-Rolle, die der verwalteten Identität zugewiesen wurde.

Azure-Dienst Link
Azure-Schlüsseltresor Trusted-access-to-azure-key-vault
Azure Storage Vertrauenswürdiger Zugriff auf Azure Storage
Azure-Servicebus Vertrauenswürdiger Zugriff auf Azure Service Bus
Azure Event Hubs Trusted-access-to-azure-event-hub

Protokollieren von Ereignissen in einem Event Hub

Sie können eine systemseitig zugewiesene verwaltete Identität konfigurieren und verwenden, um auf einen Event Hub zum Protokollieren von Ereignissen aus einer API Management-Instanz zuzugreifen. Weitere Informationen finden Sie unter Protokollieren von Ereignissen zu Azure Event Hubs in Azure API Management.

Erstellen einer benutzerseitig zugewiesenen verwalteten Identität

Hinweis

Sie können eine API Management-Instanz mit bis zu zehn benutzerseitig zugewiesenen verwalteten Identitäten verknüpfen.

Azure-Portal

Um eine verwaltete Identität im Portal einzurichten, erstellen Sie zunächst eine API Management-Instanz und erstellen dann eine benutzerseitig zugewiesene Identität. Aktivieren Sie dann das Feature.

  1. Erstellen Sie wie gewohnt eine API Management-Instanz im Portal. Navigieren Sie im Portal zu dieser Instanz.

  2. Wählen Sie im linken Menü unter Sicherheit die Option Verwaltete Identitäten aus.

  3. Wählen Sie auf der Registerkarte Benutzerseitig zugewiesen die Option Hinzufügen aus.

  4. Suchen Sie nach der zuvor erstellten Identität, und wählen Sie sie aus. Wählen Sie Hinzufügen.

    Auswahl zum Aktivieren einer benutzerseitig zugewiesenen verwalteten Identität

Azure PowerShell

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren des Azure Az PowerShell-Moduls. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

In den folgenden Schritten werden Sie durch das Erstellen einer API Management-Instanz und das Zuweisen einer Identität zur App mithilfe von Azure PowerShell geleitet.

  1. Installieren Sie bei Bedarf Azure PowerShell anhand der Anweisungen im Azure PowerShell-Leitfaden. Führen Sie dann Connect-AzAccount aus, um eine Verbindung mit Azure herzustellen.

  2. Verwenden Sie zum Erstellen der Instanz den folgenden Code. Weitere Beispiele zum Verwenden von Azure PowerShell mit einer API Management-Instanz finden Sie unter PowerShell-Beispiele für API Management.

    # Create a resource group.
    New-AzResourceGroup -Name $resourceGroupName -Location $location
    
    # Create a user-assigned identity. This requires installation of the "Az.ManagedServiceIdentity" module.
    $userAssignedIdentity = New-AzUserAssignedIdentity -Name $userAssignedIdentityName -ResourceGroupName $resourceGroupName
    
    # Create an API Management Consumption Sku service.
    $userIdentities = @($userAssignedIdentity.Id)
    
    New-AzApiManagement -ResourceGroupName $resourceGroupName -Location $location -Name $apiManagementName -Organization contoso -AdminEmail admin@contoso.com -Sku Consumption -UserAssignedIdentity $userIdentities
    

Sie können auch einen vorhandenen Dienst aktualisieren, um dem Dienst eine Identität zuzuweisen:

# Get an API Management instance
$apimService = Get-AzApiManagement -ResourceGroupName $resourceGroupName -Name $apiManagementName

# Create a user-assigned identity. This requires installation of the "Az.ManagedServiceIdentity" module.
$userAssignedIdentity = New-AzUserAssignedIdentity -Name $userAssignedIdentityName -ResourceGroupName $resourceGroupName

# Update an API Management instance
$userIdentities = @($userAssignedIdentity.Id)
Set-AzApiManagement -InputObject $apimService -UserAssignedIdentity $userIdentities

Azure Resource Manager-Vorlage

Sie können eine API Management-Instanz mit einer Identität erstellen, indem die folgende Eigenschaft in die Ressourcendefinition aufgenommen wird:

"identity": {
    "type": "UserAssigned",
    "userAssignedIdentities": {
        "<RESOURCEID>": {}
    }
}

Durch das Hinzufügen des benutzerseitig zugewiesenen Typs wird Azure angewiesen, die benutzerseitig zugewiesene Identität zu verwenden, die für Ihre Instanz angegeben ist.

Eine vollständige Azure Resource Manager-Vorlage kann beispielsweise wie folgt aussehen:

{
    "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
    "contentVersion": "0.9.0.0",
    "resources": [{
        "apiVersion": "2021-08-01",
        "name": "contoso",
        "type": "Microsoft.ApiManagement/service",
        "location": "[resourceGroup().location]",
        "tags": {},
        "sku": {
            "name": "Developer",
            "capacity": "1"
        },
        "properties": {
            "publisherEmail": "admin@contoso.com",
            "publisherName": "Contoso"
        },
        "identity": {
            "type": "UserAssigned",
             "userAssignedIdentities": {
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('identityName'))]": {}
             }
        },
         "dependsOn": [
          "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('identityName'))]"
        ]
    }]
}

Wenn der Dienst erstellt wurde, weist er folgende zusätzliche Eigenschaften auf:

"identity": {
    "type": "UserAssigned",
    "userAssignedIdentities": {
        "<RESOURCEID>": {
            "principalId": "<PRINCIPALID>",
            "clientId": "<CLIENTID>"
        }
    }
}

Die principalId-Eigenschaft ist ein eindeutiger Bezeichner für die Identität, der bei der Microsoft Entra-Verwaltung verwendet wird. Die clientId-Eigenschaft ist ein eindeutiger Bezeichner für die neue Identität der Anwendung, der bei Runtimeaufrufen angibt, welche Identität verwendet werden soll.

Hinweis

Eine API Management-Instanz kann gleichzeitig über systemseitig und über benutzerseitig zugewiesene Identitäten verfügen. In diesem Fall hat die type-Eigenschaft den Wert SystemAssigned,UserAssigned.

Unterstützte Szenarien mit benutzerseitig zugewiesener verwalteter Identität

Abrufen eines benutzerdefinierten TLS/SSL-Zertifikats von Azure Key Vault für die API Management-Instanz

Sie können eine benutzerseitig zugewiesene Identität verwenden, um eine Vertrauensstellung zwischen einer API Management-Instanz und Azure Key Vault einzurichten. Diese Vertrauensstellung kann dann verwendet werden, um benutzerdefinierte TLS/SSL-Zertifikate abzurufen, die in Azure Key Vault gespeichert sind. Anschließend können Sie diese Zertifikate den benutzerdefinierten Domänen in der API Management-Instanz zuweisen.

Wichtig

Wenn die Key Vault-Firewall für Ihren Schlüsseltresor aktiviert ist, können Sie keine benutzerseitig zugewiesene Identität für den Zugriff aus API Management verwenden. Stattdessen können Sie die systemseitig zugewiesene Identität verwenden. In der Key Vault-Firewall muss außerdem die Option Vertrauenswürdigen Microsoft-Diensten die Umgehung dieser Firewall erlauben? aktiviert sein.

Berücksichtigen Sie dabei Folgendes:

  • Der Inhaltstyp des Geheimnisses muss application/x-pkcs12 lauten.
  • Verwenden Sie den geheimen Endpunkt des Key Vault-Zertifikats, das das Geheimnis enthält.

Wichtig

Wenn Sie die Objektversion des Zertifikats nicht angeben, ruft API Management innerhalb von vier Stunden, nachdem sie in Key Vault hochgeladen wurde, die neuere Version des Zertifikats ab.

Die vollständige Vorlage finden Sie unter API Management mit SSL auf Key Vault-Basis und benutzerseitig zugewiesener Identität.

In dieser Vorlage stellen Sie Folgendes bereit:

  • Eine Azure API Management-Instanz
  • Eine benutzerseitig zugewiesene verwaltete Identität in Azure
  • Azure Key Vault zur Speicherung des SSL/TLS-Zertifikats

Wählen Sie die folgende Schaltfläche, um die Bereitstellung automatisch auszuführen:

Schaltfläche zum Bereitstellen der Resource Manager-Vorlage in Azure.

Speichern und Verwalten benannter Werte aus Azure Key Vault

Sie können eine systemseitig zugewiesene verwaltete Identität verwenden, um auf Azure Key Vault zuzugreifen, um Geheimnisse für die Verwendung in API Management-Richtlinien zu speichern und zu verwalten. Weitere Informationen finden Sie unter Verwenden benannter Werte in Azure API Management-Richtlinien.

Hinweis

Wenn die Key Vault-Firewall für Ihren Schlüsseltresor aktiviert ist, können Sie keine benutzerseitig zugewiesene Identität für den Zugriff aus API Management verwenden. Stattdessen können Sie die systemseitig zugewiesene Identität verwenden. In der Key Vault-Firewall muss außerdem die Option Vertrauenswürdigen Microsoft-Diensten die Umgehung dieser Firewall erlauben? aktiviert sein.

Authentifizieren bei einem Back-End mithilfe einer benutzerseitig zugewiesenen Identität

Sie können die benutzerseitig zugewiesene Identität verwenden, um sich über die Richtlinie authentication-managed-identity bei einem Back-End zu authentifizieren.

Protokollieren von Ereignissen in einem Event Hub

Sie können eine benutzerseitig zugewiesene verwaltete Identität konfigurieren und verwenden, um auf einen Event Hub zum Protokollieren von Ereignissen aus einer API Management-Instanz zuzugreifen. Weitere Informationen finden Sie unter Protokollieren von Ereignissen zu Azure Event Hubs in Azure API Management.

Entfernen einer Identität

Sie können eine systemseitig zugewiesene Identität entfernen, indem Sie das Feature über das Portal oder die Azure Resource Manager-Vorlage genau so deaktivieren, wie es aktiviert wurde. Benutzerseitig zugewiesene Identitäten können einzeln entfernt werden. Legen Sie den Identitätstyp auf "None" fest, um alle Identitäten zu entfernen.

Wenn Sie eine vom System zugewiesene Identität auf diese Weise entfernen, wird sie auch aus Microsoft Entra ID gelöscht. Systemseitig zugewiesene Identitäten werden automatisch aus Microsoft Entra ID entfernt, wenn die API Management-Instanz gelöscht wird.

Aktualisieren Sie den folgenden Abschnitt, um alle Identitäten mithilfe der Azure Resource Manager-Vorlage zu entfernen:

"identity": {
    "type": "None"
}

Wichtig

Wenn eine API Management-Instanz mit einem benutzerdefinierten SSL-Zertifikat von Key Vault konfiguriert ist und Sie versuchen, eine verwaltete Identität zu deaktivieren, schlägt die Anforderung fehl.

Sie können die Blockierung aufheben, indem Sie von einem Azure Key Vault-Zertifikat zu einem inline codierten Zertifikat wechseln und die verwaltete Identität deaktivieren. Weitere Informationen finden Sie unter Konfigurieren eines benutzerdefinierten Domänennamens.

Nächste Schritte

Erfahren Sie mehr über verwaltete Identitäten für Azure-Ressourcen: