Usługa Microsoft.ApiManagement

Definicja zasobu Bicep

Typ zasobu usługi można wdrożyć z operacjami docelowymi:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennik zmian.

Format zasobu

Aby utworzyć zasób Microsoft.ApiManagement/service, dodaj następujący kod Bicep do szablonu.

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

Wartości właściwości

usługa

Nazwa Opis Wartość
name Nazwa zasobu ciąg (wymagany)

Limit znaków: 1–50

Prawidłowe znaki:
Alfanumeryczne i łączniki.

Zacznij od litery i na końcu alfanumeryczne.

Nazwa zasobu musi być unikatowa na platformie Azure.
location Lokalizacja zasobu. ciąg (wymagany)
tags Tagi zasobów. Słownik nazw tagów i wartości. Zobacz Tagi w szablonach
sku Właściwości jednostki SKU usługi API Management. ApiManagementServiceSkuProperties (wymagane)
identity Tożsamość usługi zarządzanej usługi Api Management. ApiManagementServiceIdentity
properties Właściwości usługi API Management. ApiManagementServiceProperties (wymagane)
Stref Lista stref dostępności oznaczających miejsce, z którego ma pochodzić zasób. ciąg[]

ApiManagementServiceIdentity

Nazwa Opis Wartość
typ Typ tożsamości używanej dla zasobu. Typ "SystemAssigned, UserAssigned" zawiera zarówno niejawnie utworzoną tożsamość, jak i zestaw tożsamości przypisanych przez użytkownika. Typ "Brak" spowoduje usunięcie wszystkich tożsamości z usługi. "Brak"
"SystemAssigned"
"SystemAssigned, UserAssigned"
"UserAssigned" (wymagane)
userAssignedIdentities Lista tożsamości użytkowników skojarzonych z zasobem. Tożsamość użytkownika
odwołania do klucza słownika będą zawierać identyfikatory zasobów usługi ARM w postaci:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
ApiManagementServiceIdentityUserAssignedIdentities

ApiManagementServiceIdentityUserAssignedIdentities

Nazwa Opis Wartość
{niestandardowa właściwość} UserIdentityProperties

UserIdentityProperties

Nazwa Opis Wartość
clientId Identyfikator klienta tożsamości przypisanej przez użytkownika. ciąg
principalId Identyfikator podmiotu zabezpieczeń tożsamości przypisanej przez użytkownika. ciąg

ApiManagementServiceProperties

Nazwa Opis Wartość
additionalLocations Dodatkowe lokalizacje centrum danych usługi API Management. AdditionalLocation[]
apiVersionConstraint Ograniczenie wersji interfejsu API płaszczyzny sterowania dla usługi API Management. ApiVersionConstraint
certyfikaty Lista certyfikatów, które należy zainstalować w usłudze API Management. Maksymalna obsługiwana liczba certyfikatów, które można zainstalować, wynosi 10. Konfiguracja certyfikatu[]
configurationApi Konfiguracja konfiguracji interfejsu API usługi API Management. ConfigurationApi
Customproperties Właściwości niestandardowe usługi API Management.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 spowoduje wyłączenie TLS_RSA_WITH_3DES_EDE_CBC_SHA szyfrowania dla wszystkich protokołów TLS(1.0, 1.1 i 1.2).
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 może służyć do wyłączania tylko protokołu TLS 1.1.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 może służyć do wyłączania protokołu TLS 1.0 w usłudze API Management.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 może służyć do wyłączania tylko protokołu TLS 1.1 na potrzeby komunikacji z zapleczem.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 może służyć do wyłączania protokołu TLS 1.0 na potrzeby komunikacji z zapleczami.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 może służyć do włączania protokołu HTTP2 w usłudze API Management.
Nieokreślenie żadnej z tych właściwości operacji PATCH spowoduje zresetowanie wartości właściwości do ich wartości domyślnych. Dla wszystkich ustawień z wyjątkiem Http2 wartość domyślna to True , jeśli usługa została utworzona w dniu 1 kwietnia 2018 r False . lub wcześniej. Wartość domyślna ustawienia Http2 to False.

Można wyłączyć dowolny z następujących szyfrów przy użyciu ustawień Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]: 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. Na przykład Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256:false . Wartość domyślna jest true dla nich.
Uwaga: Nie można wyłączyć następujących szyfrów, ponieważ są one wymagane przez składniki platformy wewnętrznej: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
ApiManagementServiceBasePropertiesCustomProperties
developerPortalStatus Stan portalu dla deweloperów w tej usłudze API Management. "Wyłączone"
"Włączone"
disableGateway Właściwość jest prawidłowa tylko dla usługi Api Management wdrożonej w wielu lokalizacjach. Może to służyć do wyłączania bramy w regionie głównym. bool
enableClientCertificate Właściwość przeznaczona tylko do użycia w przypadku usługi SKU Zużycie. Wymusza to prezentowanie certyfikatu klienta dla każdego żądania do bramy. Umożliwia to również uwierzytelnianie certyfikatu w zasadach w bramie. bool
hostnameConfigurations Niestandardowa konfiguracja nazwy hosta usługi API Management. Nazwa hostaKonfiguracja[]
legacyPortalStatus Stan starszego portalu w usłudze API Management. "Wyłączone"
"Włączone"
natGatewayState Właściwość może służyć do włączania bramy translatora adresów sieciowych dla tej usługi API Management. "Wyłączone"
"Włączone"
notificationSenderEmail Email adres, z którego zostanie wysłane powiadomienie. ciąg
privateEndpointConnections Lista połączeń prywatnego punktu końcowego tej usługi. RemotePrivateEndpointConnectionWrapper[]
publicIpAddressId Publiczny adres IP jednostki SKU w wersji 4, który ma być skojarzony z usługą wdrożona Virtual Network w regionie. Obsługiwane tylko w przypadku jednostek SKU developer i Premium wdrażanych w Virtual Network. ciąg
publicNetworkAccess Określa, czy dostęp do publicznego punktu końcowego jest dozwolony dla tej usługi API Management. Wartość jest opcjonalna, ale jeśli została przekazana, musi mieć wartość "Włączone" lub "Wyłączone". Jeśli wartość jest wyłączona, prywatne punkty końcowe są metodą wyłącznego dostępu. Wartość domyślna to "Włączone" "Wyłączone"
"Włączone"
publisherEmail Adres e-mail wydawcy. ciąg (wymagany)
publisherName Nazwa wydawcy. ciąg (wymagany)
Przywracanie Cofanie usuwania usługi Api Management, jeśli została wcześniej usunięta nietrwale. Jeśli ta flaga jest określona i ustawiona na True, wszystkie inne właściwości zostaną zignorowane. bool
virtualNetworkConfiguration Konfiguracja sieci wirtualnej usługi API Management. VirtualNetworkConfiguration
virtualNetworkType Typ sieci VPN, w której należy skonfigurować usługę API Management. Brak (wartość domyślna) oznacza, że usługa API Management nie jest częścią żadnego Virtual Network, zewnętrzne oznacza, że wdrożenie API Management jest skonfigurowane wewnątrz Virtual Network mającego punkt końcowy dostępny z Internetu, a wewnętrzny oznacza, że API Management wdrożenie jest konfigurowane wewnątrz Virtual Network tylko z punktem końcowym dostępnym w intranecie. "Zewnętrzne"
"Wewnętrzny"
"Brak"

AdditionalLocation

Nazwa Opis Wartość
disableGateway Właściwość jest prawidłowa tylko dla usługi Api Management wdrożonej w wielu lokalizacjach. Może to służyć do wyłączania bramy w tej dodatkowej lokalizacji. bool
location Nazwa lokalizacji dodatkowego regionu między regionami centrum danych platformy Azure. ciąg (wymagany)
natGatewayState Właściwość może służyć do włączania bramy translatora adresów sieciowych dla tej usługi API Management. "Wyłączone"
"Włączone"
publicIpAddressId Publiczny adres IP jednostki SKU w wersji 4, który ma być skojarzony z usługą wdrożona Virtual Network w lokalizacji. Obsługiwane tylko w przypadku jednostki SKU w warstwie Premium wdrażanej w Virtual Network. ciąg
sku Właściwości jednostki SKU usługi API Management. ApiManagementServiceSkuProperties (wymagane)
virtualNetworkConfiguration Konfiguracja sieci wirtualnej dla lokalizacji. VirtualNetworkConfiguration
Stref Lista stref dostępności oznaczających miejsce, z którego musi pochodzić zasób. ciąg[]

ApiManagementServiceSkuProperties

Nazwa Opis Wartość
capacity Pojemność jednostki SKU (liczba wdrożonych jednostek jednostki SKU). W przypadku pojemności jednostki SKU zużycie musi być określona jako 0. int (wymagane)
name Nazwa jednostki SKU. "Podstawowa"
"BasicV2"
"Zużycie"
"Deweloper"
"Izolowany"
"Premium"
"Standardowa"
"StandardV2" (wymagany)

VirtualNetworkConfiguration

Nazwa Opis Wartość
subnetResourceId Pełny identyfikator zasobu podsieci w sieci wirtualnej w celu wdrożenia usługi API Management w programie. ciąg

ApiVersionConstraint

Nazwa Opis Wartość
minApiVersion Ogranicz wywołania interfejsu API płaszczyzny sterowania do usługi API Management z wersją równą lub nowszą niż ta wartość. ciąg

Konfiguracja certyfikatu

Nazwa Opis Wartość
certyfikat Informacje o certyfikacie. CertificateInformation
certificatePassword Hasło certyfikatu. ciąg
zakodowanycertyfikat Certyfikat zakodowany w formacie Base64. ciąg
Storename Lokalizacja magazynu certyfikatów System.Security.Cryptography.x509certificates.StoreName. Tylko root i CertificateAuthority są prawidłowe lokalizacje. "CertificateAuthority"
"Root" (wymagany)

CertificateInformation

Nazwa Opis Wartość
Upływie terminu ważności Data wygaśnięcia certyfikatu. Data jest zgodna z następującym formatem: yyyy-MM-ddTHH:mm:ssZ zgodnie z normą ISO 8601. ciąg (wymagany)
Temat Podmiot certyfikatu. ciąg (wymagany)
Odcisk palca Odcisk palca certyfikatu. ciąg (wymagany)

KonfiguracjaApi

Nazwa Opis Wartość
legacyApi Wskazuje, czy starszy interfejs API konfiguracji (wersja 1) powinien być uwidoczniony w usłudze API Management. Wartość jest opcjonalna, ale musi być włączona lub "Wyłączona". Jeśli ustawienie "Wyłączone", starszy interfejs API konfiguracji (wersja 1) nie będzie dostępny dla bram hostowanych samodzielnie. Wartość domyślna to "Włączone" "Wyłączone"
"Włączone"

ApiManagementServiceBasePropertiesCustomProperties

Nazwa Opis Wartość
{niestandardowa właściwość} ciąg

Nazwa hostaKonfiguracja

Nazwa Opis Wartość
certyfikat Informacje o certyfikacie. CertificateInformation
certificatePassword Hasło certyfikatu. ciąg
certificateSource Źródło certyfikatu. "BuiltIn"
"Niestandardowy"
"KeyVault"
"Zarządzane"
certificateStatus Stan certyfikatu. "Ukończono"
"Niepowodzenie"
"InProgress"
defaultSslBinding Określ wartość true, aby skonfigurować certyfikat skojarzony z tą nazwą hosta jako domyślny certyfikat SSL. Jeśli klient nie wyśle nagłówka SNI, będzie to certyfikat, który zostanie zakwestionowany. Właściwość jest przydatna, jeśli usługa ma włączoną wiele niestandardowych nazw hostów i musi zdecydować o domyślnym certyfikacie ssl. Ustawienie zastosowane tylko do typu nazwy hosta bramy. bool
zakodowanycertyfikat Certyfikat zakodowany w formacie Base64. ciąg
Nazwa hosta Nazwa hosta do skonfigurowania w usłudze Api Management. ciąg (wymagany)
identityClientId Identyfikator clientId tożsamości zarządzanej przypisanej przez użytkownika lub użytkownika wygenerowany przez Azure AD, który ma dostęp GET do usługi KeyVault zawierającej certyfikat SSL. ciąg
keyVaultId Adres URL do wpisu tajnego usługi KeyVault zawierającego certyfikat SSL. Jeśli jest podany bezwzględny adres URL zawierający wersję, automatyczna aktualizacja certyfikatu ssl nie będzie działać. Wymaga to skonfigurowania usługi Api Management za pomocą aka.ms/apimmsi. Wpis tajny powinien być typu application/x-pkcs12 ciąg
negotiateClientCertificate Określ wartość true, aby zawsze negocjować certyfikat klienta na nazwie hosta. Wartość domyślna to false. bool
typ Typ nazwy hosta. "ConfigurationApi"
"DeveloperPortal"
"Zarządzanie"
"Portal"
"Serwer proxy"
"Scm" (wymagane)

RemotePrivateEndpointConnectionWrapper

Nazwa Opis Wartość
identyfikator Identyfikator zasobu połączenia prywatnego punktu końcowego ciąg
name Nazwa połączenia prywatnego punktu końcowego ciąg
properties Właściwości zasobu. PrivateEndpointConnectionWrapperProperties
typ Typ zasobu połączenia prywatnego punktu końcowego ciąg

PrivateEndpointConnectionWrapperProperties

Nazwa Opis Wartość
privateEndpoint Zasób prywatnego punktu końcowego. ArmIdWrapper
privateLinkServiceConnectionState Zbiór informacji o stanie połączenia między użytkownikiem usługi a dostawcą. PrivateLinkServiceConnectionState (wymagane)

ArmIdWrapper

Ten obiekt nie zawiera żadnych właściwości do ustawienia podczas wdrażania. Wszystkie właściwości to ReadOnly.

PrivateLinkServiceConnectionState

Nazwa Opis Wartość
actionsRequired Komunikat wskazujący, czy zmiany dostawcy usług wymagają aktualizacji dla konsumenta. ciąg
description (opis) Przyczyna zatwierdzenia/odrzucenia połączenia. ciąg
status Wskazuje, czy połączenie zostało zatwierdzone/odrzucone/usunięte przez właściciela usługi. "Zatwierdzone"
"Oczekujące"
"Odrzucono"

Szablony szybkiego startu

Następujące szablony szybkiego startu wdrażają ten typ zasobu.

Template Opis
Tworzenie wystąpienia usługi API Management i wszystkich zasobów podrzędnych za pomocą szablonu

Wdróż na platformie Azure
Ten szablon przedstawia sposób tworzenia usługi API Management i konfigurowania jednostek podrzędnych
Wdrażanie API Management za pomocą Azure Cache for Redis zewnętrznej

Wdróż na platformie Azure
Ten szablon pokazuje, jak utworzyć wystąpienie usługi Azure API Management w warstwie Zużycie z zewnętrznym wystąpieniem Azure Cache for Redis jako zewnętrzną pamięcią podręczną API Management zewnętrznej.
Wdrażanie API Management w zewnętrznej sieci wirtualnej przy użyciu publicznego adresu IP

Wdróż na platformie Azure
Ten szablon pokazuje, jak utworzyć wystąpienie usługi Azure API Management w warstwie Premium w podsieci sieci wirtualnej w trybie zewnętrznym i skonfigurować zalecane reguły sieciowej grupy zabezpieczeń w podsieci. Wystąpienie jest wdrażane w dwóch strefach dostępności. Szablon konfiguruje również publiczny adres IP z subskrypcji.
Tworzenie wystąpienia API Management z niestandardowymi nazwami hostów

Wdróż na platformie Azure
Ten szablon pokazuje, jak utworzyć wystąpienie usługi Azure API Management z niestandardową nazwą hosta dla portalu i wieloma niestandardowymi nazwami hostów dla serwera proxy
Tworzenie API Management w wewnętrznej sieci wirtualnej przy użyciu usługi App Gateway

Wdróż na platformie Azure
Ten szablon przedstawia sposób tworzenia wystąpienia usługi Azure API Management w sieci prywatnej chronionej przez Azure Application Gateway.
Wdrażanie API Management w wewnętrznej sieci wirtualnej przy użyciu publicznego adresu IP

Wdróż na platformie Azure
Ten szablon pokazuje, jak utworzyć wystąpienie usługi Azure API Management w warstwie Premium w podsieci sieci wirtualnej w trybie wewnętrznym i skonfigurować zalecane reguły sieciowej grupy zabezpieczeń w podsieci. Wystąpienie jest wdrażane w dwóch strefach dostępności. Szablon konfiguruje również publiczny adres IP z subskrypcji.
Tworzenie wystąpienia API Management o tożsamości msi

Wdróż na platformie Azure
Ten szablon tworzy wystąpienie dewelopera usługi Azure API Management z tożsamością MSI
Tworzenie wystąpienia API Management warstwy Premium w wielu regionach

Wdróż na platformie Azure
Ten szablon przedstawia sposób tworzenia wystąpienia API Management z dodatkowymi lokalizacjami. Lokalizacja podstawowa jest taka sama jak lokalizacja grupy zasobów. W przypadku dodatkowych lokalizacji szablon zawiera wartości NorthCentralUs i East US2. Lokalizacja podstawowa powinna być inna niż dodatkowe lokalizacje.
Tworzenie API Management za pomocą niestandardowego protokołu SSL serwera proxy przy użyciu usługi KeyVault

Wdróż na platformie Azure
Ten szablon pokazuje, jak utworzyć wystąpienie usługi Azure API Management i skonfigurować niestandardową nazwę hosta dla serwera proxy przy użyciu certyfikatu ssl z usługi keyvault.
Tworzenie usługi API Management przy użyciu protokołu SSL z usługi KeyVault

Wdróż na platformie Azure
Ten szablon wdraża usługę API Management skonfigurowaną przy użyciu tożsamości przypisanej przez użytkownika. Używa tej tożsamości do pobierania certyfikatu SSL z usługi KeyVault i aktualizowania go przez sprawdzanie co 4 godziny.
Tworzenie i monitorowanie wystąpienia API Management

Wdróż na platformie Azure
Ten szablon tworzy wystąpienie usługi Azure API Management i obszaru roboczego usługi Log Analytics oraz konfiguruje monitorowanie usługi API Management za pomocą usługi Log Analytics
Tworzenie usługi API Management z prywatnym punktem końcowym

Wdróż na platformie Azure
Ten szablon utworzy usługę API Management, sieć wirtualną i prywatny punkt końcowy, który uwidacznia usługę API Management sieci wirtualnej.
Wdrażanie API Management w Strefy dostępności

Wdróż na platformie Azure
Ten szablon tworzy wystąpienie usługi Azure API Management w warstwie Premium i wdraża je w strefie dostępności
Tworzenie wystąpienia usługi API Management przy użyciu szablonu

Wdróż na platformie Azure
Ten szablon tworzy wystąpienie dewelopera usługi Azure API Management
Front Door Standard/Premium ze źródłem API Management

Wdróż na platformie Azure
Ten szablon tworzy usługę Front Door Premium i wystąpienie API Management oraz używa sieciowej grupy zabezpieczeń i zasad globalnych API Management w celu sprawdzenia, czy ruch przechodzi przez źródło usługi Front Door.
Tworzenie usługi Azure Front Door przed usługą Azure API Management

Wdróż na platformie Azure
W tym przykładzie pokazano, jak używać usługi Azure Front Door jako globalnego modułu równoważenia obciążenia przed usługą Azure API Management.
Application Gateway z wewnętrznymi API Management i aplikacją internetową

Wdróż na platformie Azure
Application Gateway routingu ruchu internetowego do sieci wirtualnej (trybu wewnętrznego) API Management wystąpienia, które obsługuje internetowy interfejs API hostowany w aplikacji internetowej platformy Azure.

Definicja zasobu szablonu usługi ARM

Typ zasobu usługi można wdrożyć za pomocą operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennik zmian.

Format zasobu

Aby utworzyć zasób Microsoft.ApiManagement/service, dodaj następujący kod JSON do szablonu.

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

Wartości właściwości

usługa

Nazwa Opis Wartość
typ Typ zasobu "Microsoft.ApiManagement/service"
apiVersion Wersja interfejsu API zasobów "2023-05-01-preview"
name Nazwa zasobu ciąg (wymagany)

Limit znaków: 1–50

Prawidłowe znaki:
Alfanumeryczne i łączniki.

Zacznij od litery i kończy się alfanumeryczną.

Nazwa zasobu musi być unikatowa na platformie Azure.
location Lokalizacja zasobu. ciąg (wymagany)
tags Tagi zasobów. Słownik nazw tagów i wartości. Zobacz Tagi w szablonach
sku Właściwości jednostki SKU usługi API Management. ApiManagementServiceSkuProperties (wymagane)
identity Tożsamość usługi zarządzanej usługi Api Management. ApiManagementServiceIdentity
properties Właściwości usługi API Management. ApiManagementServiceProperties (wymagane)
Stref Lista stref dostępności oznaczających miejsce, z którego musi pochodzić zasób. ciąg[]

ApiManagementServiceIdentity

Nazwa Opis Wartość
typ Typ tożsamości używanej dla zasobu. Typ "SystemAssigned, UserAssigned" zawiera zarówno niejawnie utworzoną tożsamość, jak i zestaw tożsamości przypisanych przez użytkownika. Typ "Brak" spowoduje usunięcie wszystkich tożsamości z usługi. "Brak"
"SystemAssigned"
"SystemAssigned, UserAssigned"
"UserAssigned" (wymagane)
userAssignedIdentities Lista tożsamości użytkowników skojarzonych z zasobem. Tożsamość użytkownika
odwołania do klucza słownika będą zawierać identyfikatory zasobów usługi ARM w postaci:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
ApiManagementServiceIdentityUserAssignedIdentities

ApiManagementServiceIdentityUserAssignedIdentities

Nazwa Opis Wartość
{niestandardowa właściwość} UserIdentityProperties

UserIdentityProperties

Nazwa Opis Wartość
clientId Identyfikator klienta tożsamości przypisanej przez użytkownika. ciąg
principalId Identyfikator podmiotu zabezpieczeń tożsamości przypisanej przez użytkownika. ciąg

ApiManagementServiceProperties

Nazwa Opis Wartość
additionalLocations Dodatkowe lokalizacje centrum danych usługi API Management. AdditionalLocation[]
apiVersionConstraint Ograniczenie wersji interfejsu API płaszczyzny sterowania dla usługi API Management. ApiVersionConstraint
certyfikaty Lista certyfikatów, które należy zainstalować w usłudze API Management. Maksymalna obsługiwana liczba certyfikatów, które można zainstalować, wynosi 10. Konfiguracja certyfikatu[]
configurationApi Konfiguracja konfiguracji interfejsu API usługi API Management. ConfigurationApi
Customproperties Właściwości niestandardowe usługi API Management.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 spowoduje wyłączenie TLS_RSA_WITH_3DES_EDE_CBC_SHA szyfrowania dla wszystkich protokołów TLS(1.0, 1.1 i 1.2).
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 może służyć do wyłączania tylko protokołu TLS 1.1.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 może służyć do wyłączania protokołu TLS 1.0 w usłudze API Management.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 może służyć do wyłączania tylko protokołu TLS 1.1 na potrzeby komunikacji z zapleczem.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 może służyć do wyłączania protokołu TLS 1.0 na potrzeby komunikacji z zapleczami.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 może służyć do włączania protokołu HTTP2 w usłudze API Management.
Nieokreślenie żadnej z tych właściwości operacji PATCH spowoduje zresetowanie wartości właściwości do ich wartości domyślnych. Dla wszystkich ustawień z wyjątkiem Http2 wartość domyślna to True , jeśli usługa została utworzona w dniu 1 kwietnia 2018 r False . lub wcześniej. Wartość domyślna ustawienia Http2 to False.

Można wyłączyć dowolny z następujących szyfrów przy użyciu ustawień Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]: 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. Na przykład Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256:false . Wartość domyślna jest true dla nich.
Uwaga: Nie można wyłączyć następujących szyfrów, ponieważ są one wymagane przez składniki platformy wewnętrznej: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
ApiManagementServiceBasePropertiesCustomProperties
developerPortalStatus Stan portalu dla deweloperów w tej usłudze API Management. "Wyłączone"
"Włączone"
disableGateway Właściwość jest prawidłowa tylko dla usługi Api Management wdrożonej w wielu lokalizacjach. Może to służyć do wyłączania bramy w regionie głównym. bool
enableClientCertificate Właściwość przeznaczona tylko do użycia w przypadku usługi SKU Zużycie. Wymusza to prezentowanie certyfikatu klienta dla każdego żądania do bramy. Umożliwia to również uwierzytelnianie certyfikatu w zasadach w bramie. bool
hostnameConfigurations Niestandardowa konfiguracja nazwy hosta usługi API Management. Nazwa hostaKonfiguracja[]
legacyPortalStatus Stan starszego portalu w usłudze API Management. "Wyłączone"
"Włączone"
natGatewayState Właściwość może służyć do włączania bramy translatora adresów sieciowych dla tej usługi API Management. "Wyłączone"
"Włączone"
notificationSenderEmail Email adres, z którego zostanie wysłane powiadomienie. ciąg
privateEndpointConnections Lista połączeń prywatnego punktu końcowego tej usługi. RemotePrivateEndpointConnectionWrapper[]
publicIpAddressId Publiczny adres IP jednostki SKU w wersji 4, który ma być skojarzony z usługą wdrożona Virtual Network w regionie. Obsługiwane tylko w przypadku jednostek SKU developer i Premium wdrażanych w Virtual Network. ciąg
publicNetworkAccess Określa, czy dostęp do publicznego punktu końcowego jest dozwolony dla tej usługi API Management. Wartość jest opcjonalna, ale jeśli została przekazana, musi mieć wartość "Włączone" lub "Wyłączone". Jeśli wartość jest wyłączona, prywatne punkty końcowe są metodą wyłącznego dostępu. Wartość domyślna to "Włączone" "Wyłączone"
"Włączone"
publisherEmail Adres e-mail wydawcy. ciąg (wymagany)
publisherName Nazwa wydawcy. ciąg (wymagany)
Przywracanie Cofanie usuwania usługi Api Management, jeśli została wcześniej usunięta nietrwale. Jeśli ta flaga zostanie określona i ustawiona na True, wszystkie inne właściwości zostaną zignorowane. bool
virtualNetworkConfiguration Konfiguracja sieci wirtualnej usługi API Management. VirtualNetworkConfiguration
virtualNetworkType Typ sieci VPN, w której należy skonfigurować usługę API Management. Brak (wartość domyślna) oznacza, że usługa API Management nie jest częścią żadnego Virtual Network, zewnętrzne oznacza, że wdrożenie API Management jest skonfigurowane wewnątrz Virtual Network mającego internetowy punkt końcowy, a wewnętrzny oznacza, że API Management wdrożenie jest konfigurowane w Virtual Network tylko w punkcie końcowym dostępnym w intranecie. "Zewnętrzne"
"Wewnętrzny"
"Brak"

Dodatkowa lokalizacja

Nazwa Opis Wartość
disableGateway Właściwość jest prawidłowa tylko dla usługi Api Management wdrożonej w wielu lokalizacjach. Może to służyć do wyłączania bramy w tej dodatkowej lokalizacji. bool
location Nazwa lokalizacji dodatkowego regionu między regionami centrum danych platformy Azure. ciąg (wymagany)
natGatewayState Właściwość może służyć do włączania bramy translatora adresów sieciowych dla tej usługi API Management. "Wyłączone"
"Włączone"
publicIpAddressId Publiczny standardowy adres IP jednostki SKU w wersji 4, który ma być skojarzony z Virtual Network wdrożonej usługi w lokalizacji. Obsługiwane tylko w przypadku jednostki SKU w warstwie Premium wdrażanej w Virtual Network. ciąg
sku Właściwości jednostki SKU usługi API Management. ApiManagementServiceSkuProperties (wymagane)
virtualNetworkConfiguration Konfiguracja sieci wirtualnej dla lokalizacji. VirtualNetworkConfiguration
Stref Lista stref dostępności oznaczających miejsce, z którego musi pochodzić zasób. ciąg[]

ApiManagementServiceSkuProperties

Nazwa Opis Wartość
capacity Pojemność jednostki SKU (liczba wdrożonych jednostek jednostki SKU). W przypadku pojemności jednostki SKU zużycie musi być określona jako 0. int (wymagane)
name Nazwa jednostki SKU. "Podstawowa"
"BasicV2"
"Zużycie"
"Deweloper"
"Izolowany"
"Premium"
"Standardowa"
"StandardV2" (wymagany)

VirtualNetworkConfiguration

Nazwa Opis Wartość
subnetResourceId Pełny identyfikator zasobu podsieci w sieci wirtualnej w celu wdrożenia usługi API Management w programie. ciąg

ApiVersionConstraint

Nazwa Opis Wartość
minApiVersion Ogranicz wywołania interfejsu API płaszczyzny sterowania do usługi API Management z wersją równą lub nowszą niż ta wartość. ciąg

Konfiguracja certyfikatu

Nazwa Opis Wartość
certyfikat Informacje o certyfikacie. CertificateInformation
certificatePassword Hasło certyfikatu. ciąg
zakodowanycertyfikat Certyfikat zakodowany w formacie Base64. ciąg
Storename Lokalizacja magazynu certyfikatów System.Security.Cryptography.x509certificates.StoreName. Tylko root i CertificateAuthority są prawidłowe lokalizacje. "CertificateAuthority"
"Root" (wymagany)

CertificateInformation

Nazwa Opis Wartość
Upływie terminu ważności Data wygaśnięcia certyfikatu. Data jest zgodna z następującym formatem: yyyy-MM-ddTHH:mm:ssZ zgodnie z normą ISO 8601. ciąg (wymagany)
Temat Podmiot certyfikatu. ciąg (wymagany)
Odcisk palca Odcisk palca certyfikatu. ciąg (wymagany)

ConfigurationApi

Nazwa Opis Wartość
legacyApi Wskazuje, czy starszy interfejs API konfiguracji (wersja 1) powinien być uwidoczniony w usłudze API Management. Wartość jest opcjonalna, ale musi być "Włączona" lub "Wyłączona". Jeśli wartość jest wyłączona, starszy interfejs API konfiguracji (wersja 1) nie będzie dostępny dla bram hostowanych samodzielnie. Wartość domyślna to "Włączone" "Wyłączone"
"Włączone"

ApiManagementServiceBasePropertiesCustomProperties

Nazwa Opis Wartość
{niestandardowa właściwość} ciąg

Nazwa hostaKonfiguracja

Nazwa Opis Wartość
certyfikat Informacje o certyfikacie. Informacje o certyfikacie
certificatePassword Hasło certyfikatu. ciąg
certificateSource Źródło certyfikatu. "BuiltIn"
"Niestandardowy"
"KeyVault"
"Zarządzane"
certificateStatus Stan certyfikatu. "Ukończono"
"Niepowodzenie"
"InProgress"
defaultSslBinding Określ wartość true, aby skonfigurować certyfikat skojarzony z tą nazwą hosta jako domyślny certyfikat SSL. Jeśli klient nie wysyła nagłówka SNI, będzie to certyfikat, który zostanie zakwestionowany. Właściwość jest przydatna, jeśli usługa ma włączoną wiele niestandardowych nazw hostów i musi zdecydować o domyślnym certyfikacie SSL. Ustawienie stosowane tylko do typu nazwy hosta bramy. bool
encodedCertificate Certyfikat zakodowany w formacie Base64. ciąg
Nazwa hosta Nazwa hosta do skonfigurowania w usłudze Api Management. ciąg (wymagany)
identityClientId Identyfikator clientId przypisanej przez system lub użytkownika tożsamości zarządzanej wygenerowany przez Azure AD, który ma dostęp GET do magazynu kluczy zawierającego certyfikat SSL. ciąg
keyVaultId Adres URL wpisu tajnego usługi KeyVault zawierającego certyfikat SSL. Jeśli podano bezwzględny adres URL zawierający wersję, automatyczna aktualizacja certyfikatu SSL nie będzie działać. Wymaga to skonfigurowania usługi Api Management przy użyciu aka.ms/apimmsi. Wpis tajny powinien być typu application/x-pkcs12 ciąg
negotiateClientCertificate Określ wartość true, aby zawsze negocjować certyfikat klienta na nazwie hosta. Wartość domyślna to false. bool
typ Typ nazwy hosta. "ConfigurationApi"
"DeveloperPortal"
"Zarządzanie"
"Portal"
"Serwer proxy"
"Scm" (wymagane)

RemotePrivateEndpointConnectionWrapper

Nazwa Opis Wartość
identyfikator Identyfikator zasobu połączenia z prywatnym punktem końcowym ciąg
name Nazwa połączenia prywatnego punktu końcowego ciąg
properties Właściwości zasobu. PrivateEndpointConnectionWrapperProperties
typ Typ zasobu połączenia prywatnego punktu końcowego ciąg

PrivateEndpointConnectionWrapperProperties

Nazwa Opis Wartość
privateEndpoint Zasób prywatnego punktu końcowego. ArmIdWrapper
privateLinkServiceConnectionState Kolekcja informacji o stanie połączenia między konsumentem usługi a dostawcą. PrivateLinkServiceConnectionState (wymagane)

ArmIdWrapper

Ten obiekt nie zawiera żadnych właściwości do ustawienia podczas wdrażania. Wszystkie właściwości to ReadOnly.

PrivateLinkServiceConnectionState

Nazwa Opis Wartość
actionsRequired Komunikat wskazujący, czy zmiany dostawcy usług wymagają aktualizacji u konsumenta. ciąg
description (opis) Przyczyna zatwierdzenia/odrzucenia połączenia. ciąg
status Wskazuje, czy połączenie zostało zatwierdzone/odrzucone/usunięte przez właściciela usługi. "Zatwierdzone"
"Oczekujące"
"Odrzucono"

Szablony szybkiego startu

Następujące szablony szybkiego startu wdrażają ten typ zasobu.

Template Opis
Tworzenie wystąpienia usługi API Management i wszystkich zasobów podrzędnych za pomocą szablonu

Wdróż na platformie Azure
Ten szablon pokazuje, jak utworzyć usługę API Management i skonfigurować jednostki podrzędne
Wdrażanie API Management za pomocą Azure Cache for Redis zewnętrznego

Wdróż na platformie Azure
Ten szablon przedstawia sposób tworzenia wystąpienia usługi Azure API Management w warstwie Zużycie z wystąpieniem zewnętrznego Azure Cache for Redis jako zewnętrznej pamięci podręcznej API Management zewnętrznej.
Wdrażanie API Management w zewnętrznej sieci wirtualnej przy użyciu publicznego adresu IP

Wdróż na platformie Azure
Ten szablon przedstawia sposób tworzenia wystąpienia usługi Azure API Management w warstwie Premium w podsieci sieci wirtualnej w trybie zewnętrznym i konfigurowania zalecanych reguł sieciowej grupy zabezpieczeń w podsieci. Wystąpienie jest wdrażane w dwóch strefach dostępności. Szablon konfiguruje również publiczny adres IP z subskrypcji.
Tworzenie wystąpienia API Management z niestandardowymi nazwami hostów

Wdróż na platformie Azure
Ten szablon przedstawia sposób tworzenia wystąpienia usługi Azure API Management z niestandardową nazwą hosta dla portalu i wieloma niestandardowymi nazwami hostów dla serwera proxy
Tworzenie API Management w wewnętrznej sieci wirtualnej za pomocą usługi App Gateway

Wdróż na platformie Azure
Ten szablon przedstawia sposób tworzenia wystąpienia usługi Azure API Management w sieci prywatnej chronionej przez Azure Application Gateway.
Wdrażanie API Management w wewnętrznej sieci wirtualnej przy użyciu publicznego adresu IP

Wdróż na platformie Azure
Ten szablon pokazuje, jak utworzyć wystąpienie usługi Azure API Management w warstwie Premium w podsieci sieci wirtualnej w trybie wewnętrznym i skonfigurować zalecane reguły sieciowej grupy zabezpieczeń w podsieci. Wystąpienie jest wdrażane w dwóch strefach dostępności. Szablon konfiguruje również publiczny adres IP z subskrypcji.
Tworzenie wystąpienia API Management z tożsamością msi

Wdróż na platformie Azure
Ten szablon tworzy wystąpienie dewelopera usługi Azure API Management z tożsamością msi
Tworzenie wystąpienia API Management warstwy Premium w wielu regionach

Wdróż na platformie Azure
Ten szablon przedstawia sposób tworzenia wystąpienia API Management z dodatkowymi lokalizacjami. Lokalizacja podstawowa jest taka sama jak lokalizacja grupy zasobów. W przypadku dodatkowych lokalizacji szablon zawiera wartości NorthCentralUs i East US2. Lokalizacja podstawowa powinna różnić się od dodatkowych lokalizacji.
Tworzenie API Management przy użyciu niestandardowego protokołu SSL serwera proxy przy użyciu usługi KeyVault

Wdróż na platformie Azure
Ten szablon przedstawia sposób tworzenia wystąpienia usługi Azure API Management i konfigurowania niestandardowej nazwy hosta dla serwera proxy przy użyciu certyfikatu SSL z usługi keyvault.
Tworzenie usługi API Management przy użyciu protokołu SSL z usługi KeyVault

Wdróż na platformie Azure
Ten szablon służy do wdrażania usługi API Management skonfigurowanej przy użyciu tożsamości przypisanej przez użytkownika. Używa tej tożsamości do pobierania certyfikatu SSL z usługi KeyVault i jego aktualizowania przez sprawdzanie co 4 godziny.
Tworzenie i monitorowanie wystąpienia API Management

Wdróż na platformie Azure
Ten szablon tworzy wystąpienie usługi Azure API Management Service i obszaru roboczego usługi Log Analytics oraz konfiguruje monitorowanie usługi API Management za pomocą usługi Log Analytics
Tworzenie usługi API Management z prywatnym punktem końcowym

Wdróż na platformie Azure
Ten szablon utworzy usługę API Management, sieć wirtualną i prywatny punkt końcowy, który uwidacznia usługę API Management sieci wirtualnej.
Wdrażanie API Management w usłudze Strefy dostępności

Wdróż na platformie Azure
Ten szablon tworzy wystąpienie usługi Azure API Management w warstwie Premium i wdraża je w strefie dostępności
Tworzenie wystąpienia usługi API Management przy użyciu szablonu

Wdróż na platformie Azure
Ten szablon tworzy wystąpienie dewelopera usługi Azure API Management
Front Door Standard/Premium ze źródłem API Management

Wdróż na platformie Azure
Ten szablon tworzy usługę Front Door Premium i wystąpienie API Management oraz używa sieciowej grupy zabezpieczeń i globalnych zasad API Management w celu sprawdzenia, czy ruch przechodzi przez źródło usługi Front Door.
Tworzenie usługi Azure Front Door przed usługą Azure API Management

Wdróż na platformie Azure
W tym przykładzie pokazano, jak używać usługi Azure Front Door jako globalnego modułu równoważenia obciążenia przed usługą Azure API Management.
Application Gateway z wewnętrznymi API Management i aplikacją internetową

Wdróż na platformie Azure
Application Gateway routing ruchu internetowego do sieci wirtualnej (tryb wewnętrzny) API Management wystąpienie, które obsługuje internetowy interfejs API hostowany w aplikacji internetowej platformy Azure.

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu usługi można wdrożyć z operacjami docelowymi:

  • Grupy zasobów

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennik zmian.

Format zasobu

Aby utworzyć zasób Microsoft.ApiManagement/service, dodaj następujący element Terraform do szablonu.

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

Wartości właściwości

usługa

Nazwa Opis Wartość
typ Typ zasobu "Microsoft.ApiManagement/service@2023-05-01-preview"
name Nazwa zasobu ciąg (wymagany)

Limit znaków: 1–50

Prawidłowe znaki:
Alfanumeryczne i łączniki.

Zacznij od litery i kończy się alfanumeryczną.

Nazwa zasobu musi być unikatowa na platformie Azure.
location Lokalizacja zasobu. ciąg (wymagany)
parent_id Aby wdrożyć w grupie zasobów, użyj identyfikatora tej grupy zasobów. ciąg (wymagany)
tags Tagi zasobów. Słownik nazw tagów i wartości.
sku Właściwości jednostki SKU usługi API Management. ApiManagementServiceSkuProperties (wymagane)
identity Tożsamość usługi zarządzanej usługi Api Management. ApiManagementServiceIdentity
properties Właściwości usługi API Management. ApiManagementServiceProperties (wymagane)
Stref Lista stref dostępności oznaczających miejsce, z którego musi pochodzić zasób. ciąg[]

ApiManagementServiceIdentity

Nazwa Opis Wartość
typ Typ tożsamości używanej dla zasobu. Typ "SystemAssigned, UserAssigned" zawiera zarówno niejawnie utworzoną tożsamość, jak i zestaw tożsamości przypisanych przez użytkownika. Typ "None" spowoduje usunięcie tożsamości z usługi. "SystemAssigned"
"SystemAssigned, UserAssigned"
"UserAssigned" (wymagane)
identity_ids Lista tożsamości użytkowników skojarzonych z zasobem. Tożsamość użytkownika
Odwołania do klucza słownika będą identyfikatorami zasobów usługi ARM w formularzu:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
Tablica identyfikatorów tożsamości użytkownika.

ApiManagementServiceIdentityUserAssignedIdentities

Nazwa Opis Wartość
{niestandardowa właściwość} UserIdentityProperties

UserIdentityProperties

Nazwa Opis Wartość
clientId Identyfikator klienta tożsamości przypisanej przez użytkownika. ciąg
principalId Identyfikator podmiotu zabezpieczeń tożsamości przypisanej przez użytkownika. ciąg

ApiManagementServiceProperties

Nazwa Opis Wartość
additionalLocations Dodatkowe lokalizacje centrum danych usługi API Management. AdditionalLocation[]
apiVersionConstraint Ograniczenie wersji interfejsu API płaszczyzny sterowania dla usługi API Management. ApiVersionConstraint
certyfikaty Lista certyfikatów, które należy zainstalować w usłudze API Management. Maksymalna obsługiwana liczba obsługiwanych certyfikatów, które można zainstalować, to 10. CertificateConfiguration[]
configurationApi Konfiguracja konfiguracji interfejsu API usługi API Management. KonfiguracjaApi
Customproperties Właściwości niestandardowe usługi API Management.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 spowoduje wyłączenie TLS_RSA_WITH_3DES_EDE_CBC_SHA szyfrowania dla wszystkich protokołów TLS(1.0, 1.1 i 1.2).
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 może służyć do wyłączania tylko protokołu TLS 1.1.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 może służyć do wyłączania protokołu TLS 1.0 w usłudze API Management.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 może służyć do wyłączania tylko protokołu TLS 1.1 na potrzeby komunikacji z zapleczami.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 może służyć do wyłączania protokołu TLS 1.0 na potrzeby komunikacji z zapleczami.
Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 może służyć do włączania protokołu HTTP2 w usłudze API Management.
Nie określono żadnej z tych właściwości operacji PATCH spowoduje zresetowanie wartości właściwości pominiętych do ich wartości domyślnych. Dla wszystkich ustawień z wyjątkiem Http2 wartość domyślna jest wtedy True , gdy usługa została utworzona w dniu lub przed 1 kwietnia 2018 r. i False w inny sposób. Wartość domyślna ustawienia Http2 to False.

Można wyłączyć dowolny z następujących szyfrów przy użyciu ustawień Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]: 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. Na przykład :Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256false. Wartość domyślna to true dla nich.
Uwaga: nie można wyłączyć następujących szyfrów, ponieważ są one wymagane przez wewnętrzne składniki platformy: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
ApiManagementServiceBasePropertiesCustomProperties
developerPortalStatus Stan portalu dla deweloperów w tej usłudze API Management. "Wyłączone"
"Włączone"
disableGateway Właściwość jest prawidłowa tylko dla usługi Api Management wdrożonej w wielu lokalizacjach. Może to służyć do wyłączania bramy w regionie głównym. bool
enableClientCertificate Właściwość przeznaczona tylko do użycia w przypadku usługi SKU Zużycie. Wymusza to prezentowanie certyfikatu klienta dla każdego żądania do bramy. Umożliwia to również uwierzytelnianie certyfikatu w zasadach w bramie. bool
hostnameConfigurations Niestandardowa konfiguracja nazwy hosta usługi API Management. Nazwa hostaKonfiguracja[]
legacyPortalStatus Stan starszego portalu w usłudze API Management. "Wyłączone"
"Włączone"
natGatewayState Właściwość może służyć do włączania bramy translatora adresów sieciowych dla tej usługi API Management. "Wyłączone"
"Włączone"
notificationSenderEmail Email adres, z którego zostanie wysłane powiadomienie. ciąg
privateEndpointConnections Lista połączeń prywatnego punktu końcowego tej usługi. RemotePrivateEndpointConnectionWrapper[]
publicIpAddressId Publiczny adres IP jednostki SKU w wersji 4, który ma być skojarzony z usługą wdrożona Virtual Network w regionie. Obsługiwane tylko w przypadku jednostek SKU developer i Premium wdrażanych w Virtual Network. ciąg
publicNetworkAccess Określa, czy dostęp do publicznego punktu końcowego jest dozwolony dla tej usługi API Management. Wartość jest opcjonalna, ale jeśli została przekazana, musi mieć wartość "Włączone" lub "Wyłączone". Jeśli wartość jest wyłączona, prywatne punkty końcowe są metodą wyłącznego dostępu. Wartość domyślna to "Włączone" "Wyłączone"
"Włączone"
publisherEmail Adres e-mail wydawcy. ciąg (wymagany)
publisherName Nazwa wydawcy. ciąg (wymagany)
Przywracanie Cofanie usuwania usługi Api Management, jeśli została wcześniej usunięta nietrwale. Jeśli ta flaga jest określona i ustawiona na True, wszystkie inne właściwości zostaną zignorowane. bool
virtualNetworkConfiguration Konfiguracja sieci wirtualnej usługi API Management. VirtualNetworkConfiguration
virtualNetworkType Typ sieci VPN, w której należy skonfigurować usługę API Management. Brak (wartość domyślna) oznacza, że usługa API Management nie jest częścią żadnego Virtual Network, zewnętrzne oznacza, że wdrożenie API Management jest skonfigurowane wewnątrz Virtual Network mającego punkt końcowy dostępny z Internetu, a wewnętrzny oznacza, że API Management wdrożenie jest konfigurowane wewnątrz Virtual Network tylko z punktem końcowym dostępnym w intranecie. "Zewnętrzne"
"Wewnętrzny"
"Brak"

AdditionalLocation

Nazwa Opis Wartość
disableGateway Właściwość jest prawidłowa tylko dla usługi Api Management wdrożonej w wielu lokalizacjach. Może to służyć do wyłączania bramy w tej dodatkowej lokalizacji. bool
location Nazwa lokalizacji dodatkowego regionu między regionami centrum danych platformy Azure. ciąg (wymagany)
natGatewayState Właściwość może służyć do włączania bramy translatora adresów sieciowych dla tej usługi API Management. "Wyłączone"
"Włączone"
publicIpAddressId Publiczny adres IP jednostki SKU w wersji 4, który ma być skojarzony z usługą wdrożona Virtual Network w lokalizacji. Obsługiwane tylko w przypadku jednostki SKU w warstwie Premium wdrażanej w Virtual Network. ciąg
sku Właściwości jednostki SKU usługi API Management. ApiManagementServiceSkuProperties (wymagane)
virtualNetworkConfiguration Konfiguracja sieci wirtualnej dla lokalizacji. VirtualNetworkConfiguration
Stref Lista stref dostępności oznaczających miejsce, z którego ma pochodzić zasób. ciąg[]

ApiManagementServiceSkuProperties

Nazwa Opis Wartość
capacity Pojemność jednostki SKU (liczba wdrożonych jednostek SKU). W przypadku pojemności jednostki SKU zużycie należy określić wartość 0. int (wymagane)
name Nazwa jednostki SKU. "Podstawowa"
"BasicV2"
"Zużycie"
"Deweloper"
"Izolowany"
"Premium"
"Standardowa"
"StandardowaV2" (wymagane)

VirtualNetworkConfiguration

Nazwa Opis Wartość
subnetResourceId Pełny identyfikator zasobu podsieci w sieci wirtualnej w celu wdrożenia usługi API Management. ciąg

ApiVersionConstraint

Nazwa Opis Wartość
minApiVersion Ogranicz wywołania interfejsu API płaszczyzny sterowania do usługi API Management o wersji równej lub nowszej niż ta wartość. ciąg

Konfiguracja certyfikatu

Nazwa Opis Wartość
certyfikat Informacje o certyfikacie. Informacje o certyfikacie
certificatePassword Hasło certyfikatu. ciąg
encodedCertificate Certyfikat zakodowany w formacie Base64. ciąg
Storename Lokalizacja magazynu certyfikatów System.Security.Cryptography.x509certificates.StoreName. Prawidłowe lokalizacje to tylko katalog główny i certyfikatu. "CertificateAuthority"
"Root" (wymagane)

Informacje o certyfikacie

Nazwa Opis Wartość
Upływie terminu ważności Data wygaśnięcia certyfikatu. Data jest zgodna z następującym formatem: yyyy-MM-ddTHH:mm:ssZ zgodnie z normą ISO 8601. ciąg (wymagany)
Temat Podmiot certyfikatu. ciąg (wymagany)
Odcisk palca Odcisk palca certyfikatu. ciąg (wymagany)

ConfigurationApi

Nazwa Opis Wartość
legacyApi Wskazuje, czy starszy interfejs API konfiguracji (wersja 1) powinien być uwidoczniony w usłudze API Management. Wartość jest opcjonalna, ale musi być "Włączona" lub "Wyłączona". Jeśli wartość jest wyłączona, starszy interfejs API konfiguracji (wersja 1) nie będzie dostępny dla bram hostowanych samodzielnie. Wartość domyślna to "Włączone" "Wyłączone"
"Włączone"

ApiManagementServiceBasePropertiesCustomProperties

Nazwa Opis Wartość
{niestandardowa właściwość} ciąg

Nazwa hostaKonfiguracja

Nazwa Opis Wartość
certyfikat Informacje o certyfikacie. Informacje o certyfikacie
certificatePassword Hasło certyfikatu. ciąg
certificateSource Źródło certyfikatu. "BuiltIn"
"Niestandardowy"
"KeyVault"
"Zarządzane"
certificateStatus Stan certyfikatu. "Ukończono"
"Niepowodzenie"
"Ruch przychodzący"
defaultSslBinding Określ wartość true, aby skonfigurować certyfikat skojarzony z tą nazwą hosta jako domyślny certyfikat SSL. Jeśli klient nie wysyła nagłówka SNI, będzie to certyfikat, który zostanie zakwestionowany. Właściwość jest przydatna, jeśli usługa ma włączoną wiele niestandardowych nazw hostów i musi zdecydować o domyślnym certyfikacie SSL. Ustawienie stosowane tylko do typu nazwy hosta bramy. bool
encodedCertificate Certyfikat zakodowany w formacie Base64. ciąg
Nazwa hosta Nazwa hosta do skonfigurowania w usłudze Api Management. ciąg (wymagany)
identityClientId Identyfikator clientId przypisanej przez system lub użytkownika tożsamości zarządzanej wygenerowany przez Azure AD, który ma dostęp GET do magazynu kluczy zawierającego certyfikat SSL. ciąg
keyVaultId Adres URL wpisu tajnego usługi KeyVault zawierającego certyfikat SSL. Jeśli podano bezwzględny adres URL zawierający wersję, automatyczna aktualizacja certyfikatu SSL nie będzie działać. Wymaga to skonfigurowania usługi Api Management przy użyciu aka.ms/apimmsi. Wpis tajny powinien być typu application/x-pkcs12 ciąg
negotiateClientCertificate Określ wartość true, aby zawsze negocjować certyfikat klienta na nazwie hosta. Wartość domyślna to false. bool
typ Typ nazwy hosta. "ConfigurationApi"
"DeveloperPortal"
"Zarządzanie"
"Portal"
"Serwer proxy"
"Scm" (wymagane)

RemotePrivateEndpointConnectionWrapper

Nazwa Opis Wartość
identyfikator Identyfikator zasobu połączenia z prywatnym punktem końcowym ciąg
name Nazwa połączenia prywatnego punktu końcowego ciąg
properties Właściwości zasobu. PrivateEndpointConnectionWrapperProperties
typ Typ zasobu połączenia prywatnego punktu końcowego ciąg

PrivateEndpointConnectionWrapperProperties

Nazwa Opis Wartość
privateEndpoint Zasób prywatnego punktu końcowego. ArmIdWrapper
privateLinkServiceConnectionState Kolekcja informacji o stanie połączenia między konsumentem usługi a dostawcą. PrivateLinkServiceConnectionState (wymagane)

ArmIdWrapper

Ten obiekt nie zawiera żadnych właściwości do ustawienia podczas wdrażania. Wszystkie właściwości to ReadOnly.

PrivateLinkServiceConnectionState

Nazwa Opis Wartość
actionsRequired Komunikat wskazujący, czy zmiany dostawcy usług wymagają aktualizacji u konsumenta. ciąg
description (opis) Przyczyna zatwierdzenia/odrzucenia połączenia. ciąg
status Wskazuje, czy połączenie zostało zatwierdzone/odrzucone/usunięte przez właściciela usługi. "Zatwierdzone"
"Oczekujące"
"Odrzucono"