Microsoft.ApiManagement-Dienst 2022-04-01-preview
Bicep-Ressourcendefinition
Der Dienstressourcentyp kann mit Vorgängen bereitgestellt werden, die Folgendes zum Ziel haben:
- Ressourcengruppen – Siehe Bereitstellungsbefehle für Ressourcengruppen
Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie im Änderungsprotokoll.
Ressourcenformat
Um eine Microsoft.ApiManagement/service-Ressource zu erstellen, fügen Sie ihrer Vorlage den folgenden Bicep hinzu.
resource symbolicname 'Microsoft.ApiManagement/service@2022-04-01-preview' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
{customized property}: 'string'
sku: {
capacity: int
name: 'string'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {
clientId: 'string'
principalId: 'string'
}
}
}
properties: {
additionalLocations: [
{
disableGateway: bool
location: 'string'
natGatewayState: 'string'
publicIpAddressId: 'string'
sku: {
capacity: int
name: 'string'
}
virtualNetworkConfiguration: {
subnetResourceId: 'string'
}
zones: [
'string'
]
}
]
apiVersionConstraint: {
minApiVersion: 'string'
}
certificates: [
{
certificate: {
expiry: 'string'
subject: 'string'
thumbprint: 'string'
}
certificatePassword: 'string'
encodedCertificate: 'string'
storeName: 'string'
}
]
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 Zeichen und Bindestriche. Muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden. Der Ressourcenname muss in Azure eindeutig sein. |
location | Ressourcenspeicherort | Zeichenfolge (erforderlich) |
tags | Ressourcentags. | Wörterbuch der Tagnamen und -werte. Weitere Informationen finden Sie unter Tags in Vorlagen. |
sku | SKU-Eigenschaften des API Management-Diensts. | ApiManagementServiceSkuProperties (erforderlich) |
Identität | Verwaltete Dienstidentität des Api Management-Diensts. | ApiManagementServiceIdentity |
properties | Eigenschaften des API Management-Diensts. | ApiManagementServiceProperties (erforderlich) |
Zonen | Eine Liste der Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. | string[] |
ApiManagementServiceIdentity
Name | BESCHREIBUNG | Wert |
---|---|---|
type | Der Identitätstyp, der für die Ressource verwendet wird. Der Typ „SystemAssigned, UserAssigned“ umfasst sowohl eine implizit erstellte Identität als auch einen Satz von Benutzern zugewiesener Identitäten. Der Typ "None" entfernt alle Identitäten aus dem Dienst. | "Keine" "SystemAssigned" 'SystemAssigned, UserAssigned' "UserAssigned" (erforderlich) |
userAssignedIdentities | Die Liste der Benutzeridentitäten, die der Ressource zugeordnet sind. Die Benutzeridentität Wörterbuchschlüsselverweise sind ARM-Ressourcen-IDs im Format: '/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. | Zeichenfolge |
principalId | Die Prinzipal-ID der vom Benutzer zugewiesenen Identität. | Zeichenfolge |
ApiManagementServiceProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
additionalLocations | Zusätzliche Rechenzentrumsstandorte des API Management-Diensts. | AdditionalLocation[] |
apiVersionConstraint | Versionseinschränkung der Steuerungsebenen-API für den API Management-Dienst. | ApiVersionConstraint |
certificates | Liste der Zertifikate, die im API Management-Dienst installiert werden müssen. Die maximale Anzahl von unterstützten Zertifikaten, die installiert werden können, beträgt 10. | CertificateConfiguration[] |
customProperties | Benutzerdefinierte Eigenschaften des API Management-Diensts. Durch die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 wird die verschlüsselungs-TLS_RSA_WITH_3DES_EDE_CBC_SHA für alle TLS(1.0, 1.1 und 1.2) deaktiviert.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für einen API Management-Dienst zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 für die Kommunikation mit Back-Ends zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für die Kommunikation mit Back-Ends zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 kann verwendet werden, um das HTTP2-Protokoll für einen API Management-Dienst zu aktivieren.Wenn Sie keine dieser Eigenschaften beim PATCH-Vorgang angeben, werden die Werte der ausgelassenen Eigenschaften auf die Standardwerte zurückgesetzt. Für alle Einstellungen mit Ausnahme von Http2 ist True der Standardwert, wenn der Dienst am oder vor dem 1. April 2018 erstellt wurde und False andernfalls. Der Standardwert der Http2-Einstellung ist False .Sie können jede der nächsten 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: Nächste Verschlüsselungen können nicht deaktiviert werden, da sie für interne Azure CloudService-Komponenten erforderlich sind: 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,TLS_RSA_WITH_AES_256_GCM_SHA384 |
ApiManagementServiceBasePropertiesCustomProperties |
disableGateway | Die Eigenschaft ist nur für einen Api Management-Dienst gültig, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway in master Region zu deaktivieren. | bool |
enableClientCertificate | Eigenschaft, die nur für den Verbrauchs-SKU-Dienst verwendet werden soll. Dadurch wird erzwungen, dass bei jeder Anforderung an das Gateway ein Clientzertifikat angezeigt wird. Dies ermöglicht auch die Authentifizierung des Zertifikats in der Richtlinie auf dem Gateway. | bool |
hostnameConfigurations | Konfiguration des benutzerdefinierten Hostnamens des API Management-Diensts. | HostnameConfiguration[] |
natGatewayState | Die -Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management-Dienst zu aktivieren. | "Deaktiviert" "Aktiviert" |
notificationSenderEmail | Email Adresse, von der die Benachrichtigung gesendet wird. | Zeichenfolge |
privateEndpointConnections. | Liste der Privaten Endpunktverbindungen dieses Diensts. | RemotePrivateEndpointConnectionWrapper[] |
publicIpAddressId | Public Standard SKU IP V4-basierte IP-Adresse, die Virtual Network bereitgestellten Dienst in der Region zugeordnet werden soll. Wird nur für Entwickler- und Premium-SKU unterstützt, die in Virtual Network bereitgestellt wird. | Zeichenfolge |
publicNetworkAccess | Gibt an, ob der Zugriff auf öffentliche Endpunkte für diesen API Management-Dienst zulässig ist. Der Wert ist optional, aber wenn er übergeben wird, muss "Aktiviert" oder "Deaktiviert" sein. Bei "Disabled" sind private Endpunkte die exklusive Zugriffsmethode. Der Standardwert ist "Enabled". | "Deaktiviert" "Aktiviert" |
publisherEmail | Herausgeber-E-Mail. | Zeichenfolge (erforderlich) |
publisherName | Herausgebername. | Zeichenfolge (erforderlich) |
Wiederherstellen | Wiederherstellen des Api Management-Diensts, wenn er zuvor vorläufig gelöscht wurde. Wenn dieses Flag angegeben und auf True festgelegt ist, werden alle anderen Eigenschaften ignoriert. | bool |
virtualNetworkConfiguration | Virtuelle Netzwerkkonfiguration des API Management-Diensts. | VirtualNetworkConfiguration |
virtualNetworkType | Der VPN-Typ, in dem API Management Dienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API Management-Dienst nicht Teil eines Virtual Network ist. Extern bedeutet, dass die API Management Bereitstellung innerhalb einer Virtual Network eingerichtet ist, die über einen Endpunkt mit Internetzugriff verfügt, und Intern bedeutet, dass API Management die Bereitstellung wird in einem Virtual Network eingerichtet, der nur über einen Intranetendpunkt verfügt. | "Extern" "Intern" "Keine" |
AdditionalLocation
Name | BESCHREIBUNG | Wert |
---|---|---|
disableGateway | Die Eigenschaft ist nur für einen Api Management-Dienst gültig, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway an diesem zusätzlichen Speicherort zu deaktivieren. | bool |
location | Der Standortname der zusätzlichen Region unter den Azure-Rechenzentrumsregionen. | Zeichenfolge (erforderlich) |
natGatewayState | Die -Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management-Dienst zu aktivieren. | "Deaktiviert" "Aktiviert" |
publicIpAddressId | Öffentliche Standard-SKU IP V4-basierte IP-Adresse, die Virtual Network bereitgestellten Dienst am Standort zugeordnet werden soll. Wird nur für Premium-SKU unterstützt, die in Virtual Network bereitgestellt wird. | Zeichenfolge |
sku | SKU-Eigenschaften des API Management-Diensts. | ApiManagementServiceSkuProperties (erforderlich) |
virtualNetworkConfiguration | Konfiguration des virtuellen Netzwerks für den Standort. | VirtualNetworkConfiguration |
Zonen | Eine Liste der Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. | string[] |
ApiManagementServiceSkuProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
Kapazität | Kapazität der SKU (Anzahl der bereitgestellten Einheiten der SKU). Für Verbrauch muss die SKU-Kapazität als 0 angegeben werden. | int (erforderlich) |
name | Name der SKU. | "Basic" "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 Management Dienst bereitgestellt werden soll. | Zeichenfolge |
ApiVersionConstraint
Name | BESCHREIBUNG | Wert |
---|---|---|
minApiVersion | Beschränken Sie die API-Aufrufe der Steuerungsebene an API Management Dienst, deren Version gleich oder höher ist. | Zeichenfolge |
CertificateConfiguration
Name | BESCHREIBUNG | Wert |
---|---|---|
Zertifikat | Zertifikatinformationen. | CertificateInformation |
certificatePassword | Zertifikatkennwort. | Zeichenfolge |
encodedCertificate | Base64-codiertes Zertifikat. | Zeichenfolge |
storeName | Der Zertifikatspeicherort System.Security.Cryptography.x509certificates.StoreName. Nur Root und CertificateAuthority sind gültige Speicherorte. | "CertificateAuthority" 'Root' (erforderlich) |
CertificateInformation
Name | BESCHREIBUNG | Wert |
---|---|---|
expiry | Ablaufdatum des Zertifikats. Das Datum entspricht dem folgenden Format: yyyy-MM-ddTHH:mm:ssZ gemäß der ISO 8601-Norm. |
Zeichenfolge (erforderlich) |
subject | Betreff des Zertifikats. | Zeichenfolge (erforderlich) |
thumbprint | Fingerabdruck des Zertifikats | Zeichenfolge (erforderlich) |
ApiManagementServiceBasePropertiesCustomProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
HostnameConfiguration
Name | BESCHREIBUNG | Wert |
---|---|---|
Zertifikat | Zertifikatinformationen. | CertificateInformation |
certificatePassword | Zertifikatkennwort. | Zeichenfolge |
certificateSource | Zertifikatquelle. | "BuiltIn" "Benutzerdefiniert" "KeyVault" "Verwaltet" |
certificateStatus | Zertifikatstatus. | "Abgeschlossen" "Fehler" "InProgress" |
defaultSslBinding | Geben Sie true an, um das diesem Hostnamen zugeordnete Zertifikat als SSL-Standardzertifikat einzurichten. Wenn ein Client den SNI-Header nicht sendet, ist dies das Zertifikat, das angefordert wird. Die -Eigenschaft ist nützlich, wenn für einen Dienst mehrere benutzerdefinierte Hostnamen aktiviert sind und er sich für das SSL-Standardzertifikat entscheiden muss. Die Einstellung, die nur auf den Hostnamentyp des Gateways angewendet wird. | bool |
encodedCertificate | Base64-codiertes Zertifikat. | Zeichenfolge |
hostName | Hostname, der für den Api Management-Dienst konfiguriert werden soll. | Zeichenfolge (erforderlich) |
identityClientId | Client-ID der system- oder benutzerseitig zugewiesenen verwalteten Identität, wie von Azure AD generiert, die GET-Zugriff auf den keyVault mit dem SSL-Zertifikat hat. | Zeichenfolge |
keyVaultId | URL zum KeyVault-Geheimnis, das das SSL-Zertifikat enthält. Wenn absolute URL mit Version angegeben wird, funktioniert die automatische Aktualisierung des SSL-Zertifikats nicht. Dazu muss der Api Management-Dienst mit aka.ms/apimmsi konfiguriert werden. Das Geheimnis sollte vom Typ application/x-pkcs12 sein. | Zeichenfolge |
negotiateClientCertificate | Geben Sie true an, um immer das Clientzertifikat für den Hostnamen auszuhandeln. Der Standardwert ist false. | bool |
Typ | Hostnamentyp. | "DeveloperPortal" "Verwaltung" "Portal" "Proxy" 'Scm' (erforderlich) |
RemotePrivateEndpointConnectionWrapper
Name | BESCHREIBUNG | Wert |
---|---|---|
id | Verbindungsressourcen-ID des privaten Endpunkts | Zeichenfolge |
name | Verbindungsname des privaten Endpunkts | Zeichenfolge |
properties | Ressourceneigenschaften. | PrivateEndpointConnectionWrapperProperties |
Typ | Ressourcentyp für private Endpunktverbindungen | Zeichenfolge |
PrivateEndpointConnectionWrapperProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
privateEndpoint | Die Ressource des privaten Endpunkts. | ArmIdWrapper |
privateLinkServiceConnectionState | Eine Sammlung von Informationen über den Status der Verbindung zwischen dem Dienst consumer und dem Anbieter. | PrivateLinkServiceConnectionState (erforderlich) |
ArmIdWrapper
Dieses Objekt enthält keine Eigenschaften, die während der Bereitstellung festgelegt werden sollen. Alle Eigenschaften sind ReadOnly.
PrivateLinkServiceConnectionState
Name | BESCHREIBUNG | Wert |
---|---|---|
actionsRequired | Eine Meldung, die angibt, ob Änderungen am Dienstanbieter Updates für den Consumer erfordern. | Zeichenfolge |
description | Der Grund für die Genehmigung/Ablehnung der Verbindung. | Zeichenfolge |
status | Gibt an, ob die Verbindung vom Besitzer des Diensts genehmigt/abgelehnt/entfernt wurde. | "Genehmigt" "Ausstehend" 'Rejected' |
Schnellstartvorlagen
Diesen Ressourcentyp werden in den folgenden Schnellstartvorlagen bereitgestellt.
Vorlage | BESCHREIBUNG |
---|---|
Erstellen einer API Management-Instanz und aller Unterressourcen mithilfe einer Vorlage |
Diese Vorlage veranschaulicht, wie Sie einen API Management Dienst erstellen und Unterentitäten konfigurieren. |
Bereitstellen von API Management mit einem externen Azure Cache for Redis |
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management in der Verbrauchsebene mit einem externen Azure Cache for Redis instance als API Management externen Cache erstellen. |
Bereitstellen API Management im externen VNET mit öffentlicher IP-Adresse |
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management im Subnetz Ihres virtuellen Netzwerks im externen Modus erstellen und empfohlene NSG-Regeln für das Subnetz konfigurieren. Die instance wird in zwei Verfügbarkeitszonen bereitgestellt. Die Vorlage konfiguriert auch eine öffentliche IP-Adresse aus Ihrem Abonnement. |
Erstellen eines API Management instance mit benutzerdefinierten Hostnamen |
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management mit benutzerdefiniertem Hostnamen für das Portal und mehreren benutzerdefinierten Hostnamen für den Proxy erstellen. |
Erstellen API Management im internen VNET mit App Gateway |
In dieser Vorlage wird veranschaulicht, wie Sie eine instance von Azure API Management in einem privaten Netzwerk erstellen, das durch Azure Application Gateway geschützt ist. |
Bereitstellen API Management im internen VNET mit öffentlicher IP-Adresse |
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management in der Premium-Ebene im Subnetz Ihres virtuellen Netzwerks im internen Modus erstellen und empfohlene NSG-Regeln für das Subnetz konfigurieren. Die instance wird in zwei Verfügbarkeitszonen bereitgestellt. Die Vorlage konfiguriert auch eine öffentliche IP-Adresse aus Ihrem Abonnement. |
Erstellen eines API Management instance mit MSI-Identität |
Mit dieser Vorlage wird eine Entwickler-instance von Azure API Management erstellt, die über eine MSI-Identität verfügt. |
Erstellen eines Premium-Tarifs für mehrere Regionen API Management instance |
In dieser Vorlage wird veranschaulicht, wie Sie eine API Management instance mit zusätzlichen Speicherorten erstellen. Der primäre Speicherort ist identisch mit dem Speicherort der Ressourcengruppe. Für zusätzliche Standorte zeigt die Vorlage "NorthCentralUs" und "USA, Osten2" an. Der primäre Standort sollte sich von zusätzlichen Standorten unterscheiden. |
Erstellen von API Management mit benutzerdefiniertem Proxy-SSL mithilfe von KeyVault |
In dieser Vorlage wird veranschaulicht, wie Sie eine instance von Azure API Management erstellen und einen benutzerdefinierten Hostnamen für den Proxy mit ssl-Zertifikat aus keyvault konfigurieren. |
Erstellen eines API Management-Diensts mit SSL aus KeyVault |
Diese Vorlage stellt einen API Management-Dienst bereit, der mit benutzerseitig zugewiesener Identität konfiguriert ist. Diese Identität wird verwendet, um ein SSL-Zertifikat von KeyVault abzurufen und durch Überprüfung alle 4 Stunden auf dem neuesten Stand zu halten. |
Erstellen und Überwachen von API Management instance |
Diese Vorlage erstellt eine instance des Azure API Management-Diensts und des Log Analytics-Arbeitsbereichs und richtet die Überwachung für Ihren API Management-Dienst mit Log Analytics ein. |
Erstellen eines API Management-Diensts mit einem privaten Endpunkt |
Diese Vorlage erstellt einen API Management-Dienst, ein virtuelles Netzwerk und einen privaten Endpunkt, der den API Management-Dienst dem virtuellen Netzwerk verfügbar macht. |
Bereitstellen von API Management in Verfügbarkeitszonen |
Diese Vorlage erstellt eine Premium-instance von Azure API Management und wird in einer Verfügbarkeitszone bereitgestellt. |
Erstellen einer API Management-Instanz mithilfe einer Vorlage |
Mit dieser Vorlage wird ein Entwickler-instance von Azure API Management erstellt. |
Front Door Standard/Premium mit API Management Ursprung |
Diese Vorlage erstellt eine Front Door Premium- und eine API Management instance und verwendet eine NSG- und globale API Management-Richtlinie, um zu überprüfen, ob der Datenverkehr über den Front Door-Ursprung gekommen ist. |
Erstellen von Azure Front Door vor Azure API Management |
In diesem Beispiel wird veranschaulicht, wie Sie Azure Front Door als globalen Lastenausgleich vor Azure API Management verwenden. |
Application Gateway mit internen API Management und Web-App |
Application Gateway Das Weiterleiten von Internetdatenverkehr an ein virtuelles Netzwerk (interner Modus) API Management instance welche Dienste eine Web-API in einer Azure-Web-App hostet. |
Ressourcendefinition mit einer ARM-Vorlage
Der Dienstressourcentyp kann mit Vorgängen bereitgestellt werden, die Folgendes zum Ziel haben:
- 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 der Vorlage den folgenden JSON-Code hinzu.
{
"type": "Microsoft.ApiManagement/service",
"apiVersion": "2022-04-01-preview",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"{customized property}": "string"
"sku": {
"capacity": "int",
"name": "string"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
"clientId": "string",
"principalId": "string"
}
}
},
"properties": {
"additionalLocations": [
{
"disableGateway": "bool",
"location": "string",
"natGatewayState": "string",
"publicIpAddressId": "string",
"sku": {
"capacity": "int",
"name": "string"
},
"virtualNetworkConfiguration": {
"subnetResourceId": "string"
},
"zones": [ "string" ]
}
],
"apiVersionConstraint": {
"minApiVersion": "string"
},
"certificates": [
{
"certificate": {
"expiry": "string",
"subject": "string",
"thumbprint": "string"
},
"certificatePassword": "string",
"encodedCertificate": "string",
"storeName": "string"
}
],
"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 |
---|---|---|
type | Ressourcentyp | "Microsoft.ApiManagement/service" |
apiVersion | Die Ressourcen-API-Version | '2022-04-01-preview' |
name | Der Ressourcenname | Zeichenfolge (erforderlich) Zeichenlimit: 1-50 Gültige Zeichen: Alphanumerische Zeichen und Bindestriche. Muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden. Der Ressourcenname muss in Azure eindeutig sein. |
location | Ressourcenspeicherort | Zeichenfolge (erforderlich) |
tags | Ressourcentags. | Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen |
sku | SKU-Eigenschaften des API Management-Diensts. | ApiManagementServiceSkuProperties (erforderlich) |
Identität | Verwaltete Dienstidentität des Api Management-Diensts. | ApiManagementServiceIdentity |
properties | Eigenschaften des API Management-Diensts. | ApiManagementServiceProperties (erforderlich) |
Zonen | Eine Liste von Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. | string[] |
ApiManagementServiceIdentity
Name | BESCHREIBUNG | Wert |
---|---|---|
type | Der Identitätstyp, der für die Ressource verwendet wird. Der Typ „SystemAssigned, UserAssigned“ umfasst sowohl eine implizit erstellte Identität als auch einen Satz von Benutzern zugewiesener Identitäten. Der Typ "None" entfernt alle Identitäten aus dem Dienst. | "Keine" "SystemAssigned" "SystemAssigned, UserAssigned" "UserAssigned" (erforderlich) |
userAssignedIdentities | Die Liste der Benutzeridentitäten, die der Ressource zugeordnet sind. Die Benutzeridentität Wörterbuchschlüsselverweise sind ARM-Ressourcen-IDs in der Form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | UserIdentityProperties |
UserIdentityProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
clientId | Die Client-ID der benutzerseitig zugewiesenen Identität. | Zeichenfolge |
principalId | Die Prinzipal-ID der benutzerseitig zugewiesenen Identität. | Zeichenfolge |
ApiManagementServiceProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
additionalLocations | Zusätzliche Rechenzentrumsstandorte des API Management-Diensts. | AdditionalLocation[] |
apiVersionConstraint | Apis-Versionseinschränkung der Steuerungsebene für den API Management-Dienst. | ApiVersionConstraint |
certificates | Liste der Zertifikate, die im API Management-Dienst installiert werden müssen. Die maximale Anzahl von unterstützten Zertifikaten, die installiert werden können, beträgt 10. | CertificateConfiguration[] |
customProperties | Benutzerdefinierte Eigenschaften des API Management-Diensts. Durch die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 wird die Verschlüsselung TLS_RSA_WITH_3DES_EDE_CBC_SHA für alle TLS(1.0, 1.1 und 1.2) deaktiviert.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für einen API Management-Dienst zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 für die Kommunikation mit Back-Ends zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für die Kommunikation mit Back-Ends zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 kann verwendet werden, um das HTTP2-Protokoll für einen API Management-Dienst zu aktivieren.Wenn Sie keine dieser Eigenschaften im PATCH-Vorgang angeben, werden die Werte ausgelassener Eigenschaften auf ihre Standardwerte zurückgesetzt. Für alle Einstellungen mit Ausnahme von Http2 ist True der Standardwert, wenn der Dienst am oder vor dem 1. April 2018 erstellt wurde und False andernfalls. Der Standardwert der Http2-Einstellung ist False .Sie können jede der nächsten Verschlüsselungen mithilfe der Einstellungen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] deaktivieren: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. Beispiel Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 : :false . Der Standardwert ist true für sie. Hinweis: Nächste Verschlüsselungen können nicht deaktiviert werden, da sie von internen Azure CloudService-Komponenten erforderlich sind: 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,TLS_RSA_WITH_AES_256_GCM_SHA384 |
ApiManagementServiceBasePropertiesCustomProperties |
disableGateway | Die Eigenschaft gilt nur für einen Api Management-Dienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway in master Region zu deaktivieren. | bool |
enableClientCertificate | Eigenschaft, die nur für den Verbrauchs-SKU-Dienst verwendet werden soll. Dadurch wird ein Clientzertifikat erzwungen, das bei jeder Anforderung an das Gateway angezeigt wird. Dies ermöglicht auch die Authentifizierung des Zertifikats in der Richtlinie auf dem Gateway. | bool |
hostnameConfigurations | Konfiguration des benutzerdefinierten Hostnamens des API Management-Diensts. | HostnameConfiguration[] |
natGatewayState | Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren. | "Deaktiviert" "Aktiviert" |
notificationSenderEmail | Email Adresse, von der die Benachrichtigung gesendet wird. | Zeichenfolge |
privateEndpointConnections. | Liste der Privaten Endpunktverbindungen dieses Diensts. | RemotePrivateEndpointConnectionWrapper[] |
publicIpAddressId | Öffentliche Standard-SKU-IP-V4-basierte IP-Adresse, die Virtual Network bereitgestellten Dienst in der Region zugeordnet werden soll. Wird nur für Entwickler- und Premium-SKU unterstützt, die in Virtual Network bereitgestellt werden. | Zeichenfolge |
publicNetworkAccess | Gibt an, ob für diesen API Management Dienst der Zugriff auf öffentliche Endpunkte zulässig ist oder nicht. Der Wert ist optional, muss aber bei Übergabe "Aktiviert" oder "Deaktiviert" sein. Bei "Deaktiviert" sind private Endpunkte die exklusive Zugriffsmethode. Der Standardwert ist "Aktiviert". | "Deaktiviert" "Aktiviert" |
publisherEmail | Herausgeber-E-Mail. | Zeichenfolge (erforderlich) |
publisherName | Name des Herausgebers. | Zeichenfolge (erforderlich) |
Wiederherstellen | Wiederherstellen des Api Management-Diensts, wenn er zuvor vorläufig gelöscht wurde. Wenn dieses Flag angegeben und auf True festgelegt ist, werden alle anderen Eigenschaften ignoriert. | bool |
virtualNetworkConfiguration | Virtuelle Netzwerkkonfiguration des API Management-Diensts. | VirtualNetworkConfiguration |
virtualNetworkType | Der VPN-Typ, in dem API Management Dienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API Management-Dienst nicht Teil eines Virtual Network ist. Extern bedeutet, dass die API Management Bereitstellung innerhalb eines Virtual Network mit einem Endpunkt mit Internetzugriff eingerichtet ist, und Intern bedeutet, dass API Management Die Bereitstellung wird in einer Virtual Network eingerichtet, die nur einen intranetorientierten Endpunkt aufweist. | "Extern" "Intern" "Keine" |
AdditionalLocation
Name | BESCHREIBUNG | Wert |
---|---|---|
disableGateway | Die Eigenschaft gilt nur für einen Api Management-Dienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway an diesem zusätzlichen Speicherort zu deaktivieren. | bool |
location | Der Standortname der zusätzlichen Region unter Den Azure-Rechenzentrumsregionen. | Zeichenfolge (erforderlich) |
natGatewayState | Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren. | "Deaktiviert" "Aktiviert" |
publicIpAddressId | Öffentliche Standard-SKU IP V4-basierte IP-Adresse, die Virtual Network bereitgestellten Dienst am Standort zugeordnet werden soll. Wird nur für Premium-SKU unterstützt, die in Virtual Network bereitgestellt wird. | Zeichenfolge |
sku | SKU-Eigenschaften des API Management-Diensts. | ApiManagementServiceSkuProperties (erforderlich) |
virtualNetworkConfiguration | Konfiguration des virtuellen Netzwerks für den Standort. | VirtualNetworkConfiguration |
Zonen | Eine Liste der Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. | string[] |
ApiManagementServiceSkuProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
Kapazität | Kapazität der SKU (Anzahl der bereitgestellten Einheiten der SKU). Für Verbrauch muss die SKU-Kapazität als 0 angegeben werden. | int (erforderlich) |
name | Name der SKU. | "Basic" "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 Management Dienst bereitgestellt werden soll. | Zeichenfolge |
ApiVersionConstraint
Name | BESCHREIBUNG | Wert |
---|---|---|
minApiVersion | Beschränken Sie die API-Aufrufe der Steuerungsebene an API Management Dienst, deren Version gleich oder höher ist. | Zeichenfolge |
CertificateConfiguration
Name | BESCHREIBUNG | Wert |
---|---|---|
Zertifikat | Zertifikatinformationen. | CertificateInformation |
certificatePassword | Zertifikatkennwort. | Zeichenfolge |
encodedCertificate | Base64-codiertes Zertifikat. | Zeichenfolge |
storeName | Der Zertifikatspeicherort System.Security.Cryptography.x509certificates.StoreName. Nur Root und CertificateAuthority sind gültige Speicherorte. | "CertificateAuthority" 'Root' (erforderlich) |
CertificateInformation
Name | BESCHREIBUNG | Wert |
---|---|---|
expiry | Ablaufdatum des Zertifikats. Das Datum entspricht dem folgenden Format: yyyy-MM-ddTHH:mm:ssZ gemäß der ISO 8601-Norm. |
Zeichenfolge (erforderlich) |
subject | Betreff des Zertifikats. | Zeichenfolge (erforderlich) |
thumbprint | Fingerabdruck des Zertifikats | Zeichenfolge (erforderlich) |
ApiManagementServiceBasePropertiesCustomProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
HostnameConfiguration
Name | BESCHREIBUNG | Wert |
---|---|---|
Zertifikat | Zertifikatinformationen. | CertificateInformation |
certificatePassword | Zertifikatkennwort. | Zeichenfolge |
certificateSource | Zertifikatquelle. | "BuiltIn" "Benutzerdefiniert" "KeyVault" "Verwaltet" |
certificateStatus | Zertifikatstatus. | "Abgeschlossen" "Fehler" "InProgress" |
defaultSslBinding | Geben Sie true an, um das diesem Hostnamen zugeordnete Zertifikat als Standard-SSL-Zertifikat einzurichten. Wenn ein Client den SNI-Header nicht sendet, wird dies das Zertifikat sein, das angefragt wird. Die Eigenschaft ist nützlich, wenn für einen Dienst mehrere benutzerdefinierte Hostnamen aktiviert sind und er sich für das Standard-SSL-Zertifikat entscheiden muss. Die Einstellung wird nur auf den Hostnamentyp des Gateways angewendet. | bool |
encodedCertificate | Base64-codiertes Zertifikat. | Zeichenfolge |
hostName | Hostname, der für den Api Management-Dienst konfiguriert werden soll. | Zeichenfolge (erforderlich) |
identityClientId | Client-Id für system- oder benutzerseitig zugewiesene verwaltete Identität, wie von Azure AD generiert, die GET-Zugriff auf den keyVault mit dem SSL-Zertifikat hat. | Zeichenfolge |
keyVaultId | URL zum KeyVault-Geheimnis, das das SSL-Zertifikat enthält. Wenn absolute URL mit Version angegeben wird, funktioniert die automatische Aktualisierung des SSL-Zertifikats nicht. Dazu muss der Api Management-Dienst mit aka.ms/apimmsi konfiguriert werden. Das Geheimnis sollte vom Typ application/x-pkcs12 sein. | Zeichenfolge |
negotiateClientCertificate | Geben Sie true an, um immer das Clientzertifikat für den Hostnamen auszuhandeln. Der Standardwert ist false. | bool |
Typ | Hostnamentyp. | "DeveloperPortal" "Verwaltung" "Portal" "Proxy" 'Scm' (erforderlich) |
RemotePrivateEndpointConnectionWrapper
Name | BESCHREIBUNG | Wert |
---|---|---|
id | Verbindungsressourcen-ID des privaten Endpunkts | Zeichenfolge |
name | Verbindungsname des privaten Endpunkts | Zeichenfolge |
properties | Ressourceneigenschaften. | PrivateEndpointConnectionWrapperProperties |
Typ | Ressourcentyp für private Endpunktverbindungen | Zeichenfolge |
PrivateEndpointConnectionWrapperProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
privateEndpoint | Die Ressource des privaten Endpunkts. | ArmIdWrapper |
privateLinkServiceConnectionState | Eine Sammlung von Informationen über den Status der Verbindung zwischen dem Dienst consumer und dem Anbieter. | PrivateLinkServiceConnectionState (erforderlich) |
ArmIdWrapper
Dieses Objekt enthält keine Eigenschaften, die während der Bereitstellung festgelegt werden sollen. Alle Eigenschaften sind ReadOnly.
PrivateLinkServiceConnectionState
Name | BESCHREIBUNG | Wert |
---|---|---|
actionsRequired | Eine Meldung, die angibt, ob Änderungen am Dienstanbieter Updates für den Consumer erfordern. | Zeichenfolge |
description | Der Grund für die Genehmigung/Ablehnung der Verbindung. | Zeichenfolge |
status | Gibt an, ob die Verbindung vom Besitzer des Diensts genehmigt/abgelehnt/entfernt wurde. | "Genehmigt" "Ausstehend" 'Rejected' |
Schnellstartvorlagen
Diesen Ressourcentyp werden in den folgenden Schnellstartvorlagen bereitgestellt.
Vorlage | BESCHREIBUNG |
---|---|
Erstellen einer API Management-Instanz und aller Unterressourcen mithilfe einer Vorlage |
Diese Vorlage veranschaulicht, wie Sie einen API Management Dienst erstellen und Unterentitäten konfigurieren. |
Bereitstellen von API Management mit einem externen Azure Cache for Redis |
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management in der Verbrauchsebene mit einem externen Azure Cache for Redis instance als API Management externen Cache erstellen. |
Bereitstellen API Management im externen VNET mit öffentlicher IP-Adresse |
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management im Subnetz Ihres virtuellen Netzwerks im externen Modus erstellen und empfohlene NSG-Regeln für das Subnetz konfigurieren. Die instance wird in zwei Verfügbarkeitszonen bereitgestellt. Die Vorlage konfiguriert auch eine öffentliche IP-Adresse aus Ihrem Abonnement. |
Erstellen eines API Management instance mit benutzerdefinierten Hostnamen |
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management mit benutzerdefiniertem Hostnamen für das Portal und mehreren benutzerdefinierten Hostnamen für den Proxy erstellen. |
Erstellen API Management im internen VNET mit App Gateway |
In dieser Vorlage wird veranschaulicht, wie Sie eine instance von Azure API Management in einem privaten Netzwerk erstellen, das durch Azure Application Gateway geschützt ist. |
Bereitstellen API Management im internen VNET mit öffentlicher IP-Adresse |
Diese Vorlage veranschaulicht, wie Sie im subnetz Ihres virtuellen Netzwerks im internen Modus eine instance von Azure API Management im Premium-Tarif erstellen und empfohlene NSG-Regeln für das Subnetz konfigurieren. Die instance wird in zwei Verfügbarkeitszonen bereitgestellt. Die Vorlage konfiguriert auch eine öffentliche IP-Adresse aus Ihrem Abonnement. |
Erstellen eines API Management instance mit MSI-Identität |
Mit dieser Vorlage wird eine Entwickler-instance von Azure API Management erstellt, die über eine MSI-Identität verfügt. |
Erstellen eines Premium-Tarifs für mehrere Regionen API Management instance |
Diese Vorlage veranschaulicht, wie Sie eine API Management instance mit zusätzlichen Speicherorten erstellen. Der primäre Standort ist identisch mit dem Speicherort der Ressourcengruppe. Für zusätzliche Standorte zeigt die Vorlage NorthCentralUs und USA, Osten2 an. Der primäre Standort sollte sich von zusätzlichen Standorten unterscheiden. |
Erstellen API Management mit benutzerdefiniertem Ssl-Proxy mithilfe von KeyVault |
Diese Vorlage veranschaulicht, wie Sie eine instance von Azure API Management erstellen und einen benutzerdefinierten Hostnamen für einen Proxy mit SSL-Zertifikat aus keyvault konfigurieren. |
Erstellen eines API Management-Diensts mit SSL aus KeyVault |
Diese Vorlage stellt einen API Management-Dienst bereit, der mit benutzerseitig zugewiesener Identität konfiguriert ist. Diese Identität wird verwendet, um ein SSL-Zertifikat aus KeyVault abzurufen, und es wird aktualisiert, indem es alle 4 Stunden überprüft wird. |
Erstellen und Überwachen von API Management instance |
Diese Vorlage erstellt eine instance des Azure API Management-Diensts und des Log Analytics-Arbeitsbereichs und richtet die Überwachung für Ihren API Management-Dienst mit Log Analytics ein. |
Erstellen eines API Management-Diensts mit einem privaten Endpunkt |
Diese Vorlage erstellt einen API Management-Dienst, ein virtuelles Netzwerk und einen privaten Endpunkt, der den API Management-Dienst für das virtuelle Netzwerk verfügbar macht. |
Bereitstellen von API Management in Verfügbarkeitszonen |
Mit dieser Vorlage wird eine Premium-instance von Azure API Management erstellt und in einer Verfügbarkeitszone bereitgestellt. |
Erstellen einer API Management-Instanz mithilfe einer Vorlage |
Diese Vorlage erstellt eine Entwickler-instance von Azure API Management |
Front Door Standard/Premium mit API Management Ursprung |
Diese Vorlage erstellt eine Front Door Premium- und eine API Management instance und verwendet eine NSG- und globale API Management richtlinie, um zu überprüfen, ob Datenverkehr den Front Door-Ursprung erreicht hat. |
Erstellen von Azure Front Door vor Azure API Management |
In diesem Beispiel wird veranschaulicht, wie Sie Azure Front Door als globalen Lastenausgleich vor Azure API Management verwenden. |
Application Gateway mit internen API Management und Web-App |
Application Gateway Das Weiterleiten von Internetdatenverkehr an ein virtuelles Netzwerk (interner Modus) API Management instance, welche Dienste eine Web-API in einer Azure-Web-App hostet. |
Terraform-Ressourcendefinition (AzAPI-Anbieter)
Der Dienstressourcentyp kann mit Vorgängen bereitgestellt werden, die Folgendes zum Ziel haben:
- Ressourcengruppen
Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie im Änderungsprotokoll.
Ressourcenformat
Um eine Microsoft.ApiManagement/service-Ressource zu erstellen, fügen Sie Der Vorlage den folgenden Terraform hinzu.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ApiManagement/service@2022-04-01-preview"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
{customized property} = "string"
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
additionalLocations = [
{
disableGateway = bool
location = "string"
natGatewayState = "string"
publicIpAddressId = "string"
sku = {
capacity = int
name = "string"
}
virtualNetworkConfiguration = {
subnetResourceId = "string"
}
zones = [
"string"
]
}
]
apiVersionConstraint = {
minApiVersion = "string"
}
certificates = [
{
certificate = {
expiry = "string"
subject = "string"
thumbprint = "string"
}
certificatePassword = "string"
encodedCertificate = "string"
storeName = "string"
}
]
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 |
---|---|---|
type | Der Ressourcentyp | "Microsoft.ApiManagement/service@2022-04-01-preview" |
name | Der Ressourcenname | Zeichenfolge (erforderlich) Zeichenlimit: 1-50 Gültige Zeichen: Alphanumerische Zeichen und Bindestriche. Muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden. Der Ressourcenname muss in Azure eindeutig sein. |
location | Ressourcenspeicherort | Zeichenfolge (erforderlich) |
parent_id | Verwenden Sie zum Bereitstellen in einer Ressourcengruppe die ID dieser Ressourcengruppe. | Zeichenfolge (erforderlich) |
tags | Ressourcentags. | Wörterbuch der Tagnamen und -werte. |
sku | SKU-Eigenschaften des API Management-Diensts. | ApiManagementServiceSkuProperties (erforderlich) |
Identität | Verwaltete Dienstidentität des Api Management-Diensts. | ApiManagementServiceIdentity |
properties | Eigenschaften des API Management-Diensts. | ApiManagementServiceProperties (erforderlich) |
Zonen | Eine Liste der Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. | string[] |
ApiManagementServiceIdentity
Name | BESCHREIBUNG | Wert |
---|---|---|
type | Der Identitätstyp, der für die Ressource verwendet wird. Der Typ „SystemAssigned, UserAssigned“ umfasst sowohl eine implizit erstellte Identität als auch einen Satz von Benutzern zugewiesener Identitäten. Der Typ "None" entfernt alle Identitäten aus dem Dienst. | "SystemAssigned" "SystemAssigned, UserAssigned" "UserAssigned" (erforderlich) |
identity_ids | Die Liste der Benutzeridentitäten, die der Ressource zugeordnet sind. Die Benutzeridentität Wörterbuchschlüsselverweise sind ARM-Ressourcen-IDs im Format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
Array von Benutzeridentitäts-IDs. |
ApiManagementServiceIdentityUserAssignedIdentities
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | UserIdentityProperties |
UserIdentityProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
clientId | Die Client-ID der benutzerseitig zugewiesenen Identität. | Zeichenfolge |
principalId | Die Prinzipal-ID der benutzerseitig zugewiesenen Identität. | Zeichenfolge |
ApiManagementServiceProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
additionalLocations | Zusätzliche Rechenzentrumsstandorte des API Management-Diensts. | AdditionalLocation[] |
apiVersionConstraint | Apis-Versionseinschränkung der Steuerungsebene für den API Management-Dienst. | ApiVersionConstraint |
certificates | Liste der Zertifikate, die im API Management-Dienst installiert werden müssen. Die maximale Anzahl von unterstützten Zertifikaten, die installiert werden können, beträgt 10. | CertificateConfiguration[] |
customProperties | Benutzerdefinierte Eigenschaften des API Management-Diensts. Durch die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 wird die Verschlüsselung TLS_RSA_WITH_3DES_EDE_CBC_SHA für alle TLS(1.0, 1.1 und 1.2) deaktiviert.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für einen API Management-Dienst zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 für die Kommunikation mit Back-Ends zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für die Kommunikation mit Back-Ends zu deaktivieren.Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 kann verwendet werden, um das HTTP2-Protokoll für einen API Management-Dienst zu aktivieren.Wenn Sie keine dieser Eigenschaften im PATCH-Vorgang angeben, werden die Werte ausgelassener Eigenschaften auf ihre Standardwerte zurückgesetzt. Für alle Einstellungen mit Ausnahme von Http2 ist True der Standardwert, wenn der Dienst am oder vor dem 1. April 2018 erstellt wurde und False andernfalls. Der Standardwert der Http2-Einstellung ist False .Sie können jede der nächsten Verschlüsselungen mithilfe der Einstellungen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] deaktivieren: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. Beispiel Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 : :false . Der Standardwert ist true für sie. Hinweis: Nächste Verschlüsselungen können nicht deaktiviert werden, da sie von internen Azure CloudService-Komponenten erforderlich sind: 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,TLS_RSA_WITH_AES_256_GCM_SHA384 |
ApiManagementServiceBasePropertiesCustomProperties |
disableGateway | Die Eigenschaft gilt nur für einen Api Management-Dienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway in master Region zu deaktivieren. | bool |
enableClientCertificate | Eigenschaft, die nur für den Verbrauchs-SKU-Dienst verwendet werden soll. Dadurch wird ein Clientzertifikat erzwungen, das bei jeder Anforderung an das Gateway angezeigt wird. Dies ermöglicht auch die Authentifizierung des Zertifikats in der Richtlinie auf dem Gateway. | bool |
hostnameConfigurations | Konfiguration des benutzerdefinierten Hostnamens des API Management-Diensts. | HostnameConfiguration[] |
natGatewayState | Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren. | "Deaktiviert" "Aktiviert" |
notificationSenderEmail | Email Adresse, von der die Benachrichtigung gesendet wird. | Zeichenfolge |
privateEndpointConnections. | Liste der Privaten Endpunktverbindungen dieses Diensts. | RemotePrivateEndpointConnectionWrapper[] |
publicIpAddressId | Öffentliche Standard-SKU-IP-V4-basierte IP-Adresse, die Virtual Network bereitgestellten Dienst in der Region zugeordnet werden soll. Wird nur für Entwickler- und Premium-SKU unterstützt, die in Virtual Network bereitgestellt werden. | Zeichenfolge |
publicNetworkAccess | Gibt an, ob für diesen API Management Dienst der Zugriff auf öffentliche Endpunkte zulässig ist oder nicht. Der Wert ist optional, muss aber bei Übergabe "Aktiviert" oder "Deaktiviert" sein. Bei "Deaktiviert" sind private Endpunkte die exklusive Zugriffsmethode. Der Standardwert ist "Aktiviert". | "Deaktiviert" "Aktiviert" |
publisherEmail | Herausgeber-E-Mail. | Zeichenfolge (erforderlich) |
publisherName | Name des Herausgebers. | Zeichenfolge (erforderlich) |
Wiederherstellen | Wiederherstellen des Api Management-Diensts, wenn er zuvor vorläufig gelöscht wurde. Wenn dieses Flag angegeben und auf True festgelegt ist, werden alle anderen Eigenschaften ignoriert. | bool |
virtualNetworkConfiguration | Virtuelle Netzwerkkonfiguration des API Management-Diensts. | VirtualNetworkConfiguration |
virtualNetworkType | Der VPN-Typ, in dem API Management Dienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API Management-Dienst nicht Teil eines Virtual Network ist. Extern bedeutet, dass die API Management Bereitstellung innerhalb eines Virtual Network mit einem Endpunkt mit Internetzugriff eingerichtet ist, und Intern bedeutet, dass API Management Die Bereitstellung wird in einer Virtual Network eingerichtet, die nur einen intranetorientierten Endpunkt aufweist. | "Extern" "Intern" "None" |
AdditionalLocation
Name | BESCHREIBUNG | Wert |
---|---|---|
disableGateway | Die Eigenschaft gilt nur für einen Api Management-Dienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway an diesem zusätzlichen Speicherort zu deaktivieren. | bool |
location | Der Standortname der zusätzlichen Region unter Den Azure-Rechenzentrumsregionen. | Zeichenfolge (erforderlich) |
natGatewayState | Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren. | "Deaktiviert" "Aktiviert" |
publicIpAddressId | Öffentliche Standard-SKU-IP-V4-basierte IP-Adresse, die Virtual Network bereitgestellten Diensts am Standort zugeordnet werden soll. Wird nur für premium-SKU unterstützt, die in Virtual Network bereitgestellt wird. | Zeichenfolge |
sku | SKU-Eigenschaften des API Management-Diensts. | ApiManagementServiceSkuProperties (erforderlich) |
virtualNetworkConfiguration | Virtuelle Netzwerkkonfiguration für den Standort. | VirtualNetworkConfiguration |
Zonen | Eine Liste von Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss. | string[] |
ApiManagementServiceSkuProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
Kapazität | Kapazität der SKU (Anzahl der bereitgestellten Einheiten der SKU). Für Verbrauch muss die SKU-Kapazität als 0 angegeben werden. | int (erforderlich) |
name | Name der Sku. | „Basic“ "Verbrauch" "Entwickler" "Isoliert" "Premium" "Standard" (erforderlich) |
VirtualNetworkConfiguration
Name | BESCHREIBUNG | Wert |
---|---|---|
subnetResourceId | Die vollständige Ressourcen-ID eines Subnetzes in einem virtuellen Netzwerk zum Bereitstellen des API Management Diensts. | Zeichenfolge |
ApiVersionConstraint
Name | BESCHREIBUNG | Wert |
---|---|---|
minApiVersion | Beschränken Sie API-Aufrufe der Steuerungsebene für API Management Dienst, deren Version gleich oder höher ist als dieser Wert. | Zeichenfolge |
CertificateConfiguration
Name | BESCHREIBUNG | Wert |
---|---|---|
Zertifikat | Zertifikatinformationen. | CertificateInformation |
certificatePassword | Zertifikatkennwort. | Zeichenfolge |
encodedCertificate | Base64-codiertes Zertifikat. | Zeichenfolge |
storeName | Der Zertifikatspeicherspeicherort System.Security.Cryptography.x509certificates.StoreName. Nur Root und CertificateAuthority sind gültige Speicherorte. | "CertificateAuthority" "Root" (erforderlich) |
CertificateInformation
Name | BESCHREIBUNG | Wert |
---|---|---|
expiry | Ablaufdatum des Zertifikats. Das Datum entspricht dem folgenden Format: yyyy-MM-ddTHH:mm:ssZ gemäß der ISO 8601-Norm. |
Zeichenfolge (erforderlich) |
subject | Antragsteller des Zertifikats. | Zeichenfolge (erforderlich) |
thumbprint | Fingerabdruck des Zertifikats | Zeichenfolge (erforderlich) |
ApiManagementServiceBasePropertiesCustomProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
HostnameConfiguration
Name | BESCHREIBUNG | Wert |
---|---|---|
Zertifikat | Zertifikatinformationen. | CertificateInformation |
certificatePassword | Zertifikatkennwort. | Zeichenfolge |
certificateSource | Zertifikatquelle. | "BuiltIn" "Custom" "KeyVault" "Verwaltet" |
certificateStatus | Zertifikatstatus. | "Abgeschlossen" "Fehler" "InProgress" |
defaultSslBinding | Geben Sie true an, um das diesem Hostnamen zugeordnete Zertifikat als Standard-SSL-Zertifikat einzurichten. Wenn ein Client den SNI-Header nicht sendet, wird dies das Zertifikat sein, das angefragt wird. Die Eigenschaft ist nützlich, wenn für einen Dienst mehrere benutzerdefinierte Hostnamen aktiviert sind und er sich für das Standard-SSL-Zertifikat entscheiden muss. Die Einstellung wird nur auf den Hostnamentyp des Gateways angewendet. | bool |
encodedCertificate | Base64-codiertes Zertifikat. | Zeichenfolge |
hostName | Hostname, der für den Api Management-Dienst konfiguriert werden soll. | Zeichenfolge (erforderlich) |
identityClientId | Client-Id für system- oder benutzerseitig zugewiesene verwaltete Identität, wie von Azure AD generiert, die GET-Zugriff auf den keyVault mit dem SSL-Zertifikat hat. | Zeichenfolge |
keyVaultId | URL zum KeyVault-Geheimnis, das das SSL-Zertifikat enthält. Wenn absolute URL mit Version angegeben wird, funktioniert die automatische Aktualisierung des SSL-Zertifikats nicht. Dazu muss der Api Management-Dienst mit aka.ms/apimmsi konfiguriert werden. Das Geheimnis sollte vom Typ application/x-pkcs12 sein. | Zeichenfolge |
negotiateClientCertificate | Geben Sie true an, um immer das Clientzertifikat für den Hostnamen auszuhandeln. Der Standardwert ist false. | bool |
Typ | Hostnamentyp. | "DeveloperPortal" "Verwaltung" "Portal" "Proxy" "Scm" (erforderlich) |
RemotePrivateEndpointConnectionWrapper
Name | BESCHREIBUNG | Wert |
---|---|---|
id | Verbindungsressourcen-ID des privaten Endpunkts | Zeichenfolge |
name | Verbindungsname des privaten Endpunkts | Zeichenfolge |
properties | Ressourceneigenschaften. | PrivateEndpointConnectionWrapperProperties |
Typ | Ressourcentyp für private Endpunktverbindungen | Zeichenfolge |
PrivateEndpointConnectionWrapperProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
privateEndpoint | Die Ressource des privaten Endpunkts. | ArmIdWrapper |
privateLinkServiceConnectionState | Eine Sammlung von Informationen über den Status der Verbindung zwischen dem Dienst consumer und dem Anbieter. | PrivateLinkServiceConnectionState (erforderlich) |
ArmIdWrapper
Dieses Objekt enthält keine Eigenschaften, die während der Bereitstellung festgelegt werden sollen. Alle Eigenschaften sind ReadOnly.
PrivateLinkServiceConnectionState
Name | BESCHREIBUNG | Wert |
---|---|---|
actionsRequired | Eine Meldung, die angibt, ob Änderungen am Dienstanbieter Updates für den Consumer erfordern. | Zeichenfolge |
description | Der Grund für die Genehmigung/Ablehnung der Verbindung. | Zeichenfolge |
status | Gibt an, ob die Verbindung vom Besitzer des Diensts genehmigt/abgelehnt/entfernt wurde. | "Genehmigt" "Ausstehend" "Abgelehnt" |