Condividi tramite


Servizio Microsoft.ApiManagement 2019-12-01

Definizione di risorsa Bicep

Il tipo di risorsa del servizio può essere distribuito con operazioni destinate a:

  • gruppi di risorse - Vedere i comandi di distribuzione del gruppo di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare una risorsa Microsoft.ApiManagement/service, aggiungere il bicep seguente al modello.

resource symbolicname 'Microsoft.ApiManagement/service@2019-12-01' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {
        clientId: 'string'
        principalId: 'string'
      }
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    additionalLocations: [
      {
        disableGateway: bool
        location: 'string'
        sku: {
          capacity: int
          name: 'string'
        }
        virtualNetworkConfiguration: {
          subnetResourceId: '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'
        defaultSslBinding: bool
        encodedCertificate: 'string'
        hostName: 'string'
        keyVaultId: 'string'
        negotiateClientCertificate: bool
        type: 'string'
      }
    ]
    notificationSenderEmail: 'string'
    publisherEmail: 'string'
    publisherName: 'string'
    virtualNetworkConfiguration: {
      subnetResourceId: 'string'
    }
    virtualNetworkType: 'string'
  }
  sku: {
    capacity: int
    name: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Valori delle proprietà

AdditionalLocation

Nome Descrizione Valore
disableGateway Proprietà valida solo per un servizio Gestione API distribuito in più posizioni. Può essere usato per disabilitare il gateway in questa posizione aggiuntiva. Bool
ubicazione Nome della località dell'area aggiuntiva tra le aree del data center di Azure. stringa (obbligatorio)
Sku Proprietà SKU del servizio Gestione API. ApiManagementServiceSkuProperties (obbligatorio)
virtualNetworkConfiguration Configurazione della rete virtuale per il percorso. VirtualNetworkConfiguration

ApiManagementServiceBasePropertiesProprietà personalizzate

Nome Descrizione Valore

ApiManagementServiceIdentity

Nome Descrizione Valore
digitare Tipo di identità usata per la risorsa. Il tipo 'SystemAssigned, UserAssigned' include sia un'identità creata in modo implicito che un set di identità assegnate dall'utente. Il tipo 'None' rimuoverà tutte le identità dal servizio. 'Nessuno'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned' (obbligatorio)
userAssignedIdentities Elenco di identità utente associate alla risorsa. Identità utente
I riferimenti alle chiavi del dizionario saranno GLI ID risorsa ARM nel formato:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
ApiManagementServiceIdentityUserAssignedIdentities

ApiManagementServiceIdentityUserAssignedIdentities

Nome Descrizione Valore

ApiManagementServiceProperties

Nome Descrizione Valore
additionalLocations Località del data center aggiuntive del servizio Gestione API. AdditionalLocation []
apiVersionConstraint Vincolo di versione delle API del piano di controllo per il servizio Gestione API. ApiVersionConstraint
Certificati Elenco di certificati che devono essere installati nel servizio Gestione API. Il numero massimo di certificati supportati che è possibile installare è 10. CertificateConfiguration[]
customProperties Proprietà personalizzate del servizio Gestione API.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 disabiliterà il TLS_RSA_WITH_3DES_EDE_CBC_SHA di crittografia per tutti i protocolli TLS(1.0, 1.1 e 1.2).
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 può essere usata per disabilitare solo TLS 1.1.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 può essere usata per disabilitare TLS 1.0 in un servizio Gestione API.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 può essere usata per disabilitare solo TLS 1.1 per le comunicazioni con back-end.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 può essere usata per disabilitare TLS 1.0 per le comunicazioni con back-end.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 può essere usata per abilitare il protocollo HTTP2 in un servizio Gestione API.

Se non si specifica alcuna di queste proprietà nell'operazione PATCH, i valori delle proprietà verranno reimpostati sui valori predefiniti. Per tutte le impostazioni ad eccezione di Http2, il valore predefinito è True se il servizio è stato creato il 1° aprile 2018 e False in caso contrario. Il valore predefinito dell'impostazione Http2 è False.

È possibile disabilitare una delle crittografie successive usando le impostazioni 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.

Ad esempio: Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256:false. Il valore predefinito è true per tutti.

Nota: le crittografie successive non possono essere disabilitate perché sono richieste dai componenti interni di Azure CloudService:
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
ApiManagementServiceBasePropertiesProprietà personalizzate
disableGateway Proprietà valida solo per un servizio Gestione API distribuito in più posizioni. Può essere usato per disabilitare il gateway nell'area master. Bool
enableClientCertificate La proprietà deve essere usata solo per il servizio SKU a consumo. In questo modo viene applicato un certificato client da presentare a ogni richiesta al gateway. In questo modo è anche possibile autenticare il certificato nei criteri nel gateway. Bool
hostnameConfigurations Configurazione del nome host personalizzato del servizio Gestione API. HostnameConfiguration[]
notificationSenderEmail Indirizzo di posta elettronica da cui verrà inviata la notifica. corda

Vincoli:
Lunghezza massima =
publisherEmail Posta elettronica dell'editore. corda

Vincoli:
Lunghezza massima = (obbligatorio)
publisherName Nome server di pubblicazione. corda

Vincoli:
Lunghezza massima = (obbligatorio)
virtualNetworkConfiguration Configurazione della rete virtuale del servizio Gestione API. VirtualNetworkConfiguration
virtualNetworkType Tipo di VPN in cui deve essere configurato il servizio Gestione API. Nessuno (valore predefinito) significa che il servizio Gestione API non fa parte di alcuna rete virtuale, esternamente indica che la distribuzione di Gestione API è configurata all'interno di una rete virtuale con un endpoint con connessione Internet e internal significa che la distribuzione di Gestione API è configurata solo all'interno di una rete virtuale con un endpoint intranet. 'External'
'Interno'
'Nessuno'

ApiManagementServiceSkuProperties

Nome Descrizione Valore
capacità Capacità dello SKU (numero di unità distribuite dello SKU). Per la capacità SKU a consumo deve essere specificato come 0. int (obbligatorio)
nome Nome dello SKU. 'Basic'
'Consumo'
'Developer'
'Premium'
'Standard' (obbligatorio)

ApimResourceTags

Nome Descrizione Valore

ApiVersionConstraint

Nome Descrizione Valore
minApiVersion Limitare le chiamate API del piano di controllo al servizio Gestione API con versione uguale o successiva a questo valore. corda

CertificateConfiguration

Nome Descrizione Valore
certificato Informazioni sul certificato. CertificateInformation
certificatePassword Password certificato. corda
encodedCertificate Certificato con codifica Base64. corda
storeName Percorso dell'archivio certificati System.Security.Cryptography.x509certificates.StoreName. Solo Root e CertificateAuthority sono posizioni valide. 'CertificateAuthority'
'Root' (obbligatorio)

CertificateInformation

Nome Descrizione Valore
scadenza Data di scadenza del certificato. La data è conforme al formato seguente: yyyy-MM-ddTHH:mm:ssZ come specificato dallo standard ISO 8601. stringa (obbligatorio)
Oggetto Oggetto del certificato. stringa (obbligatorio)
Identificazione personale Identificazione personale del certificato. stringa (obbligatorio)

HostnameConfiguration

Nome Descrizione Valore
certificato Informazioni sul certificato. CertificateInformation
certificatePassword Password certificato. corda
defaultSslBinding Specificare true per configurare il certificato associato a questo nome host come certificato SSL predefinito. Se un client non invia l'intestazione SNI, questo sarà il certificato che verrà contestato. La proprietà è utile se un servizio dispone di più nomi host personalizzati abilitati e deve decidere il certificato SSL predefinito. L'impostazione viene applicata solo al tipo nome host proxy. Bool
encodedCertificate Certificato con codifica Base64. corda
hostName Nome host da configurare nel servizio Gestione API. stringa (obbligatorio)
keyVaultId URL del segreto KeyVault contenente il certificato SSL. Se viene fornito l'URL assoluto contenente la versione, l'aggiornamento automatico del certificato SSL non funzionerà. Questo richiede che il servizio Gestione API sia configurato con l'identità del servizio gestito. Il segreto deve essere di tipo 'applicazione/x-pkcs12 corda
negotiateClientCertificate Specificare true per negoziare sempre il certificato client nel nome host. Il valore predefinito è false. Bool
digitare Tipo nome host. 'DeveloperPortal'
'Gestione'
'Portal'
'Proxy'
'Scm' (obbligatorio)

Microsoft.ApiManagement/service

Nome Descrizione Valore
identità Identità del servizio gestito del servizio Gestione API. ApiManagementServiceIdentity
ubicazione Percorso della risorsa. stringa (obbligatorio)
nome Nome della risorsa corda

Vincoli:
Lunghezza minima = 1
Lunghezza massima = 1
Pattern = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (obbligatorio)
proprietà Proprietà del servizio Gestione API. ApiManagementServiceProperties (obbligatorio)
Sku Proprietà SKU del servizio Gestione API. ApiManagementServiceSkuProperties (obbligatorio)
Tag Tag delle risorse Dizionario di nomi e valori di tag. Vedere tag nei modelli

UserIdentityProperties

Nome Descrizione Valore
clientId ID client dell'identità assegnata dall'utente. corda
principalId ID principale dell'identità assegnata dall'utente. corda

VirtualNetworkConfiguration

Nome Descrizione Valore
subnetResourceId ID risorsa completo di una subnet in una rete virtuale in cui distribuire il servizio Gestione API. corda

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

Esempi di avvio rapido

Gli esempi di avvio rapido seguenti distribuiscono questo tipo di risorsa.

Bicep File Descrizione
gateway applicazione con gestione API interna e app Web Il gateway applicazione instrada il traffico Internet a un'istanza di Gestione API di rete virtuale (modalità interna) che supporta un'API Web ospitata in un'app Web di Azure.
Creare un'istanza di Gestione API di livello Premium multiregion Questo modello illustra come creare un'istanza di Gestione API con posizioni aggiuntive. La posizione primaria corrisponde alla posizione del gruppo di risorse. Per altre posizioni, il modello mostra NorthCentralUs e Stati Uniti orientali 2. La posizione primaria deve essere diversa da posizioni aggiuntive.
Creare un'istanza di Gestione API con identità MSI Questo modello crea un'istanza per sviluppatori di Gestione API di Azure con un'identità MSI
Creare un'istanza di Gestione API usando un modello Questo modello crea un'istanza per sviluppatori di Gestione API di Azure
Creare un servizio Gestione API con un endpoint privato Questo modello creerà un servizio Gestione API, una rete virtuale e un endpoint privato che espone il servizio Gestione API alla rete virtuale.
Creare un servizio Gestione API con SSL da KeyVault Questo modello distribuisce un servizio Gestione API configurato con identità assegnata dall'utente. Usa questa identità per recuperare il certificato SSL da KeyVault e lo mantiene aggiornato controllando ogni 4 ore.
Creare Gestione API nella rete virtuale interna con il gateway app Questo modello illustra come creare un'istanza di Gestione API di Azure in una rete privata protetta dal gateway applicazione di Azure.
Distribuire Gestione API in una rete virtuale esterna con IP pubblico Questo modello illustra come creare un'istanza di Gestione API di Azure nel livello Premium all'interno della subnet della rete virtuale in modalità esterna e configurare le regole del gruppo di sicurezza di rete consigliate nella subnet. L'istanza viene distribuita in due zone di disponibilità. Il modello configura anche un indirizzo IP pubblico dalla sottoscrizione.
Distribuire Gestione API nella rete virtuale interna con ip pubblico Questo modello illustra come creare un'istanza di Gestione API di Azure nel livello Premium all'interno della subnet della rete virtuale in modalità interna e configurare le regole del gruppo di sicurezza di rete consigliate nella subnet. L'istanza viene distribuita in due zone di disponibilità. Il modello configura anche un indirizzo IP pubblico dalla sottoscrizione.
Distribuire Gestione API in zone di disponibilità Questo modello crea un'istanza Premium di Gestione API di Azure e viene distribuita in una zona di disponibilità
Distribuire Gestione API con un'istanza esterna di Cache Redis di Azure Questo modello illustra come creare un'istanza di Gestione API di Azure nel livello a consumo con un'istanza esterna di Cache Redis di Azure come cache esterna di Gestione API.
Frontdoor Standard/Premium con di origine di Gestione API Questo modello crea un'istanza di Frontdoor Premium e di Gestione API e usa un gruppo di sicurezza di rete e un criterio di Gestione API globale per verificare che il traffico provenga dall'origine di Frontdoor.

Definizione di risorsa del modello di Resource Manager

Il tipo di risorsa del servizio può essere distribuito con operazioni destinate a:

  • gruppi di risorse - Vedere i comandi di distribuzione del gruppo di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare una risorsa Microsoft.ApiManagement/service, aggiungere il codice JSON seguente al modello.

{
  "type": "Microsoft.ApiManagement/service",
  "apiVersion": "2019-12-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
        "clientId": "string",
        "principalId": "string"
      }
    }
  },
  "location": "string",
  "properties": {
    "additionalLocations": [
      {
        "disableGateway": "bool",
        "location": "string",
        "sku": {
          "capacity": "int",
          "name": "string"
        },
        "virtualNetworkConfiguration": {
          "subnetResourceId": "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",
        "defaultSslBinding": "bool",
        "encodedCertificate": "string",
        "hostName": "string",
        "keyVaultId": "string",
        "negotiateClientCertificate": "bool",
        "type": "string"
      }
    ],
    "notificationSenderEmail": "string",
    "publisherEmail": "string",
    "publisherName": "string",
    "virtualNetworkConfiguration": {
      "subnetResourceId": "string"
    },
    "virtualNetworkType": "string"
  },
  "sku": {
    "capacity": "int",
    "name": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valori delle proprietà

AdditionalLocation

Nome Descrizione Valore
disableGateway Proprietà valida solo per un servizio Gestione API distribuito in più posizioni. Può essere usato per disabilitare il gateway in questa posizione aggiuntiva. Bool
ubicazione Nome della località dell'area aggiuntiva tra le aree del data center di Azure. stringa (obbligatorio)
Sku Proprietà SKU del servizio Gestione API. ApiManagementServiceSkuProperties (obbligatorio)
virtualNetworkConfiguration Configurazione della rete virtuale per il percorso. VirtualNetworkConfiguration

ApiManagementServiceBasePropertiesProprietà personalizzate

Nome Descrizione Valore

ApiManagementServiceIdentity

Nome Descrizione Valore
digitare Tipo di identità usata per la risorsa. Il tipo 'SystemAssigned, UserAssigned' include sia un'identità creata in modo implicito che un set di identità assegnate dall'utente. Il tipo 'None' rimuoverà tutte le identità dal servizio. 'Nessuno'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned' (obbligatorio)
userAssignedIdentities Elenco di identità utente associate alla risorsa. Identità utente
I riferimenti alle chiavi del dizionario saranno GLI ID risorsa ARM nel formato:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
ApiManagementServiceIdentityUserAssignedIdentities

ApiManagementServiceIdentityUserAssignedIdentities

Nome Descrizione Valore

ApiManagementServiceProperties

Nome Descrizione Valore
additionalLocations Località del data center aggiuntive del servizio Gestione API. AdditionalLocation []
apiVersionConstraint Vincolo di versione delle API del piano di controllo per il servizio Gestione API. ApiVersionConstraint
Certificati Elenco di certificati che devono essere installati nel servizio Gestione API. Il numero massimo di certificati supportati che è possibile installare è 10. CertificateConfiguration[]
customProperties Proprietà personalizzate del servizio Gestione API.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 disabiliterà il TLS_RSA_WITH_3DES_EDE_CBC_SHA di crittografia per tutti i protocolli TLS(1.0, 1.1 e 1.2).
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 può essere usata per disabilitare solo TLS 1.1.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 può essere usata per disabilitare TLS 1.0 in un servizio Gestione API.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 può essere usata per disabilitare solo TLS 1.1 per le comunicazioni con back-end.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 può essere usata per disabilitare TLS 1.0 per le comunicazioni con back-end.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 può essere usata per abilitare il protocollo HTTP2 in un servizio Gestione API.

Se non si specifica alcuna di queste proprietà nell'operazione PATCH, i valori delle proprietà verranno reimpostati sui valori predefiniti. Per tutte le impostazioni ad eccezione di Http2, il valore predefinito è True se il servizio è stato creato il 1° aprile 2018 e False in caso contrario. Il valore predefinito dell'impostazione Http2 è False.

È possibile disabilitare una delle crittografie successive usando le impostazioni 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.

Ad esempio: Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256:false. Il valore predefinito è true per tutti.

Nota: le crittografie successive non possono essere disabilitate perché sono richieste dai componenti interni di Azure CloudService:
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
ApiManagementServiceBasePropertiesProprietà personalizzate
disableGateway Proprietà valida solo per un servizio Gestione API distribuito in più posizioni. Può essere usato per disabilitare il gateway nell'area master. Bool
enableClientCertificate La proprietà deve essere usata solo per il servizio SKU a consumo. In questo modo viene applicato un certificato client da presentare a ogni richiesta al gateway. In questo modo è anche possibile autenticare il certificato nei criteri nel gateway. Bool
hostnameConfigurations Configurazione del nome host personalizzato del servizio Gestione API. HostnameConfiguration[]
notificationSenderEmail Indirizzo di posta elettronica da cui verrà inviata la notifica. corda

Vincoli:
Lunghezza massima =
publisherEmail Posta elettronica dell'editore. corda

Vincoli:
Lunghezza massima = (obbligatorio)
publisherName Nome server di pubblicazione. corda

Vincoli:
Lunghezza massima = (obbligatorio)
virtualNetworkConfiguration Configurazione della rete virtuale del servizio Gestione API. VirtualNetworkConfiguration
virtualNetworkType Tipo di VPN in cui deve essere configurato il servizio Gestione API. Nessuno (valore predefinito) significa che il servizio Gestione API non fa parte di alcuna rete virtuale, esternamente indica che la distribuzione di Gestione API è configurata all'interno di una rete virtuale con un endpoint con connessione Internet e internal significa che la distribuzione di Gestione API è configurata solo all'interno di una rete virtuale con un endpoint intranet. 'External'
'Interno'
'Nessuno'

ApiManagementServiceSkuProperties

Nome Descrizione Valore
capacità Capacità dello SKU (numero di unità distribuite dello SKU). Per la capacità SKU a consumo deve essere specificato come 0. int (obbligatorio)
nome Nome dello SKU. 'Basic'
'Consumo'
'Developer'
'Premium'
'Standard' (obbligatorio)

ApimResourceTags

Nome Descrizione Valore

ApiVersionConstraint

Nome Descrizione Valore
minApiVersion Limitare le chiamate API del piano di controllo al servizio Gestione API con versione uguale o successiva a questo valore. corda

CertificateConfiguration

Nome Descrizione Valore
certificato Informazioni sul certificato. CertificateInformation
certificatePassword Password certificato. corda
encodedCertificate Certificato con codifica Base64. corda
storeName Percorso dell'archivio certificati System.Security.Cryptography.x509certificates.StoreName. Solo Root e CertificateAuthority sono posizioni valide. 'CertificateAuthority'
'Root' (obbligatorio)

CertificateInformation

Nome Descrizione Valore
scadenza Data di scadenza del certificato. La data è conforme al formato seguente: yyyy-MM-ddTHH:mm:ssZ come specificato dallo standard ISO 8601. stringa (obbligatorio)
Oggetto Oggetto del certificato. stringa (obbligatorio)
Identificazione personale Identificazione personale del certificato. stringa (obbligatorio)

HostnameConfiguration

Nome Descrizione Valore
certificato Informazioni sul certificato. CertificateInformation
certificatePassword Password certificato. corda
defaultSslBinding Specificare true per configurare il certificato associato a questo nome host come certificato SSL predefinito. Se un client non invia l'intestazione SNI, questo sarà il certificato che verrà contestato. La proprietà è utile se un servizio dispone di più nomi host personalizzati abilitati e deve decidere il certificato SSL predefinito. L'impostazione viene applicata solo al tipo nome host proxy. Bool
encodedCertificate Certificato con codifica Base64. corda
hostName Nome host da configurare nel servizio Gestione API. stringa (obbligatorio)
keyVaultId URL del segreto KeyVault contenente il certificato SSL. Se viene fornito l'URL assoluto contenente la versione, l'aggiornamento automatico del certificato SSL non funzionerà. Questo richiede che il servizio Gestione API sia configurato con l'identità del servizio gestito. Il segreto deve essere di tipo 'applicazione/x-pkcs12 corda
negotiateClientCertificate Specificare true per negoziare sempre il certificato client nel nome host. Il valore predefinito è false. Bool
digitare Tipo nome host. 'DeveloperPortal'
'Gestione'
'Portal'
'Proxy'
'Scm' (obbligatorio)

Microsoft.ApiManagement/service

Nome Descrizione Valore
apiVersion Versione dell'API '2019-12-01'
identità Identità del servizio gestito del servizio Gestione API. ApiManagementServiceIdentity
ubicazione Percorso della risorsa. stringa (obbligatorio)
nome Nome della risorsa corda

Vincoli:
Lunghezza minima = 1
Lunghezza massima = 1
Pattern = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (obbligatorio)
proprietà Proprietà del servizio Gestione API. ApiManagementServiceProperties (obbligatorio)
Sku Proprietà SKU del servizio Gestione API. ApiManagementServiceSkuProperties (obbligatorio)
Tag Tag delle risorse Dizionario di nomi e valori di tag. Vedere tag nei modelli
digitare Tipo di risorsa 'Microsoft.ApiManagement/service'

UserIdentityProperties

Nome Descrizione Valore
clientId ID client dell'identità assegnata dall'utente. corda
principalId ID principale dell'identità assegnata dall'utente. corda

VirtualNetworkConfiguration

Nome Descrizione Valore
subnetResourceId ID risorsa completo di una subnet in una rete virtuale in cui distribuire il servizio Gestione API. corda

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

Modelli di avvio rapido

I modelli di avvio rapido seguenti distribuiscono questo tipo di risorsa.

Sagoma Descrizione
gateway applicazione con gestione API interna e app Web

Distribuire in Azure
Il gateway applicazione instrada il traffico Internet a un'istanza di Gestione API di rete virtuale (modalità interna) che supporta un'API Web ospitata in un'app Web di Azure.
Creare un'istanza di Gestione API di livello Premium multiregion

Distribuire in Azure
Questo modello illustra come creare un'istanza di Gestione API con posizioni aggiuntive. La posizione primaria corrisponde alla posizione del gruppo di risorse. Per altre posizioni, il modello mostra NorthCentralUs e Stati Uniti orientali 2. La posizione primaria deve essere diversa da posizioni aggiuntive.
Creare un'istanza di Gestione API e tutte le risorse secondarie usando modello

Distribuire in Azure
Questo modello illustra come creare un servizio Gestione API e configurare le sottoentità
Creare un'istanza di Gestione API con identità MSI

Distribuire in Azure
Questo modello crea un'istanza per sviluppatori di Gestione API di Azure con un'identità MSI
Creare un'istanza di Gestione API usando un modello

Distribuire in Azure
Questo modello crea un'istanza per sviluppatori di Gestione API di Azure
Creare un'istanza di Gestione API con nomi host personalizzati

Distribuire in Azure
Questo modello illustra come creare un'istanza di Gestione API di Azure con il nome host personalizzato per il portale e più nomi host personalizzati per il proxy
Creare un servizio Gestione API con un endpoint privato

Distribuire in Azure
Questo modello creerà un servizio Gestione API, una rete virtuale e un endpoint privato che espone il servizio Gestione API alla rete virtuale.
Creare un servizio Gestione API con SSL da KeyVault

Distribuire in Azure
Questo modello distribuisce un servizio Gestione API configurato con identità assegnata dall'utente. Usa questa identità per recuperare il certificato SSL da KeyVault e lo mantiene aggiornato controllando ogni 4 ore.
Creare e monitorare l'istanza di Gestione API

Distribuire in Azure
Questo modello crea un'istanza del servizio Gestione API di Azure e dell'area di lavoro Log Analytics e configura il monitoraggio per il servizio Gestione API con Log Analytics
Creare Gestione API nella rete virtuale interna con il gateway app

Distribuire in Azure
Questo modello illustra come creare un'istanza di Gestione API di Azure in una rete privata protetta dal gateway applicazione di Azure.
Creare Gestione API con ssl proxy personalizzato con KeyVault

Distribuire in Azure
Questo modello illustra come creare un'istanza di Gestione API di Azure e configurare il nome host personalizzato per il proxy con certificato SSL dall'insieme di credenziali delle chiavi.
Creare frontdoor di Azure davanti a Gestione API di Azure

Distribuire in Azure
Questo esempio illustra come usare Frontdoor di Azure come servizio di bilanciamento del carico globale davanti a Gestione API di Azure.
Distribuire Gestione API in una rete virtuale esterna con IP pubblico

Distribuire in Azure
Questo modello illustra come creare un'istanza di Gestione API di Azure nel livello Premium all'interno della subnet della rete virtuale in modalità esterna e configurare le regole del gruppo di sicurezza di rete consigliate nella subnet. L'istanza viene distribuita in due zone di disponibilità. Il modello configura anche un indirizzo IP pubblico dalla sottoscrizione.
Distribuire Gestione API nella rete virtuale interna con ip pubblico

Distribuire in Azure
Questo modello illustra come creare un'istanza di Gestione API di Azure nel livello Premium all'interno della subnet della rete virtuale in modalità interna e configurare le regole del gruppo di sicurezza di rete consigliate nella subnet. L'istanza viene distribuita in due zone di disponibilità. Il modello configura anche un indirizzo IP pubblico dalla sottoscrizione.
Distribuire Gestione API in zone di disponibilità

Distribuire in Azure
Questo modello crea un'istanza Premium di Gestione API di Azure e viene distribuita in una zona di disponibilità
Distribuire Gestione API con un'istanza esterna di Cache Redis di Azure

Distribuire in Azure
Questo modello illustra come creare un'istanza di Gestione API di Azure nel livello a consumo con un'istanza esterna di Cache Redis di Azure come cache esterna di Gestione API.
Frontdoor Standard/Premium con di origine di Gestione API

Distribuire in Azure
Questo modello crea un'istanza di Frontdoor Premium e di Gestione API e usa un gruppo di sicurezza di rete e un criterio di Gestione API globale per verificare che il traffico provenga dall'origine di Frontdoor.

Definizione di risorsa Terraform (provider AzAPI)

Il tipo di risorsa del servizio può essere distribuito con operazioni destinate a:

  • gruppi di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare una risorsa Microsoft.ApiManagement/service, aggiungere il codice Terraform seguente al modello.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ApiManagement/service@2019-12-01"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
        clientId = "string"
        principalId = "string"
      }
    }
  }
  location = "string"
  sku = {
    capacity = int
    name = "string"
  }
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      additionalLocations = [
        {
          disableGateway = bool
          location = "string"
          sku = {
            capacity = int
            name = "string"
          }
          virtualNetworkConfiguration = {
            subnetResourceId = "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"
          defaultSslBinding = bool
          encodedCertificate = "string"
          hostName = "string"
          keyVaultId = "string"
          negotiateClientCertificate = bool
          type = "string"
        }
      ]
      notificationSenderEmail = "string"
      publisherEmail = "string"
      publisherName = "string"
      virtualNetworkConfiguration = {
        subnetResourceId = "string"
      }
      virtualNetworkType = "string"
    }
  })
}

Valori delle proprietà

AdditionalLocation

Nome Descrizione Valore
disableGateway Proprietà valida solo per un servizio Gestione API distribuito in più posizioni. Può essere usato per disabilitare il gateway in questa posizione aggiuntiva. Bool
ubicazione Nome della località dell'area aggiuntiva tra le aree del data center di Azure. stringa (obbligatorio)
Sku Proprietà SKU del servizio Gestione API. ApiManagementServiceSkuProperties (obbligatorio)
virtualNetworkConfiguration Configurazione della rete virtuale per il percorso. VirtualNetworkConfiguration

ApiManagementServiceBasePropertiesProprietà personalizzate

Nome Descrizione Valore

ApiManagementServiceIdentity

Nome Descrizione Valore
digitare Tipo di identità usata per la risorsa. Il tipo 'SystemAssigned, UserAssigned' include sia un'identità creata in modo implicito che un set di identità assegnate dall'utente. Il tipo 'None' rimuoverà tutte le identità dal servizio. 'Nessuno'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned' (obbligatorio)
userAssignedIdentities Elenco di identità utente associate alla risorsa. Identità utente
I riferimenti alle chiavi del dizionario saranno GLI ID risorsa ARM nel formato:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
ApiManagementServiceIdentityUserAssignedIdentities

ApiManagementServiceIdentityUserAssignedIdentities

Nome Descrizione Valore

ApiManagementServiceProperties

Nome Descrizione Valore
additionalLocations Località del data center aggiuntive del servizio Gestione API. AdditionalLocation []
apiVersionConstraint Vincolo di versione delle API del piano di controllo per il servizio Gestione API. ApiVersionConstraint
Certificati Elenco di certificati che devono essere installati nel servizio Gestione API. Il numero massimo di certificati supportati che è possibile installare è 10. CertificateConfiguration[]
customProperties Proprietà personalizzate del servizio Gestione API.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 disabiliterà il TLS_RSA_WITH_3DES_EDE_CBC_SHA di crittografia per tutti i protocolli TLS(1.0, 1.1 e 1.2).
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 può essere usata per disabilitare solo TLS 1.1.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 può essere usata per disabilitare TLS 1.0 in un servizio Gestione API.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 può essere usata per disabilitare solo TLS 1.1 per le comunicazioni con back-end.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 può essere usata per disabilitare TLS 1.0 per le comunicazioni con back-end.
L'impostazione Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 può essere usata per abilitare il protocollo HTTP2 in un servizio Gestione API.

Se non si specifica alcuna di queste proprietà nell'operazione PATCH, i valori delle proprietà verranno reimpostati sui valori predefiniti. Per tutte le impostazioni ad eccezione di Http2, il valore predefinito è True se il servizio è stato creato il 1° aprile 2018 e False in caso contrario. Il valore predefinito dell'impostazione Http2 è False.

È possibile disabilitare una delle crittografie successive usando le impostazioni 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.

Ad esempio: Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256:false. Il valore predefinito è true per tutti.

Nota: le crittografie successive non possono essere disabilitate perché sono richieste dai componenti interni di Azure CloudService:
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
ApiManagementServiceBasePropertiesProprietà personalizzate
disableGateway Proprietà valida solo per un servizio Gestione API distribuito in più posizioni. Può essere usato per disabilitare il gateway nell'area master. Bool
enableClientCertificate La proprietà deve essere usata solo per il servizio SKU a consumo. In questo modo viene applicato un certificato client da presentare a ogni richiesta al gateway. In questo modo è anche possibile autenticare il certificato nei criteri nel gateway. Bool
hostnameConfigurations Configurazione del nome host personalizzato del servizio Gestione API. HostnameConfiguration[]
notificationSenderEmail Indirizzo di posta elettronica da cui verrà inviata la notifica. corda

Vincoli:
Lunghezza massima =
publisherEmail Posta elettronica dell'editore. corda

Vincoli:
Lunghezza massima = (obbligatorio)
publisherName Nome server di pubblicazione. corda

Vincoli:
Lunghezza massima = (obbligatorio)
virtualNetworkConfiguration Configurazione della rete virtuale del servizio Gestione API. VirtualNetworkConfiguration
virtualNetworkType Tipo di VPN in cui deve essere configurato il servizio Gestione API. Nessuno (valore predefinito) significa che il servizio Gestione API non fa parte di alcuna rete virtuale, esternamente indica che la distribuzione di Gestione API è configurata all'interno di una rete virtuale con un endpoint con connessione Internet e internal significa che la distribuzione di Gestione API è configurata solo all'interno di una rete virtuale con un endpoint intranet. 'External'
'Interno'
'Nessuno'

ApiManagementServiceSkuProperties

Nome Descrizione Valore
capacità Capacità dello SKU (numero di unità distribuite dello SKU). Per la capacità SKU a consumo deve essere specificato come 0. int (obbligatorio)
nome Nome dello SKU. 'Basic'
'Consumo'
'Developer'
'Premium'
'Standard' (obbligatorio)

ApimResourceTags

Nome Descrizione Valore

ApiVersionConstraint

Nome Descrizione Valore
minApiVersion Limitare le chiamate API del piano di controllo al servizio Gestione API con versione uguale o successiva a questo valore. corda

CertificateConfiguration

Nome Descrizione Valore
certificato Informazioni sul certificato. CertificateInformation
certificatePassword Password certificato. corda
encodedCertificate Certificato con codifica Base64. corda
storeName Percorso dell'archivio certificati System.Security.Cryptography.x509certificates.StoreName. Solo Root e CertificateAuthority sono posizioni valide. 'CertificateAuthority'
'Root' (obbligatorio)

CertificateInformation

Nome Descrizione Valore
scadenza Data di scadenza del certificato. La data è conforme al formato seguente: yyyy-MM-ddTHH:mm:ssZ come specificato dallo standard ISO 8601. stringa (obbligatorio)
Oggetto Oggetto del certificato. stringa (obbligatorio)
Identificazione personale Identificazione personale del certificato. stringa (obbligatorio)

HostnameConfiguration

Nome Descrizione Valore
certificato Informazioni sul certificato. CertificateInformation
certificatePassword Password certificato. corda
defaultSslBinding Specificare true per configurare il certificato associato a questo nome host come certificato SSL predefinito. Se un client non invia l'intestazione SNI, questo sarà il certificato che verrà contestato. La proprietà è utile se un servizio dispone di più nomi host personalizzati abilitati e deve decidere il certificato SSL predefinito. L'impostazione viene applicata solo al tipo nome host proxy. Bool
encodedCertificate Certificato con codifica Base64. corda
hostName Nome host da configurare nel servizio Gestione API. stringa (obbligatorio)
keyVaultId URL del segreto KeyVault contenente il certificato SSL. Se viene fornito l'URL assoluto contenente la versione, l'aggiornamento automatico del certificato SSL non funzionerà. Questo richiede che il servizio Gestione API sia configurato con l'identità del servizio gestito. Il segreto deve essere di tipo 'applicazione/x-pkcs12 corda
negotiateClientCertificate Specificare true per negoziare sempre il certificato client nel nome host. Il valore predefinito è false. Bool
digitare Tipo nome host. 'DeveloperPortal'
'Gestione'
'Portal'
'Proxy'
'Scm' (obbligatorio)

Microsoft.ApiManagement/service

Nome Descrizione Valore
identità Identità del servizio gestito del servizio Gestione API. ApiManagementServiceIdentity
ubicazione Percorso della risorsa. stringa (obbligatorio)
nome Nome della risorsa corda

Vincoli:
Lunghezza minima = 1
Lunghezza massima = 1
Pattern = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (obbligatorio)
proprietà Proprietà del servizio Gestione API. ApiManagementServiceProperties (obbligatorio)
Sku Proprietà SKU del servizio Gestione API. ApiManagementServiceSkuProperties (obbligatorio)
Tag Tag delle risorse Dizionario di nomi e valori di tag.
digitare Tipo di risorsa "Microsoft.ApiManagement/service@2019-12-01"

UserIdentityProperties

Nome Descrizione Valore
clientId ID client dell'identità assegnata dall'utente. corda
principalId ID principale dell'identità assegnata dall'utente. corda

VirtualNetworkConfiguration

Nome Descrizione Valore
subnetResourceId ID risorsa completo di una subnet in una rete virtuale in cui distribuire il servizio Gestione API. corda

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