Freigeben über


Microsoft.ApiManagement-Dienst 2022-08-01

Bicep-Ressourcendefinition

Der Dienstressourcentyp kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

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 Ihrer Vorlage den folgenden Bicep hinzu.

resource symbolicname 'Microsoft.ApiManagement/service@2022-08-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  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'
      }
    ]
    customProperties: {
      {customized property}: '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'
      }
    ]
    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 und Bindestriche.

Beginnen Sie mit Buchstaben und enden Sie mit alphanumerisch.

Der Ressourcenname muss in Azure eindeutig sein.
Ort Ressourcenspeicherort. Zeichenfolge (erforderlich)
Schilder Ressourcentags. Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen
Sku SKU-Eigenschaften des API-Verwaltungsdiensts. ApiManagementServiceSkuProperties (erforderlich)
Identität Verwaltete Dienstidentität des API-Verwaltungsdiensts. ApiManagementServiceIdentity-
Eigenschaften Eigenschaften des API-Verwaltungsdiensts. ApiManagementServiceProperties (erforderlich)
Zonen Eine Liste der Verfügbarkeitszonen, aus denen die Ressource stammen muss. string[]

ApiManagementServiceIdentity

Name Beschreibung Wert
Art Der Identitätstyp, der für die Ressource verwendet wird. Der Typ "SystemAssigned, UserAssigned" enthält sowohl eine implizit erstellte Identität als auch eine Gruppe von vom Benutzer zugewiesenen Identitäten. Der Typ "None" entfernt alle Identitäten aus dem Dienst. 'None'
'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 im Formular:
'/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 vom Benutzer zugewiesenen Identität. Schnur
principalId Die Prinzipal-ID der vom Benutzer zugewiesenen Identität. Schnur

ApiManagementServiceProperties

Name Beschreibung Wert
additionalLocations Zusätzliche Rechenzentrumsspeicherorte des API-Verwaltungsdiensts. AdditionalLocation-[]
apiVersionConstraint Steuern der Api-Versionsbeschränkung für den API-Verwaltungsdienst. ApiVersionConstraint-
Atteste Liste der Zertifikate, die im API-Verwaltungsdienst installiert werden müssen. Maximal unterstützte Zertifikate, die installiert werden können, sind 10. CertificateConfiguration-[]
customProperties Benutzerdefinierte Eigenschaften des API-Verwaltungsdiensts.
Durch festlegen 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.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 zu deaktivieren.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für einen API-Verwaltungsdienst zu deaktivieren.
Das Festlegen 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.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für die Kommunikation mit Back-Ends zu deaktivieren.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 kann verwendet werden, um das HTTP2-Protokoll für einen API-Verwaltungsdienst zu aktivieren.
Wenn Sie keine dieser Eigenschaften für PATCH-Vorgänge angeben, werden die Werte der ausgelassenen Eigenschaften auf ihre Standardwerte zurückgesetzt. Für alle Einstellungen mit Ausnahme von Http2 wird der Standardwert True, wenn der Dienst am oder vor dem 1. April 2018 erstellt wurde und andernfalls False. Der Standardwert der Http2-Einstellung ist False.

Sie können eine 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 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
disableGateway Eigenschaft gilt nur für einen API-Verwaltungsdienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway im Masterbereich zu deaktivieren. Bool
enableClientCertificate Eigenschaft, die nur für den Verbrauch-SKU-Dienst verwendet werden soll. Dadurch wird für jede Anforderung an das Gateway ein Clientzertifikat erzwungen. Dies ermöglicht auch die Authentifizierung des Zertifikats in der Richtlinie auf dem Gateway. Bool
hostnameConfigurations Benutzerdefinierte Hostnamenkonfiguration des API-Verwaltungsdiensts. HostnameConfiguration[]
natGatewayState Die Eigenschaft kann zum Aktivieren des NAT-Gateways für diesen API-Verwaltungsdienst verwendet werden. "Deaktiviert"
"Aktiviert"
notificationSenderEmail E-Mail-Adresse, von der die Benachrichtigung gesendet wird. Schnur

Zwänge:
Max. Länge = 100
privateEndpointConnections Liste der privaten Endpunktverbindungen dieses Diensts. RemotePrivateEndpointConnectionWrapper[]
publicIpAddressId Öffentliche SKU-IP-V4-basierte IP-Adresse, die dem in der Region bereitgestellten virtuellen Netzwerkdienst zugeordnet werden soll. Wird nur für Entwickler- und Premium-SKU unterstützt, die im virtuellen Netzwerk bereitgestellt werden. Schnur
publicNetworkAccess Gibt an, ob der Zugriff auf öffentliche Endpunkte für diesen API-Verwaltungsdienst zulässig ist. Der Wert ist optional, aber wenn er übergeben wird, muss 'Aktiviert' oder 'Deaktiviert' sein. Wenn "Deaktiviert", sind private Endpunkte die exklusive Zugriffsmethode. Standardwert ist 'Enabled' "Deaktiviert"
"Aktiviert"
publisherEmail Publisher-E-Mail. Zeichenfolge (erforderlich)

Zwänge:
Max. Länge = 100
publisherName Herausgebername. Zeichenfolge (erforderlich)

Zwänge:
Max. Länge = 100
wiederherstellen Rückgängigmachen des API-Verwaltungsdiensts, 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-Verwaltungsdiensts. VirtualNetworkConfiguration-
virtualNetworkType Der Typ des VPN, in dem der API-Verwaltungsdienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API-Verwaltungsdienst nicht Teil eines virtuellen Netzwerks ist, extern bedeutet, dass die API-Verwaltungsbereitstellung innerhalb eines virtuellen Netzwerks eingerichtet ist, das über einen internetgerichteten Endpunkt verfügt, und "Intern" bedeutet, dass die API-Verwaltungsbereitstellung innerhalb eines virtuellen Netzwerks eingerichtet ist, das nur über einen Intranet-Endpunkt verfügt. 'Extern'
"Intern"
'None'

AdditionalLocation

Name Beschreibung Wert
disableGateway Eigenschaft gilt nur für einen API-Verwaltungsdienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway an diesem zusätzlichen Speicherort zu deaktivieren. Bool
Ort Der Standortname der zusätzlichen Region zwischen Azure Data Center-Regionen. Zeichenfolge (erforderlich)
natGatewayState Die Eigenschaft kann zum Aktivieren des NAT-Gateways für diesen API-Verwaltungsdienst verwendet werden. "Deaktiviert"
"Aktiviert"
publicIpAddressId Öffentliche SKU-IP-V4-basierte IP-Adresse, die dem bereitgestellten Virtuellen Netzwerkdienst am Standort zugeordnet werden soll. Wird nur für Premium-SKU unterstützt, die im virtuellen Netzwerk bereitgestellt wird. Schnur
Sku SKU-Eigenschaften des API-Verwaltungsdiensts. ApiManagementServiceSkuProperties (erforderlich)
virtualNetworkConfiguration Konfiguration des virtuellen Netzwerks für den Speicherort. VirtualNetworkConfiguration-
Zonen Eine Liste der Verfügbarkeitszonen, aus denen die Ressource stammen muss. string[]

ApiManagementServiceSkuProperties

Name Beschreibung Wert
Fassungsvermögen Kapazität der SKU (Anzahl der bereitgestellten Einheiten der SKU). Für den Verbrauch muss die SKU-Kapazität als 0 angegeben werden. int (erforderlich)
Name Name der Sku. "Einfach"
"Verbrauch"
"Entwickler"
"Isoliert"
"Premium"
"Standard" (erforderlich)

VirtualNetworkConfiguration

Name Beschreibung Wert
subnetResourceId Die vollständige Ressourcen-ID eines Subnetzes in einem virtuellen Netzwerk, in dem der API-Verwaltungsdienst bereitgestellt wird. Schnur

Zwänge:
Pattern = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$

ApiVersionConstraint

Name Beschreibung Wert
minApiVersion Beschränken Sie die API-Aufrufe der Steuerebene an den API-Verwaltungsdienst mit der version gleich oder neuer als diesem Wert. Schnur

CertificateConfiguration

Name Beschreibung Wert
Zertifikat Zertifikatinformationen. CertificateInformation-
certificatePassword Zertifikatkennwort. Schnur
encodedCertificate Base64-Codiertes Zertifikat. Schnur
storeName Der Speicherort des System.Security.Cryptography.x509certificates.StoreName-Zertifikatspeicherorts. Nur Stamm- und Zertifikatautorität sind gültige Speicherorte. "CertificateAuthority"
'Root' (erforderlich)

CertificateInformation

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

ApiManagementServiceBasePropertiesCustomProperties

Name Beschreibung Wert
{angepasste Eigenschaft} Schnur

HostnameConfiguration

Name Beschreibung Wert
Zertifikat Zertifikatinformationen. CertificateInformation-
certificatePassword Zertifikatkennwort. Schnur
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, ist dies das Zertifikat, das herausfordert wird. Die Eigenschaft ist nützlich, wenn ein Dienst mehrere benutzerdefinierte Hostnamen aktiviert hat und es für das Standard-SSL-Zertifikat entscheiden muss. Die Einstellung wurde nur auf den Hostnamentyp des Gateways angewendet. Bool
encodedCertificate Base64-Codiertes Zertifikat. Schnur
hostName Hostname, der für den API-Verwaltungsdienst konfiguriert werden soll. Zeichenfolge (erforderlich)
identityClientId Vom System oder vom Benutzer zugewiesene verwaltete Identitäts-ClientId, die von Azure AD generiert wird, die GET-Zugriff auf den KeyVault hat, der das SSL-Zertifikat enthält. Schnur
keyVaultId Url zum Schlüsselschlüsselschlüssel, der das Ssl-Zertifikat enthält. Wenn absolute URL mit Version bereitgestellt wird, funktioniert die automatische Aktualisierung des SSL-Zertifikats nicht. Dazu muss der API-Verwaltungsdienst mit aka.ms/apimmsi konfiguriert werden. Der geheime Schlüssel sollte vom Typ anwendung/x-pkcs12 sein. Schnur
negotiateClientCertificate Geben Sie true an, um das Clientzertifikat immer auf dem Hostnamen auszuhandeln. Der Standardwert ist "false". Bool
Art Hostnamentyp. 'DeveloperPortal'
"Management"
'Portal'
'Proxy'
'Scm' (erforderlich)

RemotePrivateEndpointConnectionWrapper

Name Beschreibung Wert
id Ressourcen-ID für private Endpunktverbindung Schnur
Name Name der privaten Endpunktverbindung Schnur
Eigenschaften Ressourceneigenschaften. PrivateEndpointConnectionWrapperProperties
Art Ressourcentyp für private Endpunktverbindung Schnur

PrivateEndpointConnectionWrapperProperties

Name Beschreibung Wert
privateEndpoint Die Ressource des privaten Endpunkts. ArmIdWrapper-
privateLinkServiceConnectionState Eine Sammlung von Informationen über den Status der Verbindung zwischen Service Consumer und Provider. 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 Verbraucher erfordern. Schnur
Beschreibung Der Grund für die Genehmigung/Ablehnung der Verbindung. Schnur
Status Gibt an, ob die Verbindung vom Besitzer des Diensts genehmigt/abgelehnt/entfernt wurde. "Genehmigt"
"Ausstehend"
"Abgelehnt"

Schnellstartvorlagen

Die folgenden Schnellstartvorlagen stellen diesen Ressourcentyp bereit.

Schablone Beschreibung
Erstellen einer API-Verwaltungsinstanz und aller Unterressourcen mithilfe von Vorlagen

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie einen API-Verwaltungsdienst erstellen und Unterentitäten konfigurieren.
Bereitstellen der API-Verwaltung mit einem externen Azure-Cache für Redis

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Eine Instanz von Azure API Management auf der Verbrauchsebene mit einem externen Azure-Cache für Redis-Instanz als externer API-Verwaltungscache erstellt wird.
Bereitstellen der API-Verwaltung im externen VNet mit öffentlichem IP-

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

Bereitstellen in Azure
Diese Vorlage veranschaulicht das Erstellen einer Instanz von Azure API Management mit benutzerdefiniertem Hostnamen für Portal und mehreren benutzerdefinierten Hostnamen für Proxys
Erstellen der API-Verwaltung im internen VNet mit App-Gateway-

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine Instanz von Azure API Management in einem privaten Netzwerk erstellen, das durch Azure Application Gateway geschützt ist.
Bereitstellen der API-Verwaltung im internen VNet mit öffentlichem IP-

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine Instanz von Azure API Management auf der Premium-Ebene im subnetz Ihres virtuellen Netzwerks im internen Modus erstellen und empfohlene NSG-Regeln für das Subnetz konfigurieren. Die Instanz wird in zwei Verfügbarkeitszonen bereitgestellt. Die Vorlage konfiguriert außerdem eine öffentliche IP-Adresse aus Ihrem Abonnement.
Erstellen einer API-Verwaltungsinstanz mit MSI Identity

Bereitstellen in Azure
Diese Vorlage erstellt eine Entwicklerinstanz von Azure API Management mit einer MSI-Identität
Erstellen einer Mehrregion-API-Verwaltungsinstanz auf mehreren Ebenen

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine API-Verwaltungsinstanz mit zusätzlichen Speicherorten erstellen. Der primäre Speicherort ist identisch mit dem Speicherort der Ressourcengruppe. Für weitere Speicherorte zeigt die Vorlage "NorthCentralUs" und "East US2". Der primäre Speicherort sollte sich von zusätzlichen Speicherorten unterscheiden.
Erstellen der API-Verwaltung mit benutzerdefiniertem Proxy-SSL mithilfe von KeyVault-

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

Bereitstellen in Azure
Diese Vorlage stellt einen API-Verwaltungsdienst bereit, der mit der vom Benutzer zugewiesenen Identität konfiguriert ist. Sie verwendet diese Identität, um SSL-Zertifikat von KeyVault abzurufen und es alle 4 Stunden zu aktualisieren.
Erstellen und Überwachen der API-Verwaltungsinstanz

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

Bereitstellen in Azure
Diese Vorlage erstellt einen API-Verwaltungsdienst, ein virtuelles Netzwerk und einen privaten Endpunkt, der den API-Verwaltungsdienst für das virtuelle Netzwerk bereitstellt.
Bereitstellen der API-Verwaltung in Verfügbarkeitszonen

Bereitstellen in Azure
Diese Vorlage erstellt eine Premiuminstanz von Azure API Management und stellt sie in einer Verfügbarkeitszone bereit.
Erstellen einer API-Verwaltungsinstanz mithilfe einer Vorlage

Bereitstellen in Azure
Diese Vorlage erstellt eine Entwicklerinstanz 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-Verwaltungsinstanz und verwendet eine NSG- und globale API-Verwaltungsrichtlinie, um zu überprüfen, ob der Datenverkehr über den Front Door-Ursprung erfolgt ist.
Erstellen von Azure Front Door vor der Azure API Management-

Bereitstellen in Azure
In diesem Beispiel wird die Verwendung von Azure Front Door als globaler Lastenausgleich vor der Azure-API-Verwaltung veranschaulicht.
Anwendungsgateway mit interner API-Verwaltung und Web App-

Bereitstellen in Azure
Das Anwendungsgateway routingt Internetdatenverkehr an eine API-Verwaltungsinstanz für virtuelle Netzwerke (interner Modus), die eine in einer Azure Web App gehostete Web-API verwendet.

ARM-Vorlagenressourcendefinition

Der Dienstressourcentyp kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

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 Ihrer Vorlage den folgenden JSON-Code hinzu.

{
  "type": "Microsoft.ApiManagement/service",
  "apiVersion": "2022-08-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "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"
      }
    ],
    "customProperties": {
      "{customized property}": "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"
      }
    ],
    "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
Art Der Ressourcentyp "Microsoft.ApiManagement/service"
apiVersion Die Ressourcen-API-Version '2022-08-01'
Name Der Ressourcenname Zeichenfolge (erforderlich)

Zeichenlimit: 1-50

Gültige Zeichen:
Alphanumerische und Bindestriche.

Beginnen Sie mit Buchstaben und enden Sie mit alphanumerisch.

Der Ressourcenname muss in Azure eindeutig sein.
Ort Ressourcenspeicherort. Zeichenfolge (erforderlich)
Schilder Ressourcentags. Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen
Sku SKU-Eigenschaften des API-Verwaltungsdiensts. ApiManagementServiceSkuProperties (erforderlich)
Identität Verwaltete Dienstidentität des API-Verwaltungsdiensts. ApiManagementServiceIdentity-
Eigenschaften Eigenschaften des API-Verwaltungsdiensts. ApiManagementServiceProperties (erforderlich)
Zonen Eine Liste der Verfügbarkeitszonen, aus denen die Ressource stammen muss. string[]

ApiManagementServiceIdentity

Name Beschreibung Wert
Art Der Identitätstyp, der für die Ressource verwendet wird. Der Typ "SystemAssigned, UserAssigned" enthält sowohl eine implizit erstellte Identität als auch eine Gruppe von vom Benutzer zugewiesenen Identitäten. Der Typ "None" entfernt alle Identitäten aus dem Dienst. 'None'
'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 im Formular:
'/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 vom Benutzer zugewiesenen Identität. Schnur
principalId Die Prinzipal-ID der vom Benutzer zugewiesenen Identität. Schnur

ApiManagementServiceProperties

Name Beschreibung Wert
additionalLocations Zusätzliche Rechenzentrumsspeicherorte des API-Verwaltungsdiensts. AdditionalLocation-[]
apiVersionConstraint Steuern der Api-Versionsbeschränkung für den API-Verwaltungsdienst. ApiVersionConstraint-
Atteste Liste der Zertifikate, die im API-Verwaltungsdienst installiert werden müssen. Maximal unterstützte Zertifikate, die installiert werden können, sind 10. CertificateConfiguration-[]
customProperties Benutzerdefinierte Eigenschaften des API-Verwaltungsdiensts.
Durch festlegen 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.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 zu deaktivieren.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für einen API-Verwaltungsdienst zu deaktivieren.
Das Festlegen 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.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für die Kommunikation mit Back-Ends zu deaktivieren.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 kann verwendet werden, um das HTTP2-Protokoll für einen API-Verwaltungsdienst zu aktivieren.
Wenn Sie keine dieser Eigenschaften für PATCH-Vorgänge angeben, werden die Werte der ausgelassenen Eigenschaften auf ihre Standardwerte zurückgesetzt. Für alle Einstellungen mit Ausnahme von Http2 wird der Standardwert True, wenn der Dienst am oder vor dem 1. April 2018 erstellt wurde und andernfalls False. Der Standardwert der Http2-Einstellung ist False.

Sie können eine 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 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
disableGateway Eigenschaft gilt nur für einen API-Verwaltungsdienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway im Masterbereich zu deaktivieren. Bool
enableClientCertificate Eigenschaft, die nur für den Verbrauch-SKU-Dienst verwendet werden soll. Dadurch wird für jede Anforderung an das Gateway ein Clientzertifikat erzwungen. Dies ermöglicht auch die Authentifizierung des Zertifikats in der Richtlinie auf dem Gateway. Bool
hostnameConfigurations Benutzerdefinierte Hostnamenkonfiguration des API-Verwaltungsdiensts. HostnameConfiguration[]
natGatewayState Die Eigenschaft kann zum Aktivieren des NAT-Gateways für diesen API-Verwaltungsdienst verwendet werden. "Deaktiviert"
"Aktiviert"
notificationSenderEmail E-Mail-Adresse, von der die Benachrichtigung gesendet wird. Schnur

Zwänge:
Max. Länge = 100
privateEndpointConnections Liste der privaten Endpunktverbindungen dieses Diensts. RemotePrivateEndpointConnectionWrapper[]
publicIpAddressId Öffentliche SKU-IP-V4-basierte IP-Adresse, die dem in der Region bereitgestellten virtuellen Netzwerkdienst zugeordnet werden soll. Wird nur für Entwickler- und Premium-SKU unterstützt, die im virtuellen Netzwerk bereitgestellt werden. Schnur
publicNetworkAccess Gibt an, ob der Zugriff auf öffentliche Endpunkte für diesen API-Verwaltungsdienst zulässig ist. Der Wert ist optional, aber wenn er übergeben wird, muss 'Aktiviert' oder 'Deaktiviert' sein. Wenn "Deaktiviert", sind private Endpunkte die exklusive Zugriffsmethode. Standardwert ist 'Enabled' "Deaktiviert"
"Aktiviert"
publisherEmail Publisher-E-Mail. Zeichenfolge (erforderlich)

Zwänge:
Max. Länge = 100
publisherName Herausgebername. Zeichenfolge (erforderlich)

Zwänge:
Max. Länge = 100
wiederherstellen Rückgängigmachen des API-Verwaltungsdiensts, 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-Verwaltungsdiensts. VirtualNetworkConfiguration-
virtualNetworkType Der Typ des VPN, in dem der API-Verwaltungsdienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API-Verwaltungsdienst nicht Teil eines virtuellen Netzwerks ist, extern bedeutet, dass die API-Verwaltungsbereitstellung innerhalb eines virtuellen Netzwerks eingerichtet ist, das über einen internetgerichteten Endpunkt verfügt, und "Intern" bedeutet, dass die API-Verwaltungsbereitstellung innerhalb eines virtuellen Netzwerks eingerichtet ist, das nur über einen Intranet-Endpunkt verfügt. 'Extern'
"Intern"
'None'

AdditionalLocation

Name Beschreibung Wert
disableGateway Eigenschaft gilt nur für einen API-Verwaltungsdienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway an diesem zusätzlichen Speicherort zu deaktivieren. Bool
Ort Der Standortname der zusätzlichen Region zwischen Azure Data Center-Regionen. Zeichenfolge (erforderlich)
natGatewayState Die Eigenschaft kann zum Aktivieren des NAT-Gateways für diesen API-Verwaltungsdienst verwendet werden. "Deaktiviert"
"Aktiviert"
publicIpAddressId Öffentliche SKU-IP-V4-basierte IP-Adresse, die dem bereitgestellten Virtuellen Netzwerkdienst am Standort zugeordnet werden soll. Wird nur für Premium-SKU unterstützt, die im virtuellen Netzwerk bereitgestellt wird. Schnur
Sku SKU-Eigenschaften des API-Verwaltungsdiensts. ApiManagementServiceSkuProperties (erforderlich)
virtualNetworkConfiguration Konfiguration des virtuellen Netzwerks für den Speicherort. VirtualNetworkConfiguration-
Zonen Eine Liste der Verfügbarkeitszonen, aus denen die Ressource stammen muss. string[]

ApiManagementServiceSkuProperties

Name Beschreibung Wert
Fassungsvermögen Kapazität der SKU (Anzahl der bereitgestellten Einheiten der SKU). Für den Verbrauch muss die SKU-Kapazität als 0 angegeben werden. int (erforderlich)
Name Name der Sku. "Einfach"
"Verbrauch"
"Entwickler"
"Isoliert"
"Premium"
"Standard" (erforderlich)

VirtualNetworkConfiguration

Name Beschreibung Wert
subnetResourceId Die vollständige Ressourcen-ID eines Subnetzes in einem virtuellen Netzwerk, in dem der API-Verwaltungsdienst bereitgestellt wird. Schnur

Zwänge:
Pattern = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$

ApiVersionConstraint

Name Beschreibung Wert
minApiVersion Beschränken Sie die API-Aufrufe der Steuerebene an den API-Verwaltungsdienst mit der version gleich oder neuer als diesem Wert. Schnur

CertificateConfiguration

Name Beschreibung Wert
Zertifikat Zertifikatinformationen. CertificateInformation-
certificatePassword Zertifikatkennwort. Schnur
encodedCertificate Base64-Codiertes Zertifikat. Schnur
storeName Der Speicherort des System.Security.Cryptography.x509certificates.StoreName-Zertifikatspeicherorts. Nur Stamm- und Zertifikatautorität sind gültige Speicherorte. "CertificateAuthority"
'Root' (erforderlich)

CertificateInformation

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

ApiManagementServiceBasePropertiesCustomProperties

Name Beschreibung Wert
{angepasste Eigenschaft} Schnur

HostnameConfiguration

Name Beschreibung Wert
Zertifikat Zertifikatinformationen. CertificateInformation-
certificatePassword Zertifikatkennwort. Schnur
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, ist dies das Zertifikat, das herausfordert wird. Die Eigenschaft ist nützlich, wenn ein Dienst mehrere benutzerdefinierte Hostnamen aktiviert hat und es für das Standard-SSL-Zertifikat entscheiden muss. Die Einstellung wurde nur auf den Hostnamentyp des Gateways angewendet. Bool
encodedCertificate Base64-Codiertes Zertifikat. Schnur
hostName Hostname, der für den API-Verwaltungsdienst konfiguriert werden soll. Zeichenfolge (erforderlich)
identityClientId Vom System oder vom Benutzer zugewiesene verwaltete Identitäts-ClientId, die von Azure AD generiert wird, die GET-Zugriff auf den KeyVault hat, der das SSL-Zertifikat enthält. Schnur
keyVaultId Url zum Schlüsselschlüsselschlüssel, der das Ssl-Zertifikat enthält. Wenn absolute URL mit Version bereitgestellt wird, funktioniert die automatische Aktualisierung des SSL-Zertifikats nicht. Dazu muss der API-Verwaltungsdienst mit aka.ms/apimmsi konfiguriert werden. Der geheime Schlüssel sollte vom Typ anwendung/x-pkcs12 sein. Schnur
negotiateClientCertificate Geben Sie true an, um das Clientzertifikat immer auf dem Hostnamen auszuhandeln. Der Standardwert ist "false". Bool
Art Hostnamentyp. 'DeveloperPortal'
"Management"
'Portal'
'Proxy'
'Scm' (erforderlich)

RemotePrivateEndpointConnectionWrapper

Name Beschreibung Wert
id Ressourcen-ID für private Endpunktverbindung Schnur
Name Name der privaten Endpunktverbindung Schnur
Eigenschaften Ressourceneigenschaften. PrivateEndpointConnectionWrapperProperties
Art Ressourcentyp für private Endpunktverbindung Schnur

PrivateEndpointConnectionWrapperProperties

Name Beschreibung Wert
privateEndpoint Die Ressource des privaten Endpunkts. ArmIdWrapper-
privateLinkServiceConnectionState Eine Sammlung von Informationen über den Status der Verbindung zwischen Service Consumer und Provider. 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 Verbraucher erfordern. Schnur
Beschreibung Der Grund für die Genehmigung/Ablehnung der Verbindung. Schnur
Status Gibt an, ob die Verbindung vom Besitzer des Diensts genehmigt/abgelehnt/entfernt wurde. "Genehmigt"
"Ausstehend"
"Abgelehnt"

Schnellstartvorlagen

Die folgenden Schnellstartvorlagen stellen diesen Ressourcentyp bereit.

Schablone Beschreibung
Erstellen einer API-Verwaltungsinstanz und aller Unterressourcen mithilfe von Vorlagen

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie einen API-Verwaltungsdienst erstellen und Unterentitäten konfigurieren.
Bereitstellen der API-Verwaltung mit einem externen Azure-Cache für Redis

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Eine Instanz von Azure API Management auf der Verbrauchsebene mit einem externen Azure-Cache für Redis-Instanz als externer API-Verwaltungscache erstellt wird.
Bereitstellen der API-Verwaltung im externen VNet mit öffentlichem IP-

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

Bereitstellen in Azure
Diese Vorlage veranschaulicht das Erstellen einer Instanz von Azure API Management mit benutzerdefiniertem Hostnamen für Portal und mehreren benutzerdefinierten Hostnamen für Proxys
Erstellen der API-Verwaltung im internen VNet mit App-Gateway-

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine Instanz von Azure API Management in einem privaten Netzwerk erstellen, das durch Azure Application Gateway geschützt ist.
Bereitstellen der API-Verwaltung im internen VNet mit öffentlichem IP-

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine Instanz von Azure API Management auf der Premium-Ebene im subnetz Ihres virtuellen Netzwerks im internen Modus erstellen und empfohlene NSG-Regeln für das Subnetz konfigurieren. Die Instanz wird in zwei Verfügbarkeitszonen bereitgestellt. Die Vorlage konfiguriert außerdem eine öffentliche IP-Adresse aus Ihrem Abonnement.
Erstellen einer API-Verwaltungsinstanz mit MSI Identity

Bereitstellen in Azure
Diese Vorlage erstellt eine Entwicklerinstanz von Azure API Management mit einer MSI-Identität
Erstellen einer Mehrregion-API-Verwaltungsinstanz auf mehreren Ebenen

Bereitstellen in Azure
Diese Vorlage veranschaulicht, wie Sie eine API-Verwaltungsinstanz mit zusätzlichen Speicherorten erstellen. Der primäre Speicherort ist identisch mit dem Speicherort der Ressourcengruppe. Für weitere Speicherorte zeigt die Vorlage "NorthCentralUs" und "East US2". Der primäre Speicherort sollte sich von zusätzlichen Speicherorten unterscheiden.
Erstellen der API-Verwaltung mit benutzerdefiniertem Proxy-SSL mithilfe von KeyVault-

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

Bereitstellen in Azure
Diese Vorlage stellt einen API-Verwaltungsdienst bereit, der mit der vom Benutzer zugewiesenen Identität konfiguriert ist. Sie verwendet diese Identität, um SSL-Zertifikat von KeyVault abzurufen und es alle 4 Stunden zu aktualisieren.
Erstellen und Überwachen der API-Verwaltungsinstanz

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

Bereitstellen in Azure
Diese Vorlage erstellt einen API-Verwaltungsdienst, ein virtuelles Netzwerk und einen privaten Endpunkt, der den API-Verwaltungsdienst für das virtuelle Netzwerk bereitstellt.
Bereitstellen der API-Verwaltung in Verfügbarkeitszonen

Bereitstellen in Azure
Diese Vorlage erstellt eine Premiuminstanz von Azure API Management und stellt sie in einer Verfügbarkeitszone bereit.
Erstellen einer API-Verwaltungsinstanz mithilfe einer Vorlage

Bereitstellen in Azure
Diese Vorlage erstellt eine Entwicklerinstanz 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-Verwaltungsinstanz und verwendet eine NSG- und globale API-Verwaltungsrichtlinie, um zu überprüfen, ob der Datenverkehr über den Front Door-Ursprung erfolgt ist.
Erstellen von Azure Front Door vor der Azure API Management-

Bereitstellen in Azure
In diesem Beispiel wird die Verwendung von Azure Front Door als globaler Lastenausgleich vor der Azure-API-Verwaltung veranschaulicht.
Anwendungsgateway mit interner API-Verwaltung und Web App-

Bereitstellen in Azure
Das Anwendungsgateway routingt Internetdatenverkehr an eine API-Verwaltungsinstanz für virtuelle Netzwerke (interner Modus), die eine in einer Azure Web App gehostete Web-API verwendet.

Terraform -Ressourcendefinition (AzAPI-Anbieter)

Der Dienstressourcentyp kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

  • Ressourcengruppen

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 Ihrer Vorlage die folgende Terraform hinzu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ApiManagement/service@2022-08-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  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"
        }
      ]
      customProperties = {
        {customized property} = "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"
        }
      ]
      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
Art Der Ressourcentyp "Microsoft.ApiManagement/service@2022-08-01"
Name Der Ressourcenname Zeichenfolge (erforderlich)

Zeichenlimit: 1-50

Gültige Zeichen:
Alphanumerische und Bindestriche.

Beginnen Sie mit Buchstaben und enden Sie mit alphanumerisch.

Der Ressourcenname muss in Azure eindeutig sein.
Ort Ressourcenspeicherort. Zeichenfolge (erforderlich)
parent_id Verwenden Sie die ID dieser Ressourcengruppe, um sie in einer Ressourcengruppe bereitzustellen. Zeichenfolge (erforderlich)
Schilder Ressourcentags. Wörterbuch der Tagnamen und -werte.
Sku SKU-Eigenschaften des API-Verwaltungsdiensts. ApiManagementServiceSkuProperties (erforderlich)
Identität Verwaltete Dienstidentität des API-Verwaltungsdiensts. ApiManagementServiceIdentity-
Eigenschaften Eigenschaften des API-Verwaltungsdiensts. ApiManagementServiceProperties (erforderlich)
Zonen Eine Liste der Verfügbarkeitszonen, aus denen die Ressource stammen muss. string[]

ApiManagementServiceIdentity

Name Beschreibung Wert
Art Der Identitätstyp, der für die Ressource verwendet wird. Der Typ "SystemAssigned, UserAssigned" enthält sowohl eine implizit erstellte Identität als auch eine Gruppe von vom Benutzer zugewiesenen 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 Formular:
'/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. Schnur
principalId Die Prinzipal-ID der vom Benutzer zugewiesenen Identität. Schnur

ApiManagementServiceProperties

Name Beschreibung Wert
additionalLocations Zusätzliche Rechenzentrumsspeicherorte des API-Verwaltungsdiensts. AdditionalLocation-[]
apiVersionConstraint Steuern der Api-Versionsbeschränkung für den API-Verwaltungsdienst. ApiVersionConstraint-
Atteste Liste der Zertifikate, die im API-Verwaltungsdienst installiert werden müssen. Maximal unterstützte Zertifikate, die installiert werden können, sind 10. CertificateConfiguration-[]
customProperties Benutzerdefinierte Eigenschaften des API-Verwaltungsdiensts.
Durch festlegen 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.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 zu deaktivieren.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für einen API-Verwaltungsdienst zu deaktivieren.
Das Festlegen 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.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für die Kommunikation mit Back-Ends zu deaktivieren.
Das Festlegen Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 kann verwendet werden, um das HTTP2-Protokoll für einen API-Verwaltungsdienst zu aktivieren.
Wenn Sie keine dieser Eigenschaften für PATCH-Vorgänge angeben, werden die Werte der ausgelassenen Eigenschaften auf ihre Standardwerte zurückgesetzt. Für alle Einstellungen mit Ausnahme von Http2 wird der Standardwert True, wenn der Dienst am oder vor dem 1. April 2018 erstellt wurde und andernfalls False. Der Standardwert der Http2-Einstellung ist False.

Sie können eine 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 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
disableGateway Eigenschaft gilt nur für einen API-Verwaltungsdienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway im Masterbereich zu deaktivieren. Bool
enableClientCertificate Eigenschaft, die nur für den Verbrauch-SKU-Dienst verwendet werden soll. Dadurch wird für jede Anforderung an das Gateway ein Clientzertifikat erzwungen. Dies ermöglicht auch die Authentifizierung des Zertifikats in der Richtlinie auf dem Gateway. Bool
hostnameConfigurations Benutzerdefinierte Hostnamenkonfiguration des API-Verwaltungsdiensts. HostnameConfiguration[]
natGatewayState Die Eigenschaft kann zum Aktivieren des NAT-Gateways für diesen API-Verwaltungsdienst verwendet werden. "Deaktiviert"
"Aktiviert"
notificationSenderEmail E-Mail-Adresse, von der die Benachrichtigung gesendet wird. Schnur

Zwänge:
Max. Länge = 100
privateEndpointConnections Liste der privaten Endpunktverbindungen dieses Diensts. RemotePrivateEndpointConnectionWrapper[]
publicIpAddressId Öffentliche SKU-IP-V4-basierte IP-Adresse, die dem in der Region bereitgestellten virtuellen Netzwerkdienst zugeordnet werden soll. Wird nur für Entwickler- und Premium-SKU unterstützt, die im virtuellen Netzwerk bereitgestellt werden. Schnur
publicNetworkAccess Gibt an, ob der Zugriff auf öffentliche Endpunkte für diesen API-Verwaltungsdienst zulässig ist. Der Wert ist optional, aber wenn er übergeben wird, muss 'Aktiviert' oder 'Deaktiviert' sein. Wenn "Deaktiviert", sind private Endpunkte die exklusive Zugriffsmethode. Standardwert ist 'Enabled' "Deaktiviert"
"Aktiviert"
publisherEmail Publisher-E-Mail. Zeichenfolge (erforderlich)

Zwänge:
Max. Länge = 100
publisherName Herausgebername. Zeichenfolge (erforderlich)

Zwänge:
Max. Länge = 100
wiederherstellen Rückgängigmachen des API-Verwaltungsdiensts, 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-Verwaltungsdiensts. VirtualNetworkConfiguration-
virtualNetworkType Der Typ des VPN, in dem der API-Verwaltungsdienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API-Verwaltungsdienst nicht Teil eines virtuellen Netzwerks ist, extern bedeutet, dass die API-Verwaltungsbereitstellung innerhalb eines virtuellen Netzwerks eingerichtet ist, das über einen internetgerichteten Endpunkt verfügt, und "Intern" bedeutet, dass die API-Verwaltungsbereitstellung innerhalb eines virtuellen Netzwerks eingerichtet ist, das nur über einen Intranet-Endpunkt verfügt. "Extern"
"Intern"
"Keine"

AdditionalLocation

Name Beschreibung Wert
disableGateway Eigenschaft gilt nur für einen API-Verwaltungsdienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway an diesem zusätzlichen Speicherort zu deaktivieren. Bool
Ort Der Standortname der zusätzlichen Region zwischen Azure Data Center-Regionen. Zeichenfolge (erforderlich)
natGatewayState Die Eigenschaft kann zum Aktivieren des NAT-Gateways für diesen API-Verwaltungsdienst verwendet werden. "Deaktiviert"
"Aktiviert"
publicIpAddressId Öffentliche SKU-IP-V4-basierte IP-Adresse, die dem bereitgestellten Virtuellen Netzwerkdienst am Standort zugeordnet werden soll. Wird nur für Premium-SKU unterstützt, die im virtuellen Netzwerk bereitgestellt wird. Schnur
Sku SKU-Eigenschaften des API-Verwaltungsdiensts. ApiManagementServiceSkuProperties (erforderlich)
virtualNetworkConfiguration Konfiguration des virtuellen Netzwerks für den Speicherort. VirtualNetworkConfiguration-
Zonen Eine Liste der Verfügbarkeitszonen, aus denen die Ressource stammen muss. string[]

ApiManagementServiceSkuProperties

Name Beschreibung Wert
Fassungsvermögen Kapazität der SKU (Anzahl der bereitgestellten Einheiten der SKU). Für den Verbrauch muss die SKU-Kapazität als 0 angegeben werden. int (erforderlich)
Name Name der Sku. "Einfach"
"Konsum"
"Entwickler"
"Isoliert"
"Premium"
"Standard" (erforderlich)

VirtualNetworkConfiguration

Name Beschreibung Wert
subnetResourceId Die vollständige Ressourcen-ID eines Subnetzes in einem virtuellen Netzwerk, in dem der API-Verwaltungsdienst bereitgestellt wird. Schnur

Zwänge:
Pattern = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$

ApiVersionConstraint

Name Beschreibung Wert
minApiVersion Beschränken Sie die API-Aufrufe der Steuerebene an den API-Verwaltungsdienst mit der version gleich oder neuer als diesem Wert. Schnur

CertificateConfiguration

Name Beschreibung Wert
Zertifikat Zertifikatinformationen. CertificateInformation-
certificatePassword Zertifikatkennwort. Schnur
encodedCertificate Base64-Codiertes Zertifikat. Schnur
storeName Der Speicherort des System.Security.Cryptography.x509certificates.StoreName-Zertifikatspeicherorts. Nur Stamm- und Zertifikatautorität sind gültige Speicherorte. "CertificateAuthority"
"Root" (erforderlich)

CertificateInformation

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

ApiManagementServiceBasePropertiesCustomProperties

Name Beschreibung Wert
{angepasste Eigenschaft} Schnur

HostnameConfiguration

Name Beschreibung Wert
Zertifikat Zertifikatinformationen. CertificateInformation-
certificatePassword Zertifikatkennwort. Schnur
certificateSource Zertifikatquelle. "BuiltIn"
"Benutzerdefiniert"
"KeyVault"
"Verwaltet"
certificateStatus Zertifikatstatus. "Abgeschlossen"
"Fehlgeschlagen"
"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, ist dies das Zertifikat, das herausfordert wird. Die Eigenschaft ist nützlich, wenn ein Dienst mehrere benutzerdefinierte Hostnamen aktiviert hat und es für das Standard-SSL-Zertifikat entscheiden muss. Die Einstellung wurde nur auf den Hostnamentyp des Gateways angewendet. Bool
encodedCertificate Base64-Codiertes Zertifikat. Schnur
hostName Hostname, der für den API-Verwaltungsdienst konfiguriert werden soll. Zeichenfolge (erforderlich)
identityClientId Vom System oder vom Benutzer zugewiesene verwaltete Identitäts-ClientId, die von Azure AD generiert wird, die GET-Zugriff auf den KeyVault hat, der das SSL-Zertifikat enthält. Schnur
keyVaultId Url zum Schlüsselschlüsselschlüssel, der das Ssl-Zertifikat enthält. Wenn absolute URL mit Version bereitgestellt wird, funktioniert die automatische Aktualisierung des SSL-Zertifikats nicht. Dazu muss der API-Verwaltungsdienst mit aka.ms/apimmsi konfiguriert werden. Der geheime Schlüssel sollte vom Typ anwendung/x-pkcs12 sein. Schnur
negotiateClientCertificate Geben Sie true an, um das Clientzertifikat immer auf dem Hostnamen auszuhandeln. Der Standardwert ist "false". Bool
Art Hostnamentyp. "DeveloperPortal"
"Management"
"Portal"
"Proxy"
"Scm" (erforderlich)

RemotePrivateEndpointConnectionWrapper

Name Beschreibung Wert
id Ressourcen-ID für private Endpunktverbindung Schnur
Name Name der privaten Endpunktverbindung Schnur
Eigenschaften Ressourceneigenschaften. PrivateEndpointConnectionWrapperProperties
Art Ressourcentyp für private Endpunktverbindung Schnur

PrivateEndpointConnectionWrapperProperties

Name Beschreibung Wert
privateEndpoint Die Ressource des privaten Endpunkts. ArmIdWrapper-
privateLinkServiceConnectionState Eine Sammlung von Informationen über den Status der Verbindung zwischen Service Consumer und Provider. 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 Verbraucher erfordern. Schnur
Beschreibung Der Grund für die Genehmigung/Ablehnung der Verbindung. Schnur
Status Gibt an, ob die Verbindung vom Besitzer des Diensts genehmigt/abgelehnt/entfernt wurde. "Genehmigt"
"Ausstehend"
"Abgelehnt"