Freigeben über


Verwenden von verwalteten Identitäten in Azure API Management

GILT FÜR: Alle API Management-Ebenen

In diesem Artikel wird gezeigt, wie Sie eine verwaltete Identität für eine Azure-API-Verwaltungsinstanz erstellen und wie sie für den Zugriff auf andere Ressourcen verwendet werden. Eine verwaltete Identität, die von Microsoft Entra ID generiert wird, ermöglicht die API-Verwaltung den einfachen und sicheren Zugriff auf andere Ressourcen, die von Microsoft Entra geschützt sind, z. B. Azure Key Vault. Azure verwaltet diese Identitäten, 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 neu konfigurieren.

Hinweis

Diese Funktion ist derzeit in Arbeitsbereichen nicht verfügbar.

Erstellen einer systemseitig zugewiesenen verwalteten Identität

Azure-Portal

Zum Einrichten einer verwalteten Identität im Azure-Portal erstellen Sie eine API-Verwaltungsinstanz und aktivieren dann das Feature.

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

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

  3. Schalten Sie auf der Registerkarte Systemseitig zugewiesen die Option Status auf Ein um. Wählen Sie Speichern aus.

    Screenshot, der zeigt, wie eine vom System zugewiesene verwaltete Identität aktiviert wird.

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 von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Die folgenden Schritte führen Sie durch das Erstellen einer API-Verwaltungsinstanz und das Zuweisen einer Identität mithilfe von Azure PowerShell.

  1. Falls erforderlich, installieren Sie Azure PowerShell, indem Sie die Anweisungen im Azure PowerShell-Handbuch befolgen. Führen Sie dann Connect-AzAccount aus, um eine Verbindung mit Azure herzustellen.

  2. Verwenden Sie den folgenden Code, um eine Instanz mit einer vom System zugewiesenen verwalteten Identität zu erstellen. Weitere Beispiele für die Verwendung von Azure PowerShell mit API-Verwaltung finden Sie in den PowerShell-Beispielen zur API-Verwaltung.

    # 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

ARM-Vorlage (Azure Resource Manager)

Sie können eine API-Verwaltungsinstanz mit einer vom System zugewiesenen Identität erstellen, indem Sie die folgende Eigenschaft in die ARM-Vorlagenressourcendefinition einschließen:

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

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

Eine vollständige ARM-Vorlage könnte z. B. 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-Verwaltungsinstanz kann sowohl über vom System zugewiesene als auch über vom Benutzer zugewiesene Identitäten verfügen. In diesem Szenario hat die type-Eigenschaft den Wert SystemAssigned,UserAssigned.

Zugriff auf Key Vault mithilfe einer verwalteten Identität konfigurieren

Die folgenden Konfigurationen sind erforderlich, wenn Sie die API-Verwaltung für den Zugriff auf Zertifikate aus einem Azure Key Vault verwenden möchten.

Konfigurieren des Zugriffs auf den Schlüsseltresor

  1. Navigieren Sie im Portal zu Ihrem Schlüsseltresor.
  2. Wählen Sie im linken Menü die Access-Konfiguration aus. 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.

Um eine Zugriffsrichtlinie für den Key Vault hinzuzufügen:

  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 "Geheime Berechtigungen" die Option " Abrufen und Liste" und dann " Weiter" aus.
  4. Wählen Sie auf der Registerkarte "Prinzipal " die Option "Prinzipal" aus, 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 den 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 Schlüsseltresor-Zertifikatbenutzer aus.
  4. Wählen Sie auf der Registerkarte Mitglieder die Option Verwaltete Identität>+ Mitglieder auswählen aus.
  5. Wählen Sie im Fenster "Verwaltete Identitäten auswählen " die vom System zugewiesene verwaltete Identität oder eine vom Benutzer zugewiesene verwaltete Identität aus, die Ihrer API-Verwaltungsinstanz zugeordnet ist, und klicken Sie dann auf "Auswählen".
  6. Wählen Sie Überprüfen und zuweisen aus.

Anforderungen an Key Vault-Firewall

Wenn die Key Vault-Firewall auf Ihrem Schlüsseltresor aktiviert ist, müssen Sie die folgenden Anforderungen erfüllen:

  • Sie müssen die vom System zugewiesene verwaltete Identität der API-Verwaltungsinstanz 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 einen Dienstendpunkt für Key Vault im API-Verwaltungssubnetz.
  • Konfigurieren Sie eine Netzwerksicherheitsgruppen-Regel (NSG), um ausgehenden Datenverkehr an die Diensttags AzureKeyVault und AzureActiveDirectory zuzulassen.

Ausführliche Informationen finden Sie unter Netzwerkkonfiguration beim Einrichten der API-Verwaltung in einem virtuellen Netzwerk.

Unterstützte Szenarien, die vom System zugewiesene Identität verwenden

Im Folgenden finden Sie einige häufige Szenarien für die Verwendung einer vom System zugewiesenen verwalteten Identität in Azure API Management.

Abrufen eines benutzerdefinierten TLS/SSL-Zertifikats für die API-Verwaltungsinstanz aus dem Key Vault

Sie können die vom System zugewiesene Identität einer API-Verwaltungsinstanz verwenden, um benutzerdefinierte TLS/SSL-Zertifikate abzurufen, die im Key Vault gespeichert sind. Anschließend können Sie diese Zertifikate den benutzerdefinierten Domänen in der API Management-Instanz zuweisen. Berücksichtigen Sie die folgenden Überlegungen:

  • Der Inhaltstyp des Geheimnisses muss application/x-pkcs12 lauten. Weitere Informationen finden Sie unter Domänenzertifikatoptionen.
  • Sie müssen den Geheimen Endpunkt des Key Vault-Zertifikats verwenden, der den geheimen Schlüssel enthält.

Wichtig

Wenn Sie die Objektversion des Zertifikats nicht bereitstellen, ruft die API-Verwaltung innerhalb von vier Stunden nach der Aktualisierung im Key Vault automatisch eine neuere Version des Zertifikats ab.

Das folgende Beispiel zeigt eine ARM-Vorlage, die die vom System zugewiesene verwaltete Identität einer API-Verwaltungsinstanz verwendet, um ein benutzerdefiniertes Domänenzertifikat aus Key Vault abzurufen.

Voraussetzungen

  • Eine API-Verwaltungsinstanz, die mit einer vom System zugewiesenen verwalteten Identität konfiguriert ist. Um die Instanz zu erstellen, können Sie eine Azure-Schnellstartvorlage verwenden.
  • Eine Key Vault-Instanz in derselben Ressourcengruppe. Die Instanz muss ein Zertifikat hosten, das als benutzerdefiniertes Domänenzertifikat in der API-Verwaltung verwendet wird.

Die Vorlage enthält die folgenden Schritte.

  1. Aktualisieren Sie die Zugriffsrichtlinien der Key Vault-Instanz, und ermöglichen Sie der API-Verwaltungsinstanz, geheime Schlüssel daraus abzurufen.
  2. Aktualisieren der API Management-Instanz durch Festlegen eines benutzerdefinierten Domänennamens über das Zertifikat aus der Key Vault-Instanz.

Geben Sie beim Ausführen der Vorlage Parameterwerte an, 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 instance"
            }
        },
		"publisherEmail": {
			"type": "string",
			"minLength": 1,
			"metadata": {
				"description": "The email address of the owner of the instance"
			}
		},
		"publisherName": {
			"type": "string",
			"minLength": 1,
			"metadata": {
				"description": "The name of the owner of the instance"
			}
		},
		"sku": {
			"type": "string",
			"allowedValues": ["Developer",
			"Standard",
			"Premium"],
			"defaultValue": "Developer",
			"metadata": {
				"description": "The pricing tier of the API Management instance"
			}
		},
		"skuCount": {
			"type": "int",
			"defaultValue": 1,
			"metadata": {
				"description": "The instance size of the API Management instance"
			}
		},
        "keyVaultName": {
            "type": "string",
            "metadata": {
                "description": "The 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 von benannten Werten aus Key Vault

Sie können eine vom System zugewiesene verwaltete Identität verwenden, um auf Key Vault zuzugreifen, um geheime Schlüssel zur Verwendung in API-Verwaltungsrichtlinien 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 vom System zugewiesene Identität verwenden, um sich über die Authentifizierungsrichtlinie mit verwalteter Identität bei einem Back-End-Dienst zu authentifizieren.

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

API Management ist ein vertrauenswürdiger Microsoft-Dienst für die folgenden Ressourcen. Dieser vertrauenswürdige Status ermöglicht es dem Dienst, eine Verbindung mit den folgenden Ressourcen hinter einer Firewall herzustellen. Nachdem Sie der vom System zugewiesenen verwalteten Identität explizit die entsprechende Azure-Rolle für eine Ressourceninstanz zugewiesen haben, entspricht der Zugriffsbereich für die Instanz der Azure-Rolle, die der verwalteten Identität zugewiesen ist.

Protokollieren von Ereignissen in einem Event Hub

Sie können eine vom System zugewiesene verwaltete Identität konfigurieren und verwenden, um auf einen Event Hub zuzugreifen, um Ereignisse aus einer API-Verwaltungsinstanz zu protokollieren. Weitere Informationen finden Sie unter "Protokollieren von Ereignissen bei Event Hubs in Azure API Management".

Erstellen einer benutzerseitig zugewiesenen verwalteten Identität

Hinweis

Sie können eine API-Verwaltungsinstanz mit bis zu 10 vom Benutzer zugewiesenen verwalteten Identitäten zuordnen.

Azure-Portal

Um eine verwaltete Identität im Portal einzurichten, müssen Sie zuerst eine API-Verwaltungsinstanz erstellen und eine vom Benutzer zugewiesene Identität erstellen. Führen Sie dann die folgenden Schritte aus.

  1. Wechseln Sie im Portal zu Ihrer API-Verwaltungsinstanz.

  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.

    Screenshot, der zeigt, wie eine vom Benutzer zugewiesene verwaltete Identität aktiviert wird.

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 von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Die folgenden Schritte führen Sie durch das Erstellen einer API-Verwaltungsinstanz und das Zuweisen einer Identität mithilfe von Azure PowerShell.

  1. Falls erforderlich, installieren Sie Azure PowerShell, indem Sie die Anweisungen im Azure PowerShell-Handbuch befolgen. 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 für die Verwendung von Azure PowerShell mit API-Verwaltung finden Sie in den PowerShell-Beispielen zur API-Verwaltung.

    # Create a resource group.
    New-AzResourceGroup -Name $resourceGroupName -Location $location
    
    # Create a user-assigned identity. This code 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 code requires installation of the Az.ManagedServiceIdentity module.
$userAssignedIdentity = New-AzUserAssignedIdentity -Name $userAssignedIdentityName -ResourceGroupName $resourceGroupName

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

ARM-Vorlage

Sie können eine API-Verwaltungsinstanz erstellen, die über eine Identität verfügt, indem Sie die folgende Eigenschaft in die Ressourcendefinition einschließen:

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

Durch das Hinzufügen des vom Benutzer zugewiesenen Typs wird Azure informiert, die für Ihre Instanz angegebene Benutzeridentität zu verwenden.

Eine vollständige ARM-Vorlage könnte z. B. 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-Verwaltungsinstanz kann sowohl über vom System zugewiesene als auch über vom Benutzer zugewiesene Identitäten verfügen. In diesem Szenario wäre die type-Eigenschaft SystemAssigned,UserAssigned.

Unterstützte Szenarien, in denen vom Benutzer zugewiesene verwaltete Identitäten verwendet werden

Im Folgenden finden Sie einige häufige Szenarien für die Verwendung einer vom Benutzer zugewiesenen verwalteten Identität in Azure API Management.

Abrufen eines benutzerdefinierten TLS/SSL-Zertifikats für die API-Verwaltungsinstanz aus dem Key Vault

Sie können eine vom Benutzer zugewiesene Identität verwenden, um eine Vertrauensstellung zwischen einer API-Verwaltungsinstanz und key Vault herzustellen. Diese Vertrauensstellung kann dann verwendet werden, um benutzerdefinierte TLS/SSL-Zertifikate abzurufen, die im 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 die Option "Vertrauenswürdige Microsoft-Dienste dürfen diese Firewall umgehen" aktiviert sein.

Berücksichtigen Sie die folgenden Überlegungen:

  • Der Inhaltstyp des Geheimnisses muss application/x-pkcs12 lauten.
  • Sie müssen den Geheimen Endpunkt des Key Vault-Zertifikats verwenden, der den geheimen Schlüssel enthält.

Wichtig

Wenn Sie die Objektversion des Zertifikats nicht bereitstellen, ruft die API-Verwaltung innerhalb von vier Stunden nach der Aktualisierung im Key Vault automatisch eine neuere Version des Zertifikats ab.

Speichern und Verwalten von benannten Werten aus Key Vault

Sie können eine vom Benutzer zugewiesene verwaltete Identität verwenden, um auf Key Vault zuzugreifen, um geheime Schlüssel zur Verwendung in API-Verwaltungsrichtlinien 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 die Option "Vertrauenswürdige Microsoft-Dienste dürfen diese Firewall umgehen" aktiviert sein.

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

Sie können die vom Benutzer zugewiesene Identität verwenden, um sich über die Authentifizierungsrichtlinie mit verwalteter Identität bei einem Back-End-Dienst zu authentifizieren.

Protokollieren von Ereignissen in einem Event Hub

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

Entfernen einer Identität

Sie können eine vom System zugewiesene Identität entfernen, indem Sie das Feature über das Portal oder eine ARM-Vorlage auf die gleiche Weise deaktivieren wie sie erstellt wurde. Benutzerseitig zugewiesene Identitäten können einzeln entfernt werden. Legen Sie den Identitätstyp auf "None" fest, um alle Identitäten zu entfernen.

Das Entfernen einer vom System zugewiesenen Identität auf diese Weise löscht sie auch aus der Microsoft Entra-ID. Systemseitig zugewiesene Identitäten werden automatisch aus Microsoft Entra ID entfernt, wenn die API Management-Instanz gelöscht wird.

Um alle Identitäten mithilfe einer ARM-Vorlage zu entfernen, aktualisieren Sie diesen Abschnitt:

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

Wichtig

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

Sie können dies beheben, indem Sie von einem Key Vault-Zertifikat zu einem inlinecodierten Zertifikat wechseln und dann die verwaltete Identität deaktivieren. Weitere Informationen finden Sie unter Konfigurieren eines benutzerdefinierten Domänennamens.