Microsoft.ApiManagement-Dienst 2021-08-01
Bicep-Ressourcendefinition
Der Dienstressourcentyp kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:
- Ressourcengruppen – Siehe Ressourcengruppenbereitstellungsbefehle
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@2021-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'
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'
}
]
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[] |
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) |
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 Proxy-Hostnamentyp 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 |
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 |
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- |
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 |
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- |
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- |
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 |
Diese Vorlage erstellt eine Entwicklerinstanz von Azure API Management mit einer MSI-Identität |
Erstellen einer Mehrregion-API-Verwaltungsinstanz auf mehreren Ebenen |
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- |
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 |
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 |
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 |
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 |
Diese Vorlage erstellt eine Premiuminstanz von Azure API Management und stellt sie in einer Verfügbarkeitszone bereit. |
Erstellen einer API-Verwaltungsinstanz mithilfe einer Vorlage |
Diese Vorlage erstellt eine Entwicklerinstanz von Azure API Management |
Front Door Standard/Premium mit API-Management-Ursprung |
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- |
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- |
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:
- Ressourcengruppen – Siehe Ressourcengruppenbereitstellungsbefehle
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": "2021-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",
"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"
}
],
"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 | '2021-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[] |
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) |
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 Proxy-Hostnamentyp 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 |
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 |
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- |
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 |
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- |
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- |
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 |
Diese Vorlage erstellt eine Entwicklerinstanz von Azure API Management mit einer MSI-Identität |
Erstellen einer Mehrregion-API-Verwaltungsinstanz auf mehreren Ebenen |
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- |
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 |
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 |
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 |
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 |
Diese Vorlage erstellt eine Premiuminstanz von Azure API Management und stellt sie in einer Verfügbarkeitszone bereit. |
Erstellen einer API-Verwaltungsinstanz mithilfe einer Vorlage |
Diese Vorlage erstellt eine Entwicklerinstanz von Azure API Management |
Front Door Standard/Premium mit API-Management-Ursprung |
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- |
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- |
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@2021-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"
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"
}
]
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@2021-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[] |
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) |
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 Proxy-Hostnamentyp 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" |