Microsoft.ApiManagement-Dienst

Bicep-Ressourcendefinition

Der Dienstressourcentyp kann mit Vorgängen bereitgestellt werden, die Folgendes zum Ziel haben:

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.

Ressourcenformat

Um eine Microsoft.ApiManagement/service-Ressource zu erstellen, fügen Sie der Vorlage den folgenden Bicep hinzu.

resource symbolicname 'Microsoft.ApiManagement/service@2023-05-01-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
    {customized property}: 'string'
  sku: {
    capacity: int
    name: 'string'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {
        clientId: 'string'
        principalId: 'string'
      }
    }
  }
  properties: {
    additionalLocations: [
      {
        disableGateway: bool
        location: 'string'
        natGatewayState: 'string'
        publicIpAddressId: 'string'
        sku: {
          capacity: int
          name: 'string'
        }
        virtualNetworkConfiguration: {
          subnetResourceId: 'string'
        }
        zones: [
          'string'
        ]
      }
    ]
    apiVersionConstraint: {
      minApiVersion: 'string'
    }
    certificates: [
      {
        certificate: {
          expiry: 'string'
          subject: 'string'
          thumbprint: 'string'
        }
        certificatePassword: 'string'
        encodedCertificate: 'string'
        storeName: 'string'
      }
    ]
    configurationApi: {
      legacyApi: 'string'
    }
    customProperties: {
      {customized property}: 'string'
    }
    developerPortalStatus: 'string'
    disableGateway: bool
    enableClientCertificate: bool
    hostnameConfigurations: [
      {
        certificate: {
          expiry: 'string'
          subject: 'string'
          thumbprint: 'string'
        }
        certificatePassword: 'string'
        certificateSource: 'string'
        certificateStatus: 'string'
        defaultSslBinding: bool
        encodedCertificate: 'string'
        hostName: 'string'
        identityClientId: 'string'
        keyVaultId: 'string'
        negotiateClientCertificate: bool
        type: 'string'
      }
    ]
    legacyPortalStatus: 'string'
    natGatewayState: 'string'
    notificationSenderEmail: 'string'
    privateEndpointConnections: [
      {
        id: 'string'
        name: 'string'
        properties: {
          privateEndpoint: {}
          privateLinkServiceConnectionState: {
            actionsRequired: 'string'
            description: 'string'
            status: 'string'
          }
        }
        type: 'string'
      }
    ]
    publicIpAddressId: 'string'
    publicNetworkAccess: 'string'
    publisherEmail: 'string'
    publisherName: 'string'
    restore: bool
    virtualNetworkConfiguration: {
      subnetResourceId: 'string'
    }
    virtualNetworkType: 'string'
  }
  zones: [
    'string'
  ]
}

Eigenschaftswerte

Dienst

Name BESCHREIBUNG Wert
name Der Ressourcenname Zeichenfolge (erforderlich)

Zeichenlimit: 1-50

Gültige Zeichen:
Alphanumerische Zeichen und Bindestriche.

Muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden.

Der Ressourcenname muss in Azure eindeutig sein.
location Ressourcenspeicherort Zeichenfolge (erforderlich)
tags Ressourcentags. Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen
sku SKU-Eigenschaften des API Management-Diensts. ApiManagementServiceSkuProperties (erforderlich)
Identität Verwaltete Dienstidentität des Api Management-Diensts. ApiManagementServiceIdentity
properties Eigenschaften des API Management-Diensts. ApiManagementServiceProperties (erforderlich)
Zonen Eine Liste von Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. string[]

ApiManagementServiceIdentity

Name BESCHREIBUNG Wert
type Der Identitätstyp, der für die Ressource verwendet wird. Der Typ „SystemAssigned, UserAssigned“ umfasst sowohl eine implizit erstellte Identität als auch einen Satz von Benutzern zugewiesener Identitäten. Der Typ "None" entfernt alle Identitäten aus dem Dienst. "Keine"
"SystemAssigned"
"SystemAssigned, UserAssigned"
"UserAssigned" (erforderlich)
userAssignedIdentities Die Liste der Benutzeridentitäten, die der Ressource zugeordnet sind. Die Benutzeridentität
Wörterbuchschlüsselverweise sind ARM-Ressourcen-IDs in der Form:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
ApiManagementServiceIdentityUserAssignedIdentities

ApiManagementServiceIdentityUserAssignedIdentities

Name BESCHREIBUNG Wert
{angepasste Eigenschaft} UserIdentityProperties

UserIdentityProperties

Name BESCHREIBUNG Wert
clientId Die Client-ID der benutzerseitig zugewiesenen Identität. Zeichenfolge
principalId Die Prinzipal-ID der benutzerseitig zugewiesenen Identität. Zeichenfolge

ApiManagementServiceProperties

Name BESCHREIBUNG Wert
additionalLocations Zusätzliche Rechenzentrumsstandorte des API Management-Diensts. AdditionalLocation[]
apiVersionConstraint Apis-Versionseinschränkung der Steuerungsebene für den API Management-Dienst. ApiVersionConstraint
certificates Liste der Zertifikate, die im API Management-Dienst installiert werden müssen. Die maximale Anzahl von unterstützten Zertifikaten, die installiert werden können, beträgt 10. CertificateConfiguration[]
configurationApi Konfigurations-API-Konfiguration des API Management-Diensts. ConfigurationApi
customProperties Benutzerdefinierte Eigenschaften des API Management-Diensts.
Durch die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 wird die verschlüsselungs-TLS_RSA_WITH_3DES_EDE_CBC_SHA für alle TLS(1.0, 1.1 und 1.2) deaktiviert.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für einen API Management-Dienst zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 für die Kommunikation mit Back-Ends zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für die Kommunikation mit Back-Ends zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 kann verwendet werden, um das HTTP2-Protokoll für einen API Management-Dienst zu aktivieren.
Wenn Sie keine dieser Eigenschaften beim PATCH-Vorgang angeben, werden die Werte der ausgelassenen Eigenschaften auf die Standardwerte zurückgesetzt. Für alle Einstellungen mit Ausnahme von Http2 ist True der Standardwert, wenn der Dienst am oder vor dem 1. April 2018 erstellt wurde und False andernfalls. Der Standardwert der Http2-Einstellung ist False.

Sie können jede der folgenden Verschlüsselungen mithilfe von Einstellungen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]deaktivieren: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. Beispiel Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256: :false. Der Standardwert ist true für sie.
Hinweis: Die folgenden Verschlüsselungen können nicht deaktiviert werden, da sie für interne Plattformkomponenten erforderlich sind: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
ApiManagementServiceBasePropertiesCustomProperties
developerPortalStatus Status des Entwicklerportals in diesem API Management-Dienst. "Deaktiviert"
"Aktiviert"
disableGateway Die Eigenschaft ist nur für einen Api Management-Dienst gültig, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway in master Region zu deaktivieren. bool
enableClientCertificate Eigenschaft, die nur für den Verbrauchs-SKU-Dienst verwendet werden soll. Dadurch wird erzwungen, dass bei jeder Anforderung an das Gateway ein Clientzertifikat angezeigt wird. Dies ermöglicht auch die Authentifizierung des Zertifikats in der Richtlinie auf dem Gateway. bool
hostnameConfigurations Konfiguration des benutzerdefinierten Hostnamens des API Management-Diensts. HostnameConfiguration[]
legacyPortalStatus Status des Legacyportals im API Management-Dienst. "Deaktiviert"
"Aktiviert"
natGatewayState Die -Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management-Dienst zu aktivieren. "Deaktiviert"
"Aktiviert"
notificationSenderEmail Email Adresse, von der die Benachrichtigung gesendet wird. Zeichenfolge
privateEndpointConnections. Liste der Privaten Endpunktverbindungen dieses Diensts. RemotePrivateEndpointConnectionWrapper[]
publicIpAddressId Public Standard SKU IP V4-basierte IP-Adresse, die Virtual Network bereitgestellten Dienst in der Region zugeordnet werden soll. Wird nur für Entwickler- und Premium-SKU unterstützt, die in Virtual Network bereitgestellt wird. Zeichenfolge
publicNetworkAccess Gibt an, ob der Zugriff auf öffentliche Endpunkte für diesen API Management-Dienst zulässig ist. Der Wert ist optional, aber wenn er übergeben wird, muss "Aktiviert" oder "Deaktiviert" sein. Bei "Disabled" sind private Endpunkte die exklusive Zugriffsmethode. Der Standardwert ist "Enabled". "Deaktiviert"
"Aktiviert"
publisherEmail Herausgeber-E-Mail. Zeichenfolge (erforderlich)
publisherName Herausgebername. Zeichenfolge (erforderlich)
Wiederherstellen Wiederherstellen des Api Management-Diensts, wenn er zuvor vorläufig gelöscht wurde. Wenn dieses Flag angegeben und auf True festgelegt ist, werden alle anderen Eigenschaften ignoriert. bool
virtualNetworkConfiguration Virtuelle Netzwerkkonfiguration des API Management-Diensts. VirtualNetworkConfiguration
virtualNetworkType Der VPN-Typ, in dem API Management Dienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API Management-Dienst nicht Teil eines Virtual Network ist. Extern bedeutet, dass die API Management Bereitstellung innerhalb einer Virtual Network eingerichtet ist, die über einen Endpunkt mit Internetzugriff verfügt, und Intern bedeutet, dass API Management die Bereitstellung wird in einem Virtual Network eingerichtet, der nur über einen Intranetendpunkt verfügt. "Extern"
"Intern"
"Keine"

AdditionalLocation

Name BESCHREIBUNG Wert
disableGateway Die Eigenschaft ist nur für einen Api Management-Dienst gültig, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway an diesem zusätzlichen Speicherort zu deaktivieren. bool
location Der Standortname der zusätzlichen Region unter den Azure-Rechenzentrumsregionen. Zeichenfolge (erforderlich)
natGatewayState Die -Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management-Dienst zu aktivieren. "Deaktiviert"
"Aktiviert"
publicIpAddressId Öffentliche Standard-SKU IP V4-basierte IP-Adresse, die Virtual Network bereitgestellten Dienst am Standort zugeordnet werden soll. Wird nur für Premium-SKU unterstützt, die in Virtual Network bereitgestellt wird. Zeichenfolge
sku SKU-Eigenschaften des API Management-Diensts. ApiManagementServiceSkuProperties (erforderlich)
virtualNetworkConfiguration Konfiguration des virtuellen Netzwerks für den Standort. VirtualNetworkConfiguration
Zonen Eine Liste der Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. string[]

ApiManagementServiceSkuProperties

Name BESCHREIBUNG Wert
Kapazität Kapazität der SKU (Anzahl der bereitgestellten Einheiten der SKU). Für Verbrauch muss die SKU-Kapazität als 0 angegeben werden. int (erforderlich)
name Name der SKU. "Basic"
"BasicV2"
"Verbrauch"
"Entwickler"
"Isoliert"
"Premium"
"Standard"
'StandardV2' (erforderlich)

VirtualNetworkConfiguration

Name BESCHREIBUNG Wert
subnetResourceId Die vollständige Ressourcen-ID eines Subnetzes in einem virtuellen Netzwerk, in dem der API Management Dienst bereitgestellt werden soll. Zeichenfolge

ApiVersionConstraint

Name BESCHREIBUNG Wert
minApiVersion Beschränken Sie die API-Aufrufe der Steuerungsebene an API Management Dienst, deren Version gleich oder höher ist. Zeichenfolge

CertificateConfiguration

Name BESCHREIBUNG Wert
Zertifikat Zertifikatinformationen. CertificateInformation
certificatePassword Zertifikatkennwort. Zeichenfolge
encodedCertificate Base64-codiertes Zertifikat. Zeichenfolge
storeName Der Zertifikatspeicherort System.Security.Cryptography.x509certificates.StoreName. Nur Root und CertificateAuthority sind gültige Speicherorte. "CertificateAuthority"
'Root' (erforderlich)

CertificateInformation

Name BESCHREIBUNG Wert
expiry Ablaufdatum des Zertifikats. Das Datum entspricht dem folgenden Format: yyyy-MM-ddTHH:mm:ssZ gemäß der ISO 8601-Norm. Zeichenfolge (erforderlich)
subject Betreff des Zertifikats. Zeichenfolge (erforderlich)
thumbprint Fingerabdruck des Zertifikats Zeichenfolge (erforderlich)

ConfigurationApi

Name BESCHREIBUNG Wert
legacyApi Gibt an, ob die Legacykonfigurations-API (v1) für den API Management-Dienst verfügbar gemacht werden soll. Der Wert ist optional, muss aber "Aktiviert" oder "Deaktiviert" sein. Wenn "Deaktiviert" ist die Legacykonfigurations-API (v1) nicht für selbstgehostete Gateways verfügbar. Der Standardwert ist "Enabled". "Deaktiviert"
"Aktiviert"

ApiManagementServiceBasePropertiesCustomProperties

Name BESCHREIBUNG Wert
{angepasste Eigenschaft} Zeichenfolge

HostnameConfiguration

Name BESCHREIBUNG Wert
Zertifikat Zertifikatinformationen. CertificateInformation
certificatePassword Zertifikatkennwort. Zeichenfolge
certificateSource Zertifikatquelle. "BuiltIn"
"Benutzerdefiniert"
'KeyVault'
"Verwaltet"
certificateStatus Zertifikatstatus. "Abgeschlossen"
"Fehler"
"InProgress"
defaultSslBinding Geben Sie true an, um das diesem Hostnamen zugeordnete Zertifikat als Standard-SSL-Zertifikat einzurichten. Wenn ein Client den SNI-Header nicht sendet, wird dies das Zertifikat sein, das angefragt wird. Die Eigenschaft ist nützlich, wenn für einen Dienst mehrere benutzerdefinierte Hostnamen aktiviert sind und er sich für das Standard-SSL-Zertifikat entscheiden muss. Die Einstellung wird nur auf den Hostnamentyp des Gateways angewendet. bool
encodedCertificate Base64-codiertes Zertifikat. Zeichenfolge
hostName Hostname, der für den Api Management-Dienst konfiguriert werden soll. Zeichenfolge (erforderlich)
identityClientId Client-Id für system- oder benutzerseitig zugewiesene verwaltete Identität, wie von Azure AD generiert, die GET-Zugriff auf den keyVault mit dem SSL-Zertifikat hat. Zeichenfolge
keyVaultId URL zum KeyVault-Geheimnis, das das SSL-Zertifikat enthält. Wenn absolute URL mit Version angegeben wird, funktioniert die automatische Aktualisierung des SSL-Zertifikats nicht. Dazu muss der Api Management-Dienst mit aka.ms/apimmsi konfiguriert werden. Das Geheimnis sollte vom Typ application/x-pkcs12 sein. Zeichenfolge
negotiateClientCertificate Geben Sie true an, um immer das Clientzertifikat für den Hostnamen auszuhandeln. Der Standardwert ist false. bool
Typ Hostnamentyp. 'ConfigurationApi'
"DeveloperPortal"
"Verwaltung"
"Portal"
"Proxy"
'Scm' (erforderlich)

RemotePrivateEndpointConnectionWrapper

Name BESCHREIBUNG Wert
id Verbindungsressourcen-ID des privaten Endpunkts Zeichenfolge
name Verbindungsname des privaten Endpunkts Zeichenfolge
properties Ressourceneigenschaften. PrivateEndpointConnectionWrapperProperties
Typ Ressourcentyp für private Endpunktverbindungen Zeichenfolge

PrivateEndpointConnectionWrapperProperties

Name BESCHREIBUNG Wert
privateEndpoint Die Ressource des privaten Endpunkts. ArmIdWrapper
privateLinkServiceConnectionState Eine Sammlung von Informationen über den Status der Verbindung zwischen dem Dienst consumer und dem Anbieter. PrivateLinkServiceConnectionState (erforderlich)

ArmIdWrapper

Dieses Objekt enthält keine Eigenschaften, die während der Bereitstellung festgelegt werden sollen. Alle Eigenschaften sind ReadOnly.

PrivateLinkServiceConnectionState

Name BESCHREIBUNG Wert
actionsRequired Eine Meldung, die angibt, ob Änderungen am Dienstanbieter Updates für den Consumer erfordern. Zeichenfolge
description Der Grund für die Genehmigung/Ablehnung der Verbindung. Zeichenfolge
status Gibt an, ob die Verbindung vom Besitzer des Diensts genehmigt/abgelehnt/entfernt wurde. "Genehmigt"
"Ausstehend"
'Rejected'

Schnellstartvorlagen

Diesen Ressourcentyp werden in den folgenden Schnellstartvorlagen bereitgestellt.

Vorlage BESCHREIBUNG
Erstellen einer API Management-Instanz und aller Unterressourcen mithilfe einer Vorlage

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie einen API Management Dienst erstellen und Unterentitäten konfigurieren.
Bereitstellen von API Management mit einem externen Azure Cache for Redis

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management in der Verbrauchsebene mit einem externen Azure Cache for Redis instance als API Management externen Cache erstellen.
Bereitstellen API Management im externen VNET mit öffentlicher IP-Adresse

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management im Subnetz Ihres virtuellen Netzwerks im externen Modus erstellen und empfohlene NSG-Regeln für das Subnetz konfigurieren. Die instance wird in zwei Verfügbarkeitszonen bereitgestellt. Die Vorlage konfiguriert auch eine öffentliche IP-Adresse aus Ihrem Abonnement.
Erstellen einer API Management instance mit benutzerdefinierten Hostnamen

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management mit benutzerdefiniertem Hostnamen für das Portal und mehreren benutzerdefinierten Hostnamen für den Proxy erstellen.
Erstellen API Management im internen VNET mit App Gateway

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management in einem privaten Netzwerk erstellen, das durch Azure Application Gateway geschützt wird.
Bereitstellen API Management im internen VNet mit öffentlicher IP-Adresse

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie im subnetz Ihres virtuellen Netzwerks im internen Modus eine instance von Azure API Management im Premium-Tarif erstellen und empfohlene NSG-Regeln für das Subnetz konfigurieren. Die instance wird in zwei Verfügbarkeitszonen bereitgestellt. Die Vorlage konfiguriert auch eine öffentliche IP-Adresse aus Ihrem Abonnement.
Erstellen eines API Management instance mit MSI-Identität

Bereitstellen in Azure
Mit dieser Vorlage wird eine Entwickler-instance von Azure API Management erstellt, die über eine MSI-Identität verfügt.
Erstellen eines Premium-Tarifs für mehrere Regionen API Management instance

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine API Management instance mit zusätzlichen Speicherorten erstellen. Der primäre Standort ist identisch mit dem Speicherort der Ressourcengruppe. Für zusätzliche Standorte zeigt die Vorlage NorthCentralUs und USA, Osten2 an. Der primäre Standort sollte sich von zusätzlichen Standorten unterscheiden.
Erstellen API Management mit benutzerdefiniertem Ssl-Proxy mithilfe von KeyVault

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management erstellen und einen benutzerdefinierten Hostnamen für einen Proxy mit SSL-Zertifikat aus keyvault konfigurieren.
Erstellen eines API Management-Diensts mit SSL aus KeyVault

Bereitstellen in Azure
Diese Vorlage stellt einen API Management-Dienst bereit, der mit benutzerseitig zugewiesener Identität konfiguriert ist. Diese Identität wird verwendet, um ein SSL-Zertifikat aus KeyVault abzurufen, und es wird aktualisiert, indem es alle 4 Stunden überprüft wird.
Erstellen und Überwachen von API Management instance

Bereitstellen in Azure
Diese Vorlage erstellt eine instance des Azure API Management-Diensts und des Log Analytics-Arbeitsbereichs und richtet die Überwachung für Ihren API Management-Dienst mit Log Analytics ein.
Erstellen eines API Management-Diensts mit einem privaten Endpunkt

Bereitstellen in Azure
Diese Vorlage erstellt einen API Management-Dienst, ein virtuelles Netzwerk und einen privaten Endpunkt, der den API Management-Dienst für das virtuelle Netzwerk verfügbar macht.
Bereitstellen von API Management in Verfügbarkeitszonen

Bereitstellen in Azure
Mit dieser Vorlage wird eine Premium-instance von Azure API Management erstellt und in einer Verfügbarkeitszone bereitgestellt.
Erstellen einer API Management-Instanz mithilfe einer Vorlage

Bereitstellen in Azure
Diese Vorlage erstellt eine Entwickler-instance von Azure API Management
Front Door Standard/Premium mit API Management Ursprung

Bereitstellen in Azure
Diese Vorlage erstellt eine Front Door Premium- und eine API Management instance und verwendet eine NSG- und globale API Management richtlinie, um zu überprüfen, ob Datenverkehr den Front Door-Ursprung erreicht hat.
Erstellen von Azure Front Door vor Azure API Management

Bereitstellen in Azure
In diesem Beispiel wird veranschaulicht, wie Sie Azure Front Door als globalen Lastenausgleich vor Azure API Management verwenden.
Application Gateway mit internen API Management und Web-App

Bereitstellen in Azure
Application Gateway Das Weiterleiten von Internetdatenverkehr an ein virtuelles Netzwerk (interner Modus) API Management instance, welche Dienste eine Web-API in einer Azure-Web-App hostet.

Ressourcendefinition mit einer ARM-Vorlage

Der Dienstressourcentyp kann mit Vorgängen bereitgestellt werden, die Folgendes zum Ziel haben:

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie im Änderungsprotokoll.

Ressourcenformat

Um eine Microsoft.ApiManagement/service-Ressource zu erstellen, fügen Sie der Vorlage den folgenden JSON-Code hinzu.

{
  "type": "Microsoft.ApiManagement/service",
  "apiVersion": "2023-05-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
    "{customized property}": "string"
  "sku": {
    "capacity": "int",
    "name": "string"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
        "clientId": "string",
        "principalId": "string"
      }
    }
  },
  "properties": {
    "additionalLocations": [
      {
        "disableGateway": "bool",
        "location": "string",
        "natGatewayState": "string",
        "publicIpAddressId": "string",
        "sku": {
          "capacity": "int",
          "name": "string"
        },
        "virtualNetworkConfiguration": {
          "subnetResourceId": "string"
        },
        "zones": [ "string" ]
      }
    ],
    "apiVersionConstraint": {
      "minApiVersion": "string"
    },
    "certificates": [
      {
        "certificate": {
          "expiry": "string",
          "subject": "string",
          "thumbprint": "string"
        },
        "certificatePassword": "string",
        "encodedCertificate": "string",
        "storeName": "string"
      }
    ],
    "configurationApi": {
      "legacyApi": "string"
    },
    "customProperties": {
      "{customized property}": "string"
    },
    "developerPortalStatus": "string",
    "disableGateway": "bool",
    "enableClientCertificate": "bool",
    "hostnameConfigurations": [
      {
        "certificate": {
          "expiry": "string",
          "subject": "string",
          "thumbprint": "string"
        },
        "certificatePassword": "string",
        "certificateSource": "string",
        "certificateStatus": "string",
        "defaultSslBinding": "bool",
        "encodedCertificate": "string",
        "hostName": "string",
        "identityClientId": "string",
        "keyVaultId": "string",
        "negotiateClientCertificate": "bool",
        "type": "string"
      }
    ],
    "legacyPortalStatus": "string",
    "natGatewayState": "string",
    "notificationSenderEmail": "string",
    "privateEndpointConnections": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "privateEndpoint": {},
          "privateLinkServiceConnectionState": {
            "actionsRequired": "string",
            "description": "string",
            "status": "string"
          }
        },
        "type": "string"
      }
    ],
    "publicIpAddressId": "string",
    "publicNetworkAccess": "string",
    "publisherEmail": "string",
    "publisherName": "string",
    "restore": "bool",
    "virtualNetworkConfiguration": {
      "subnetResourceId": "string"
    },
    "virtualNetworkType": "string"
  },
  "zones": [ "string" ]
}

Eigenschaftswerte

Dienst

Name BESCHREIBUNG Wert
type Der Ressourcentyp "Microsoft.ApiManagement/service"
apiVersion Die Version der Ressourcen-API "2023-05-01-preview"
name Der Ressourcenname Zeichenfolge (erforderlich)

Zeichenlimit: 1-50

Gültige Zeichen:
Alphanumerische Zeichen und Bindestriche.

Muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden.

Der Ressourcenname muss in Azure eindeutig sein.
location Ressourcenspeicherort Zeichenfolge (erforderlich)
tags Ressourcentags. Wörterbuch der Tagnamen und -werte. Weitere Informationen finden Sie unter Tags in Vorlagen.
sku SKU-Eigenschaften des API Management-Diensts. ApiManagementServiceSkuProperties (erforderlich)
Identität Verwaltete Dienstidentität des Api Management-Diensts. ApiManagementServiceIdentity
properties Eigenschaften des API Management-Diensts. ApiManagementServiceProperties (erforderlich)
Zonen Eine Liste der Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. string[]

ApiManagementServiceIdentity

Name BESCHREIBUNG Wert
type Der Identitätstyp, der für die Ressource verwendet wird. Der Typ „SystemAssigned, UserAssigned“ umfasst sowohl eine implizit erstellte Identität als auch einen Satz von Benutzern zugewiesener Identitäten. Der Typ "None" entfernt alle Identitäten aus dem Dienst. "Keine"
"SystemAssigned"
"SystemAssigned, UserAssigned"
"UserAssigned" (erforderlich)
userAssignedIdentities Die Liste der Benutzeridentitäten, die der Ressource zugeordnet sind. Die Benutzeridentität
Wörterbuchschlüsselverweise sind ARM-Ressourcen-IDs in der Form:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
ApiManagementServiceIdentityUserAssignedIdentities

ApiManagementServiceIdentityUserAssignedIdentities

Name BESCHREIBUNG Wert
{angepasste Eigenschaft} UserIdentityProperties

UserIdentityProperties

Name BESCHREIBUNG Wert
clientId Die Client-ID der benutzerseitig zugewiesenen Identität. Zeichenfolge
principalId Die Prinzipal-ID der benutzerseitig zugewiesenen Identität. Zeichenfolge

ApiManagementServiceProperties

Name BESCHREIBUNG Wert
additionalLocations Zusätzliche Rechenzentrumsstandorte des API Management-Diensts. AdditionalLocation[]
apiVersionConstraint Apis-Versionseinschränkung der Steuerungsebene für den API Management-Dienst. ApiVersionConstraint
certificates Liste der Zertifikate, die im API Management-Dienst installiert werden müssen. Die maximale Anzahl von unterstützten Zertifikaten, die installiert werden können, beträgt 10. CertificateConfiguration[]
configurationApi Konfigurations-API-Konfiguration des API Management-Diensts. ConfigurationApi
customProperties Benutzerdefinierte Eigenschaften des API Management-Diensts.
Durch die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 wird die Verschlüsselung TLS_RSA_WITH_3DES_EDE_CBC_SHA für alle TLS(1.0, 1.1 und 1.2) deaktiviert.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für einen API Management-Dienst zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 für die Kommunikation mit Back-Ends zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für die Kommunikation mit Back-Ends zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 kann verwendet werden, um das HTTP2-Protokoll für einen API Management-Dienst zu aktivieren.
Wenn Sie keine dieser Eigenschaften im PATCH-Vorgang angeben, werden die Werte ausgelassener Eigenschaften auf ihre Standardwerte zurückgesetzt. Für alle Einstellungen mit Ausnahme von Http2 ist True der Standardwert, wenn der Dienst am oder vor dem 1. April 2018 erstellt wurde und False andernfalls. Der Standardwert der Http2-Einstellung ist False.

Sie können eine der folgenden Verschlüsselungen mithilfe der Einstellungen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]deaktivieren: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. Beispiel Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256: :false. Der Standardwert ist true für sie.
Hinweis: Die folgenden Verschlüsselungen können nicht deaktiviert werden, da sie von internen Plattformkomponenten benötigt werden: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
ApiManagementServiceBasePropertiesCustomProperties
developerPortalStatus Status des Entwicklerportals in diesem API Management Dienst. "Deaktiviert"
"Aktiviert"
disableGateway Die Eigenschaft gilt nur für einen Api Management-Dienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway in master Region zu deaktivieren. bool
enableClientCertificate Eigenschaft, die nur für den Verbrauchs-SKU-Dienst verwendet werden soll. Dadurch wird ein Clientzertifikat erzwungen, das bei jeder Anforderung an das Gateway angezeigt wird. Dies ermöglicht auch die Authentifizierung des Zertifikats in der Richtlinie auf dem Gateway. bool
hostnameConfigurations Konfiguration des benutzerdefinierten Hostnamens des API Management-Diensts. HostnameConfiguration[]
legacyPortalStatus Status des Legacyportals im API Management-Dienst. "Deaktiviert"
"Aktiviert"
natGatewayState Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren. "Deaktiviert"
"Aktiviert"
notificationSenderEmail Email Adresse, von der die Benachrichtigung gesendet wird. Zeichenfolge
privateEndpointConnections. Liste der Privaten Endpunktverbindungen dieses Diensts. RemotePrivateEndpointConnectionWrapper[]
publicIpAddressId Öffentliche Standard-SKU-IP-V4-basierte IP-Adresse, die Virtual Network bereitgestellten Dienst in der Region zugeordnet werden soll. Wird nur für Entwickler- und Premium-SKU unterstützt, die in Virtual Network bereitgestellt werden. Zeichenfolge
publicNetworkAccess Gibt an, ob für diesen API Management Dienst der Zugriff auf öffentliche Endpunkte zulässig ist oder nicht. Der Wert ist optional, muss aber bei Übergabe "Aktiviert" oder "Deaktiviert" sein. Bei "Deaktiviert" sind private Endpunkte die exklusive Zugriffsmethode. Der Standardwert ist "Aktiviert". "Deaktiviert"
"Aktiviert"
publisherEmail Herausgeber-E-Mail. Zeichenfolge (erforderlich)
publisherName Name des Herausgebers. Zeichenfolge (erforderlich)
Wiederherstellen Wiederherstellen des Api Management-Diensts, wenn er zuvor vorläufig gelöscht wurde. Wenn dieses Flag angegeben und auf True festgelegt ist, werden alle anderen Eigenschaften ignoriert. bool
virtualNetworkConfiguration Virtuelle Netzwerkkonfiguration des API Management-Diensts. VirtualNetworkConfiguration
virtualNetworkType Der VPN-Typ, in dem API Management Dienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API Management-Dienst nicht Teil eines Virtual Network ist. Extern bedeutet, dass die API Management Bereitstellung innerhalb eines Virtual Network mit einem Endpunkt mit Internetzugriff eingerichtet ist, und Intern bedeutet, dass API Management Die Bereitstellung wird in einer Virtual Network eingerichtet, die nur einen intranetorientierten Endpunkt aufweist. "Extern"
"Intern"
"Keine"

AdditionalLocation

Name BESCHREIBUNG Wert
disableGateway Die Eigenschaft gilt nur für einen Api Management-Dienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway an diesem zusätzlichen Speicherort zu deaktivieren. bool
location Der Standortname der zusätzlichen Region unter Den Azure-Rechenzentrumsregionen. Zeichenfolge (erforderlich)
natGatewayState Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren. "Deaktiviert"
"Aktiviert"
publicIpAddressId Öffentliche Standard-SKU-IP-V4-basierte IP-Adresse, die Virtual Network bereitgestellten Diensts am Standort zugeordnet werden soll. Wird nur für premium-SKU unterstützt, die in Virtual Network bereitgestellt wird. Zeichenfolge
sku SKU-Eigenschaften des API Management-Diensts. ApiManagementServiceSkuProperties (erforderlich)
virtualNetworkConfiguration Virtuelle Netzwerkkonfiguration für den Standort. VirtualNetworkConfiguration
Zonen Eine Liste von Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. string[]

ApiManagementServiceSkuProperties

Name BESCHREIBUNG Wert
Kapazität Kapazität der SKU (Anzahl der bereitgestellten Einheiten der SKU). Für Verbrauch muss die SKU-Kapazität als 0 angegeben werden. int (erforderlich)
name Name der Sku. "Basic"
'BasicV2'
"Verbrauch"
"Entwickler"
"Isoliert"
"Premium"
"Standard"
"StandardV2" (erforderlich)

VirtualNetworkConfiguration

Name BESCHREIBUNG Wert
subnetResourceId Die vollständige Ressourcen-ID eines Subnetzes in einem virtuellen Netzwerk zum Bereitstellen des API Management Diensts. Zeichenfolge

ApiVersionConstraint

Name BESCHREIBUNG Wert
minApiVersion Beschränken Sie API-Aufrufe der Steuerungsebene für API Management Dienst, deren Version gleich oder höher ist als dieser Wert. Zeichenfolge

CertificateConfiguration

Name BESCHREIBUNG Wert
Zertifikat Zertifikatinformationen. CertificateInformation
certificatePassword Zertifikatkennwort. Zeichenfolge
encodedCertificate Base64-codiertes Zertifikat. Zeichenfolge
storeName Der Zertifikatspeicherspeicherort System.Security.Cryptography.x509certificates.StoreName. Nur Root und CertificateAuthority sind gültige Speicherorte. "CertificateAuthority"
'Root' (erforderlich)

CertificateInformation

Name BESCHREIBUNG Wert
expiry Ablaufdatum des Zertifikats. Das Datum entspricht dem folgenden Format: yyyy-MM-ddTHH:mm:ssZ gemäß der ISO 8601-Norm. Zeichenfolge (erforderlich)
subject Antragsteller des Zertifikats. Zeichenfolge (erforderlich)
thumbprint Fingerabdruck des Zertifikats Zeichenfolge (erforderlich)

ConfigurationApi

Name BESCHREIBUNG Wert
legacyApi Gibt an, ob die Legacykonfigurations-API (v1) für den API Management-Dienst verfügbar gemacht werden soll. Der Wert ist optional, muss aber "Aktiviert" oder "Deaktiviert" sein. Wenn "Deaktiviert" ist die Legacykonfigurations-API (v1) für selbstgehostete Gateways nicht verfügbar. Der Standardwert ist "Aktiviert". "Deaktiviert"
"Aktiviert"

ApiManagementServiceBasePropertiesCustomProperties

Name BESCHREIBUNG Wert
{angepasste Eigenschaft} Zeichenfolge

HostnameConfiguration

Name BESCHREIBUNG Wert
Zertifikat Zertifikatinformationen. CertificateInformation
certificatePassword Zertifikatkennwort. Zeichenfolge
certificateSource Zertifikatquelle. "BuiltIn"
"Benutzerdefiniert"
'KeyVault'
"Verwaltet"
certificateStatus Zertifikatstatus. "Abgeschlossen"
"Fehler"
"InProgress"
defaultSslBinding Geben Sie true an, um das diesem Hostnamen zugeordnete Zertifikat als Standard-SSL-Zertifikat einzurichten. Wenn ein Client den SNI-Header nicht sendet, wird dies das Zertifikat sein, das angefragt wird. Die Eigenschaft ist nützlich, wenn für einen Dienst mehrere benutzerdefinierte Hostnamen aktiviert sind und er sich für das Standard-SSL-Zertifikat entscheiden muss. Die Einstellung wird nur auf den Hostnamentyp des Gateways angewendet. bool
encodedCertificate Base64-codiertes Zertifikat. Zeichenfolge
hostName Hostname, der für den Api Management-Dienst konfiguriert werden soll. Zeichenfolge (erforderlich)
identityClientId Client-Id für system- oder benutzerseitig zugewiesene verwaltete Identität, wie von Azure AD generiert, die GET-Zugriff auf den keyVault mit dem SSL-Zertifikat hat. Zeichenfolge
keyVaultId URL zum KeyVault-Geheimnis, das das SSL-Zertifikat enthält. Wenn absolute URL mit Version angegeben wird, funktioniert die automatische Aktualisierung des SSL-Zertifikats nicht. Dazu muss der Api Management-Dienst mit aka.ms/apimmsi konfiguriert werden. Das Geheimnis sollte vom Typ application/x-pkcs12 sein. Zeichenfolge
negotiateClientCertificate Geben Sie true an, um immer das Clientzertifikat für den Hostnamen auszuhandeln. Der Standardwert ist false. bool
Typ Hostnamentyp. 'ConfigurationApi'
"DeveloperPortal"
"Verwaltung"
"Portal"
"Proxy"
'Scm' (erforderlich)

RemotePrivateEndpointConnectionWrapper

Name BESCHREIBUNG Wert
id Verbindungsressourcen-ID des privaten Endpunkts Zeichenfolge
name Verbindungsname des privaten Endpunkts Zeichenfolge
properties Ressourceneigenschaften. PrivateEndpointConnectionWrapperProperties
Typ Ressourcentyp für private Endpunktverbindungen Zeichenfolge

PrivateEndpointConnectionWrapperProperties

Name BESCHREIBUNG Wert
privateEndpoint Die Ressource des privaten Endpunkts. ArmIdWrapper
privateLinkServiceConnectionState Eine Sammlung von Informationen über den Verbindungsstatus zwischen Dienstconsumer und Anbieter. PrivateLinkServiceConnectionState (erforderlich)

ArmIdWrapper

Dieses Objekt enthält keine Eigenschaften, die während der Bereitstellung festgelegt werden sollen. Alle Eigenschaften sind ReadOnly.

PrivateLinkServiceConnectionState

Name BESCHREIBUNG Wert
actionsRequired Eine Meldung, die angibt, ob Änderungen am Dienstanbieter Updates für den Consumer erfordern. Zeichenfolge
description Der Grund für die Genehmigung/Ablehnung der Verbindung. Zeichenfolge
status Gibt an, ob die Verbindung vom Besitzer des Diensts genehmigt/abgelehnt/entfernt wurde. "Genehmigt"
"Ausstehend"
'Rejected'

Schnellstartvorlagen

In den folgenden Schnellstartvorlagen wird dieser Ressourcentyp bereitgestellt.

Vorlage BESCHREIBUNG
Erstellen einer API Management-Instanz und aller Unterressourcen mithilfe einer Vorlage

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie einen API Management-Dienst erstellen und Untergeordnetetitäten konfigurieren.
Bereitstellen von API Management mit einem externen Azure Cache for Redis

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management auf der Verbrauchsebene mit einem externen Azure Cache for Redis instance als API Management externen Cache erstellen.
Bereitstellen API Management im externen VNet mit öffentlicher IP-Adresse

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie im subnetz Ihres virtuellen Netzwerks im externen Modus eine instance von Azure API Management im Premium-Tarif erstellen und empfohlene NSG-Regeln für das Subnetz konfigurieren. Die instance wird in zwei Verfügbarkeitszonen bereitgestellt. Die Vorlage konfiguriert auch eine öffentliche IP-Adresse aus Ihrem Abonnement.
Erstellen einer API Management instance mit benutzerdefinierten Hostnamen

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management mit benutzerdefiniertem Hostnamen für das Portal und mehreren benutzerdefinierten Hostnamen für den Proxy erstellen.
Erstellen API Management im internen VNET mit App Gateway

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management in einem privaten Netzwerk erstellen, das durch Azure Application Gateway geschützt wird.
Bereitstellen API Management im internen VNet mit öffentlicher IP-Adresse

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie im subnetz Ihres virtuellen Netzwerks im internen Modus eine instance von Azure API Management im Premium-Tarif erstellen und empfohlene NSG-Regeln für das Subnetz konfigurieren. Die instance wird in zwei Verfügbarkeitszonen bereitgestellt. Die Vorlage konfiguriert auch eine öffentliche IP-Adresse aus Ihrem Abonnement.
Erstellen eines API Management instance mit MSI-Identität

Bereitstellen in Azure
Mit dieser Vorlage wird eine Entwickler-instance von Azure API Management erstellt, die über eine MSI-Identität verfügt.
Erstellen eines Premium-Tarifs für mehrere Regionen API Management instance

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine API Management instance mit zusätzlichen Speicherorten erstellen. Der primäre Standort ist identisch mit dem Speicherort der Ressourcengruppe. Für zusätzliche Standorte zeigt die Vorlage NorthCentralUs und USA, Osten2 an. Der primäre Standort sollte sich von zusätzlichen Standorten unterscheiden.
Erstellen API Management mit benutzerdefiniertem Ssl-Proxy mithilfe von KeyVault

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management erstellen und einen benutzerdefinierten Hostnamen für einen Proxy mit SSL-Zertifikat aus keyvault konfigurieren.
Erstellen eines API Management-Diensts mit SSL aus KeyVault

Bereitstellen in Azure
Diese Vorlage stellt einen API Management-Dienst bereit, der mit benutzerseitig zugewiesener Identität konfiguriert ist. Diese Identität wird verwendet, um ein SSL-Zertifikat aus KeyVault abzurufen, und es wird aktualisiert, indem es alle 4 Stunden überprüft wird.
Erstellen und Überwachen von API Management instance

Bereitstellen in Azure
Diese Vorlage erstellt eine instance des Azure API Management-Diensts und des Log Analytics-Arbeitsbereichs und richtet die Überwachung für Ihren API Management-Dienst mit Log Analytics ein.
Erstellen eines API Management-Diensts mit einem privaten Endpunkt

Bereitstellen in Azure
Diese Vorlage erstellt einen API Management-Dienst, ein virtuelles Netzwerk und einen privaten Endpunkt, der den API Management-Dienst für das virtuelle Netzwerk verfügbar macht.
Bereitstellen von API Management in Verfügbarkeitszonen

Bereitstellen in Azure
Mit dieser Vorlage wird eine Premium-instance von Azure API Management erstellt und in einer Verfügbarkeitszone bereitgestellt.
Erstellen einer API Management-Instanz mithilfe einer Vorlage

Bereitstellen in Azure
Diese Vorlage erstellt eine Entwickler-instance von Azure API Management
Front Door Standard/Premium mit API Management Ursprung

Bereitstellen in Azure
Diese Vorlage erstellt eine Front Door Premium- und eine API Management instance und verwendet eine NSG- und globale API Management richtlinie, um zu überprüfen, ob Datenverkehr den Front Door-Ursprung erreicht hat.
Erstellen von Azure Front Door vor Azure API Management

Bereitstellen in Azure
In diesem Beispiel wird veranschaulicht, wie Sie Azure Front Door als globalen Lastenausgleich vor Azure API Management verwenden.
Application Gateway mit internen API Management und Web-App

Bereitstellen in Azure
Application Gateway Das Weiterleiten von Internetdatenverkehr an ein virtuelles Netzwerk (interner Modus) API Management instance, welche Dienste eine Web-API in einer Azure-Web-App hostet.

Terraform-Ressourcendefinition (AzAPI-Anbieter)

Der Dienstressourcentyp kann mit Vorgängen bereitgestellt werden, die Folgendes zum Ziel haben:

  • Ressourcengruppen

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie im Änderungsprotokoll.

Ressourcenformat

Um eine Microsoft.ApiManagement/service-Ressource zu erstellen, fügen Sie Der Vorlage den folgenden Terraform hinzu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ApiManagement/service@2023-05-01-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
    {customized property} = "string"
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      additionalLocations = [
        {
          disableGateway = bool
          location = "string"
          natGatewayState = "string"
          publicIpAddressId = "string"
          sku = {
            capacity = int
            name = "string"
          }
          virtualNetworkConfiguration = {
            subnetResourceId = "string"
          }
          zones = [
            "string"
          ]
        }
      ]
      apiVersionConstraint = {
        minApiVersion = "string"
      }
      certificates = [
        {
          certificate = {
            expiry = "string"
            subject = "string"
            thumbprint = "string"
          }
          certificatePassword = "string"
          encodedCertificate = "string"
          storeName = "string"
        }
      ]
      configurationApi = {
        legacyApi = "string"
      }
      customProperties = {
        {customized property} = "string"
      }
      developerPortalStatus = "string"
      disableGateway = bool
      enableClientCertificate = bool
      hostnameConfigurations = [
        {
          certificate = {
            expiry = "string"
            subject = "string"
            thumbprint = "string"
          }
          certificatePassword = "string"
          certificateSource = "string"
          certificateStatus = "string"
          defaultSslBinding = bool
          encodedCertificate = "string"
          hostName = "string"
          identityClientId = "string"
          keyVaultId = "string"
          negotiateClientCertificate = bool
          type = "string"
        }
      ]
      legacyPortalStatus = "string"
      natGatewayState = "string"
      notificationSenderEmail = "string"
      privateEndpointConnections = [
        {
          id = "string"
          name = "string"
          properties = {
            privateEndpoint = {}
            privateLinkServiceConnectionState = {
              actionsRequired = "string"
              description = "string"
              status = "string"
            }
          }
          type = "string"
        }
      ]
      publicIpAddressId = "string"
      publicNetworkAccess = "string"
      publisherEmail = "string"
      publisherName = "string"
      restore = bool
      virtualNetworkConfiguration = {
        subnetResourceId = "string"
      }
      virtualNetworkType = "string"
    }
    zones = [
      "string"
    ]
    sku = {
      capacity = int
      name = "string"
    }
  })
}

Eigenschaftswerte

Dienst

Name BESCHREIBUNG Wert
type Der Ressourcentyp "Microsoft.ApiManagement/service@2023-05-01-preview"
name Der Ressourcenname Zeichenfolge (erforderlich)

Zeichenlimit: 1-50

Gültige Zeichen:
Alphanumerische Zeichen und Bindestriche.

Muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden.

Der Ressourcenname muss in Azure eindeutig sein.
location Ressourcenspeicherort Zeichenfolge (erforderlich)
parent_id Verwenden Sie zum Bereitstellen in einer Ressourcengruppe die ID dieser Ressourcengruppe. Zeichenfolge (erforderlich)
tags Ressourcentags. Wörterbuch der Tagnamen und -werte.
sku SKU-Eigenschaften des API Management-Diensts. ApiManagementServiceSkuProperties (erforderlich)
Identität Verwaltete Dienstidentität des Api Management-Diensts. ApiManagementServiceIdentity
properties Eigenschaften des API Management-Diensts. ApiManagementServiceProperties (erforderlich)
Zonen Eine Liste der Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. string[]

ApiManagementServiceIdentity

Name BESCHREIBUNG Wert
type Der Identitätstyp, der für die Ressource verwendet wird. Der Typ „SystemAssigned, UserAssigned“ umfasst sowohl eine implizit erstellte Identität als auch einen Satz von Benutzern zugewiesener Identitäten. Der Typ "None" entfernt alle Identitäten aus dem Dienst. "SystemAssigned"
"SystemAssigned, UserAssigned"
"UserAssigned" (erforderlich)
identity_ids Die Liste der Benutzeridentitäten, die der Ressource zugeordnet sind. Die Benutzeridentität
Wörterbuchschlüsselverweise sind ARM-Ressourcen-IDs im Format:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
Array von Benutzeridentitäts-IDs.

ApiManagementServiceIdentityUserAssignedIdentities

Name BESCHREIBUNG Wert
{angepasste Eigenschaft} UserIdentityProperties

UserIdentityProperties

Name BESCHREIBUNG Wert
clientId Die Client-ID der vom Benutzer zugewiesenen Identität. Zeichenfolge
principalId Die Prinzipal-ID der vom Benutzer zugewiesenen Identität. Zeichenfolge

ApiManagementServiceProperties

Name BESCHREIBUNG Wert
additionalLocations Zusätzliche Rechenzentrumsstandorte des API Management-Diensts. AdditionalLocation[]
apiVersionConstraint Versionseinschränkung der Steuerungsebenen-API für den API Management-Dienst. ApiVersionConstraint
certificates Liste der Zertifikate, die im API Management-Dienst installiert werden müssen. Die maximale Anzahl von unterstützten Zertifikaten, die installiert werden können, beträgt 10. CertificateConfiguration[]
configurationApi Konfigurations-API-Konfiguration des API Management-Diensts. ConfigurationApi
customProperties Benutzerdefinierte Eigenschaften des API Management-Diensts.
Durch die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 wird die verschlüsselungs-TLS_RSA_WITH_3DES_EDE_CBC_SHA für alle TLS(1.0, 1.1 und 1.2) deaktiviert.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für einen API Management-Dienst zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 für die Kommunikation mit Back-Ends zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für die Kommunikation mit Back-Ends zu deaktivieren.
Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 kann verwendet werden, um das HTTP2-Protokoll für einen API Management-Dienst zu aktivieren.
Wenn Sie keine dieser Eigenschaften beim PATCH-Vorgang angeben, werden die Werte der ausgelassenen Eigenschaften auf die Standardwerte zurückgesetzt. Für alle Einstellungen mit Ausnahme von Http2 ist True der Standardwert, wenn der Dienst am oder vor dem 1. April 2018 erstellt wurde und False andernfalls. Der Standardwert der Http2-Einstellung ist False.

Sie können jede der folgenden Verschlüsselungen mithilfe von Einstellungen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]deaktivieren: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. Beispiel Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256: :false. Der Standardwert ist true für sie.
Hinweis: Die folgenden Verschlüsselungen können nicht deaktiviert werden, da sie für interne Plattformkomponenten erforderlich sind: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
ApiManagementServiceBasePropertiesCustomProperties
developerPortalStatus Status des Entwicklerportals in diesem API Management Dienst. "Deaktiviert"
"Aktiviert"
disableGateway Die Eigenschaft gilt nur für einen Api Management-Dienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway in master Region zu deaktivieren. bool
enableClientCertificate Eigenschaft, die nur für den Verbrauchs-SKU-Dienst verwendet werden soll. Dadurch wird ein Clientzertifikat erzwungen, das bei jeder Anforderung an das Gateway angezeigt wird. Dies ermöglicht auch die Authentifizierung des Zertifikats in der Richtlinie auf dem Gateway. bool
hostnameConfigurations Konfiguration des benutzerdefinierten Hostnamens des API Management-Diensts. HostnameConfiguration[]
legacyPortalStatus Status des Legacyportals im API Management-Dienst. "Deaktiviert"
"Aktiviert"
natGatewayState Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren. "Deaktiviert"
"Aktiviert"
notificationSenderEmail Email Adresse, von der die Benachrichtigung gesendet wird. Zeichenfolge
privateEndpointConnections. Liste der Privaten Endpunktverbindungen dieses Diensts. RemotePrivateEndpointConnectionWrapper[]
publicIpAddressId Öffentliche Standard-SKU-IP-V4-basierte IP-Adresse, die Virtual Network bereitgestellten Dienst in der Region zugeordnet werden soll. Wird nur für Entwickler- und Premium-SKU unterstützt, die in Virtual Network bereitgestellt werden. Zeichenfolge
publicNetworkAccess Gibt an, ob für diesen API Management Dienst der Zugriff auf öffentliche Endpunkte zulässig ist oder nicht. Der Wert ist optional, muss aber bei Übergabe "Aktiviert" oder "Deaktiviert" sein. Bei "Deaktiviert" sind private Endpunkte die exklusive Zugriffsmethode. Der Standardwert ist "Aktiviert". "Deaktiviert"
"Aktiviert"
publisherEmail Herausgeber-E-Mail. Zeichenfolge (erforderlich)
publisherName Name des Herausgebers. Zeichenfolge (erforderlich)
Wiederherstellen Wiederherstellen des Api Management-Diensts, wenn er zuvor vorläufig gelöscht wurde. Wenn dieses Flag angegeben und auf True festgelegt ist, werden alle anderen Eigenschaften ignoriert. bool
virtualNetworkConfiguration Virtuelle Netzwerkkonfiguration des API Management-Diensts. VirtualNetworkConfiguration
virtualNetworkType Der VPN-Typ, in dem API Management Dienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API Management-Dienst nicht Teil eines Virtual Network ist. Extern bedeutet, dass die API Management Bereitstellung innerhalb eines Virtual Network mit einem Endpunkt mit Internetzugriff eingerichtet ist, und Intern bedeutet, dass API Management Die Bereitstellung wird in einer Virtual Network eingerichtet, die nur einen intranetorientierten Endpunkt aufweist. "Extern"
"Intern"
"None"

AdditionalLocation

Name BESCHREIBUNG Wert
disableGateway Die Eigenschaft gilt nur für einen Api Management-Dienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway an diesem zusätzlichen Speicherort zu deaktivieren. bool
location Der Standortname der zusätzlichen Region unter Den Azure-Rechenzentrumsregionen. Zeichenfolge (erforderlich)
natGatewayState Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren. "Deaktiviert"
"Aktiviert"
publicIpAddressId Öffentliche Standard-SKU-IP-V4-basierte IP-Adresse, die Virtual Network bereitgestellten Diensts am Standort zugeordnet werden soll. Wird nur für premium-SKU unterstützt, die in Virtual Network bereitgestellt wird. Zeichenfolge
sku SKU-Eigenschaften des API Management-Diensts. ApiManagementServiceSkuProperties (erforderlich)
virtualNetworkConfiguration Virtuelle Netzwerkkonfiguration für den Standort. VirtualNetworkConfiguration
Zonen Eine Liste von Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. string[]

ApiManagementServiceSkuProperties

Name BESCHREIBUNG Wert
Kapazität Kapazität der SKU (Anzahl der bereitgestellten Einheiten der SKU). Für Verbrauch muss die SKU-Kapazität als 0 angegeben werden. int (erforderlich)
name Name der Sku. „Basic“
"BasicV2"
"Verbrauch"
"Entwickler"
"Isoliert"
"Premium"
„Standard“
"StandardV2" (erforderlich)

VirtualNetworkConfiguration

Name BESCHREIBUNG Wert
subnetResourceId Die vollständige Ressourcen-ID eines Subnetzes in einem virtuellen Netzwerk zum Bereitstellen des API Management Diensts. Zeichenfolge

ApiVersionConstraint

Name BESCHREIBUNG Wert
minApiVersion Beschränken Sie API-Aufrufe der Steuerungsebene für API Management Dienst, deren Version gleich oder höher ist als dieser Wert. Zeichenfolge

CertificateConfiguration

Name BESCHREIBUNG Wert
Zertifikat Zertifikatinformationen. CertificateInformation
certificatePassword Zertifikatkennwort. Zeichenfolge
encodedCertificate Base64-codiertes Zertifikat. Zeichenfolge
storeName Der Zertifikatspeicherspeicherort System.Security.Cryptography.x509certificates.StoreName. Nur Root und CertificateAuthority sind gültige Speicherorte. "CertificateAuthority"
"Root" (erforderlich)

CertificateInformation

Name BESCHREIBUNG Wert
expiry Ablaufdatum des Zertifikats. Das Datum entspricht dem folgenden Format: yyyy-MM-ddTHH:mm:ssZ gemäß der ISO 8601-Norm. Zeichenfolge (erforderlich)
subject Antragsteller des Zertifikats. Zeichenfolge (erforderlich)
thumbprint Fingerabdruck des Zertifikats Zeichenfolge (erforderlich)

ConfigurationApi

Name BESCHREIBUNG Wert
legacyApi Gibt an, ob die Legacykonfigurations-API (v1) für den API Management-Dienst verfügbar gemacht werden soll. Der Wert ist optional, muss aber "Aktiviert" oder "Deaktiviert" sein. Wenn "Deaktiviert" ist die Legacykonfigurations-API (v1) für selbstgehostete Gateways nicht verfügbar. Der Standardwert ist "Aktiviert". "Deaktiviert"
"Aktiviert"

ApiManagementServiceBasePropertiesCustomProperties

Name BESCHREIBUNG Wert
{angepasste Eigenschaft} Zeichenfolge

HostnameConfiguration

Name BESCHREIBUNG Wert
Zertifikat Zertifikatinformationen. CertificateInformation
certificatePassword Zertifikatkennwort. Zeichenfolge
certificateSource Zertifikatquelle. "BuiltIn"
"Custom"
"KeyVault"
"Verwaltet"
certificateStatus Zertifikatstatus. "Abgeschlossen"
"Fehler"
"InProgress"
defaultSslBinding Geben Sie true an, um das diesem Hostnamen zugeordnete Zertifikat als Standard-SSL-Zertifikat einzurichten. Wenn ein Client den SNI-Header nicht sendet, wird dies das Zertifikat sein, das angefragt wird. Die Eigenschaft ist nützlich, wenn für einen Dienst mehrere benutzerdefinierte Hostnamen aktiviert sind und er sich für das Standard-SSL-Zertifikat entscheiden muss. Die Einstellung wird nur auf den Hostnamentyp des Gateways angewendet. bool
encodedCertificate Base64-codiertes Zertifikat. Zeichenfolge
hostName Hostname, der für den Api Management-Dienst konfiguriert werden soll. Zeichenfolge (erforderlich)
identityClientId Client-Id für system- oder benutzerseitig zugewiesene verwaltete Identität, wie von Azure AD generiert, die GET-Zugriff auf den keyVault mit dem SSL-Zertifikat hat. Zeichenfolge
keyVaultId URL zum KeyVault-Geheimnis, das das SSL-Zertifikat enthält. Wenn absolute URL mit Version angegeben wird, funktioniert die automatische Aktualisierung des SSL-Zertifikats nicht. Dazu muss der Api Management-Dienst mit aka.ms/apimmsi konfiguriert werden. Das Geheimnis sollte vom Typ application/x-pkcs12 sein. Zeichenfolge
negotiateClientCertificate Geben Sie true an, um immer das Clientzertifikat für den Hostnamen auszuhandeln. Der Standardwert ist false. bool
Typ Hostnamentyp. "ConfigurationApi"
"DeveloperPortal"
"Verwaltung"
"Portal"
"Proxy"
"Scm" (erforderlich)

RemotePrivateEndpointConnectionWrapper

Name BESCHREIBUNG Wert
id Verbindungsressourcen-ID des privaten Endpunkts Zeichenfolge
name Verbindungsname des privaten Endpunkts Zeichenfolge
properties Ressourceneigenschaften. PrivateEndpointConnectionWrapperProperties
Typ Ressourcentyp für private Endpunktverbindungen Zeichenfolge

PrivateEndpointConnectionWrapperProperties

Name BESCHREIBUNG Wert
privateEndpoint Die Ressource des privaten Endpunkts. ArmIdWrapper
privateLinkServiceConnectionState Eine Sammlung von Informationen über den Status der Verbindung zwischen dem Dienst consumer und dem Anbieter. PrivateLinkServiceConnectionState (erforderlich)

ArmIdWrapper

Dieses Objekt enthält keine Eigenschaften, die während der Bereitstellung festgelegt werden sollen. Alle Eigenschaften sind ReadOnly.

PrivateLinkServiceConnectionState

Name BESCHREIBUNG Wert
actionsRequired Eine Meldung, die angibt, ob Änderungen am Dienstanbieter Updates für den Consumer erfordern. Zeichenfolge
description Der Grund für die Genehmigung/Ablehnung der Verbindung. Zeichenfolge
status Gibt an, ob die Verbindung vom Besitzer des Diensts genehmigt/abgelehnt/entfernt wurde. "Genehmigt"
"Ausstehend"
"Abgelehnt"