Compartir a través de


Servicio Microsoft.ApiManagement 2019-01-01

Definición de recursos de Bicep

El tipo de recurso de servicio se puede implementar con operaciones destinadas a:

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.ApiManagement/service, agregue el siguiente bicep a la plantilla.

resource symbolicname 'Microsoft.ApiManagement/service@2019-01-01' = {
  identity: {
    type: 'string'
  }
  location: 'string'
  name: 'string'
  properties: {
    additionalLocations: [
      {
        location: 'string'
        sku: {
          capacity: int
          name: 'string'
        }
        virtualNetworkConfiguration: {
          subnetResourceId: 'string'
        }
      }
    ]
    certificates: [
      {
        certificate: {
          expiry: 'string'
          subject: 'string'
          thumbprint: 'string'
        }
        certificatePassword: 'string'
        encodedCertificate: 'string'
        storeName: 'string'
      }
    ]
    customProperties: {
      {customized property}: 'string'
    }
    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'
  }
}

Valores de propiedad

AdditionalLocation

Nombre Descripción Valor
ubicación Nombre de ubicación de la región adicional entre las regiones del centro de datos de Azure. string (obligatorio)
Sku Propiedades de SKU del servicio API Management. ApiManagementServiceSkuProperties (obligatorio)
virtualNetworkConfiguration Configuración de red virtual para la ubicación. virtualNetworkConfiguration

ApiManagementServiceBasePropertiesCustomProperties

Nombre Descripción Valor

ApiManagementServiceIdentity

Nombre Descripción Valor
tipo Tipo de identidad. Actualmente, el único tipo admitido es "SystemAssigned". 'SystemAssigned' (obligatorio)

ApiManagementServiceProperties

Nombre Descripción Valor
additionalLocations Ubicaciones adicionales del centro de datos del servicio API Management. AdditionalLocation []
Certificados Lista de certificados que deben instalarse en el servicio API Management. El número máximo de certificados admitidos que se pueden instalar es 10. certificateConfiguration[]
customProperties Propiedades personalizadas del servicio API Management.
Al establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 deshabilitará la TLS_RSA_WITH_3DES_EDE_CBC_SHA de cifrado para todas las TLS(1.0, 1.1 y 1.2).
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 se puede usar para deshabilitar solo TLS 1.1.
La configuración de Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 se puede usar para deshabilitar TLS 1.0 en un servicio de API Management.
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 se puede usar para deshabilitar solo TLS 1.1 para las comunicaciones con back-end.
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 se puede usar para deshabilitar TLS 1.0 para las comunicaciones con back-end.
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 se puede usar para habilitar el protocolo HTTP2 en un servicio API Management.
No especificar ninguna de estas propiedades en la operación PATCH restablecerá los valores de las propiedades omitidas a sus valores predeterminados. Para todas las configuraciones excepto Http2, el valor predeterminado es True si el servicio se creó el 1 de abril de 2018 o antes del 1 de abril de 2018 y False de lo contrario. El valor predeterminado de la configuración http2 es False.

Puede deshabilitar cualquiera de los siguientes cifrados mediante la configuración 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.
Por ejemplo: Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256:false. El valor predeterminado es true para todos ellos.
ApiManagementServiceBasePropertiesCustomProperties
enableClientCertificate Propiedad solo diseñada para usarse para el servicio de SKU de consumo. Esto exige que se presente un certificado de cliente en cada solicitud a la puerta de enlace. Esto también permite autenticar el certificado en la directiva en la puerta de enlace. Bool
hostnameConfigurations Configuración de nombre de host personalizada del servicio API Management. hostnameConfiguration[]
notificationSenderEmail Dirección de correo electrónico desde la que se enviará la notificación. cuerda

Restricciones:
Longitud máxima =
publisherEmail Correo electrónico del publicador. cuerda

Restricciones:
Longitud máxima = (obligatorio)
publisherName Nombre del publicador. cuerda

Restricciones:
Longitud máxima = (obligatorio)
virtualNetworkConfiguration Configuración de red virtual del servicio API Management. virtualNetworkConfiguration
virtualNetworkType Tipo de VPN en el que se debe configurar el servicio API Management. Ninguno (valor predeterminado) significa que el servicio API Management no forma parte de ninguna red virtual, external significa que la implementación de API Management está configurada dentro de una red virtual que tiene un punto de conexión accesible desde Internet y que la implementación interna de API Management está configurada dentro de una red virtual que tiene un punto de conexión accesible desde intranet solo. 'Externo'
'Interno'
'Ninguno'

ApiManagementServiceSkuProperties

Nombre Descripción Valor
capacidad Capacidad de la SKU (número de unidades implementadas de la SKU). Int
nombre Nombre de la SKU. "Básico"
"Consumo"
'Developer'
'Premium'
'Estándar' (obligatorio)

ApimResourceTags

Nombre Descripción Valor

CertificateConfiguration

Nombre Descripción Valor
certificado Información del certificado. CertificateInformation de
certificatePassword Contraseña del certificado. cuerda
encodedCertificate Certificado codificado en Base64. cuerda
storeName Ubicación del almacén de certificados System.Security.Cryptography.x509certificates.StoreName. Solo root y CertificateAuthority son ubicaciones válidas. "CertificateAuthority"
'Root' (obligatorio)

CertificateInformation

Nombre Descripción Valor
expiración Fecha de expiración del certificado. La fecha se ajusta al siguiente formato: yyyy-MM-ddTHH:mm:ssZ según lo especificado por el estándar ISO 8601. string (obligatorio)
Asunto Asunto del certificado. string (obligatorio)
Huella digital Huella digital del certificado. string (obligatorio)

HostnameConfiguration

Nombre Descripción Valor
certificado Información del certificado. CertificateInformation de
certificatePassword Contraseña del certificado. cuerda
defaultSslBinding Especifique true para configurar el certificado asociado a este nombre de host como certificado SSL predeterminado. Si un cliente no envía el encabezado SNI, este será el certificado que se impugnará. La propiedad es útil si un servicio tiene habilitado varios nombres de host personalizados y debe decidir el certificado ssl predeterminado. La configuración solo se aplica al tipo de nombre de host de proxy. Bool
encodedCertificate Certificado codificado en Base64. cuerda
hostName Nombre de host que se va a configurar en el servicio Api Management. string (obligatorio)
keyVaultId Dirección URL al secreto de KeyVault que contiene el certificado Ssl. Si se proporciona la dirección URL absoluta que contiene la versión, la actualización automática del certificado ssl no funcionará. Esto requiere que el servicio Api Management se configure con MSI. El secreto debe ser de tipo application/x-pkcs12 cuerda
negotiateClientCertificate Especifique true para negociar siempre el certificado de cliente en el nombre de host. El valor predeterminado es false. Bool
tipo Tipo de nombre de host. 'DeveloperPortal'
"Administración"
'Portal'
'Proxy'
'Scm' (obligatorio)

Microsoft.ApiManagement/service

Nombre Descripción Valor
identidad Identidad de servicio administrada del servicio Api Management. apiManagementServiceIdentity
ubicación Ubicación del recurso. string (obligatorio)
nombre El nombre del recurso cuerda

Restricciones:
Longitud mínima = 1
Longitud máxima = 1
Patrón = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (obligatorio)
Propiedades Propiedades del servicio API Management. ApiManagementServiceProperties (obligatorio)
Sku Propiedades de SKU del servicio API Management. ApiManagementServiceSkuProperties (obligatorio)
Etiquetas Etiquetas de recursos Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas

VirtualNetworkConfiguration

Nombre Descripción Valor
subnetResourceId Identificador de recurso completo de una subred de una red virtual en la que se va a implementar el servicio API Management. cuerda

Restricciones:
Patrón = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$

Ejemplos de inicio rápido

En los ejemplos de inicio rápido siguientes se implementa este tipo de recurso.

Archivo de Bicep Descripción
Application Gateway con API Management interno y Web App Application Gateway enruta el tráfico de Internet a una instancia de API Management de red virtual (modo interno) que proporciona servicios a una API web hospedada en una aplicación web de Azure.
Crear una instancia de API Management de nivel Premium de varias regiones Esta plantilla muestra cómo crear una instancia de API Management con ubicaciones adicionales. La ubicación principal es la misma que la ubicación del grupo de recursos. En el caso de ubicaciones adicionales, la plantilla muestra NorthCentralUs y Este de EE. UU. 2. La ubicación principal debe ser diferente de otras.
Creación de una instancia de API Management con MSI Identity Esta plantilla crea una instancia de desarrollador de Azure API Management que tiene una identidad MSI.
Crear una instancia de API Management mediante una plantilla Esta plantilla crea una instancia de desarrollador de Azure API Management
Creación de un servicio API Management con un punto de conexión privado Esta plantilla creará un servicio API Management, una red virtual y un punto de conexión privado que exponga el servicio API Management a la red virtual.
Creación de un servicio API Management con SSL desde KeyVault Esta plantilla implementa un servicio de API Management configurado con identidad asignada por el usuario. Usa esta identidad para capturar el certificado SSL de KeyVault y lo mantiene actualizado comprobando cada 4 horas.
Creación de API Management en una red virtual interna con App Gateway En esta plantilla se muestra cómo crear una instancia de Azure API Management en una red privada protegida por Azure Application Gateway.
Implementación de API Management en una red virtual externa con ip pública Esta plantilla muestra cómo crear una instancia de Azure API Management en el nivel Premium dentro de la subred de la red virtual en modo externo y configurar las reglas de NSG recomendadas en la subred. La instancia se implementa en dos zonas de disponibilidad. La plantilla también configura una dirección IP pública de la suscripción.
Implementación de API Management en una red virtual interna con ip pública En esta plantilla se muestra cómo crear una instancia de Azure API Management en el nivel Premium dentro de la subred de la red virtual en modo interno y configurar reglas de NSG recomendadas en la subred. La instancia se implementa en dos zonas de disponibilidad. La plantilla también configura una dirección IP pública de la suscripción.
Implementación de API Management en availability Zones Esta plantilla crea una instancia premium de Azure API Management e implementa en una zona de disponibilidad.
Implementación de API Management con una instancia externa de Azure Cache for Redis En esta plantilla se muestra cómo crear una instancia de Azure API Management en el nivel consumo con una instancia externa de Azure Cache for Redis como caché externa de API Management.
Front Door Standard/Premium con el origen de API Management Esta plantilla crea una instancia de Front Door Premium y una instancia de API Management y usa una directiva de NSG y API Management global para validar que el tráfico ha llegado a través del origen de Front Door.

Definición de recursos de plantilla de ARM

El tipo de recurso de servicio se puede implementar con operaciones destinadas a:

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.ApiManagement/service, agregue el siguiente JSON a la plantilla.

{
  "type": "Microsoft.ApiManagement/service",
  "apiVersion": "2019-01-01",
  "name": "string",
  "identity": {
    "type": "string"
  },
  "location": "string",
  "properties": {
    "additionalLocations": [
      {
        "location": "string",
        "sku": {
          "capacity": "int",
          "name": "string"
        },
        "virtualNetworkConfiguration": {
          "subnetResourceId": "string"
        }
      }
    ],
    "certificates": [
      {
        "certificate": {
          "expiry": "string",
          "subject": "string",
          "thumbprint": "string"
        },
        "certificatePassword": "string",
        "encodedCertificate": "string",
        "storeName": "string"
      }
    ],
    "customProperties": {
      "{customized property}": "string"
    },
    "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"
  }
}

Valores de propiedad

AdditionalLocation

Nombre Descripción Valor
ubicación Nombre de ubicación de la región adicional entre las regiones del centro de datos de Azure. string (obligatorio)
Sku Propiedades de SKU del servicio API Management. ApiManagementServiceSkuProperties (obligatorio)
virtualNetworkConfiguration Configuración de red virtual para la ubicación. virtualNetworkConfiguration

ApiManagementServiceBasePropertiesCustomProperties

Nombre Descripción Valor

ApiManagementServiceIdentity

Nombre Descripción Valor
tipo Tipo de identidad. Actualmente, el único tipo admitido es "SystemAssigned". 'SystemAssigned' (obligatorio)

ApiManagementServiceProperties

Nombre Descripción Valor
additionalLocations Ubicaciones adicionales del centro de datos del servicio API Management. AdditionalLocation []
Certificados Lista de certificados que deben instalarse en el servicio API Management. El número máximo de certificados admitidos que se pueden instalar es 10. certificateConfiguration[]
customProperties Propiedades personalizadas del servicio API Management.
Al establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 deshabilitará la TLS_RSA_WITH_3DES_EDE_CBC_SHA de cifrado para todas las TLS(1.0, 1.1 y 1.2).
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 se puede usar para deshabilitar solo TLS 1.1.
La configuración de Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 se puede usar para deshabilitar TLS 1.0 en un servicio de API Management.
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 se puede usar para deshabilitar solo TLS 1.1 para las comunicaciones con back-end.
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 se puede usar para deshabilitar TLS 1.0 para las comunicaciones con back-end.
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 se puede usar para habilitar el protocolo HTTP2 en un servicio API Management.
No especificar ninguna de estas propiedades en la operación PATCH restablecerá los valores de las propiedades omitidas a sus valores predeterminados. Para todas las configuraciones excepto Http2, el valor predeterminado es True si el servicio se creó el 1 de abril de 2018 o antes del 1 de abril de 2018 y False de lo contrario. El valor predeterminado de la configuración http2 es False.

Puede deshabilitar cualquiera de los siguientes cifrados mediante la configuración 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.
Por ejemplo: Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256:false. El valor predeterminado es true para todos ellos.
ApiManagementServiceBasePropertiesCustomProperties
enableClientCertificate Propiedad solo diseñada para usarse para el servicio de SKU de consumo. Esto exige que se presente un certificado de cliente en cada solicitud a la puerta de enlace. Esto también permite autenticar el certificado en la directiva en la puerta de enlace. Bool
hostnameConfigurations Configuración de nombre de host personalizada del servicio API Management. hostnameConfiguration[]
notificationSenderEmail Dirección de correo electrónico desde la que se enviará la notificación. cuerda

Restricciones:
Longitud máxima =
publisherEmail Correo electrónico del publicador. cuerda

Restricciones:
Longitud máxima = (obligatorio)
publisherName Nombre del publicador. cuerda

Restricciones:
Longitud máxima = (obligatorio)
virtualNetworkConfiguration Configuración de red virtual del servicio API Management. virtualNetworkConfiguration
virtualNetworkType Tipo de VPN en el que se debe configurar el servicio API Management. Ninguno (valor predeterminado) significa que el servicio API Management no forma parte de ninguna red virtual, external significa que la implementación de API Management está configurada dentro de una red virtual que tiene un punto de conexión accesible desde Internet y que la implementación interna de API Management está configurada dentro de una red virtual que tiene un punto de conexión accesible desde intranet solo. 'Externo'
'Interno'
'Ninguno'

ApiManagementServiceSkuProperties

Nombre Descripción Valor
capacidad Capacidad de la SKU (número de unidades implementadas de la SKU). Int
nombre Nombre de la SKU. "Básico"
"Consumo"
'Developer'
'Premium'
'Estándar' (obligatorio)

ApimResourceTags

Nombre Descripción Valor

CertificateConfiguration

Nombre Descripción Valor
certificado Información del certificado. CertificateInformation de
certificatePassword Contraseña del certificado. cuerda
encodedCertificate Certificado codificado en Base64. cuerda
storeName Ubicación del almacén de certificados System.Security.Cryptography.x509certificates.StoreName. Solo root y CertificateAuthority son ubicaciones válidas. "CertificateAuthority"
'Root' (obligatorio)

CertificateInformation

Nombre Descripción Valor
expiración Fecha de expiración del certificado. La fecha se ajusta al siguiente formato: yyyy-MM-ddTHH:mm:ssZ según lo especificado por el estándar ISO 8601. string (obligatorio)
Asunto Asunto del certificado. string (obligatorio)
Huella digital Huella digital del certificado. string (obligatorio)

HostnameConfiguration

Nombre Descripción Valor
certificado Información del certificado. CertificateInformation de
certificatePassword Contraseña del certificado. cuerda
defaultSslBinding Especifique true para configurar el certificado asociado a este nombre de host como certificado SSL predeterminado. Si un cliente no envía el encabezado SNI, este será el certificado que se impugnará. La propiedad es útil si un servicio tiene habilitado varios nombres de host personalizados y debe decidir el certificado ssl predeterminado. La configuración solo se aplica al tipo de nombre de host de proxy. Bool
encodedCertificate Certificado codificado en Base64. cuerda
hostName Nombre de host que se va a configurar en el servicio Api Management. string (obligatorio)
keyVaultId Dirección URL al secreto de KeyVault que contiene el certificado Ssl. Si se proporciona la dirección URL absoluta que contiene la versión, la actualización automática del certificado ssl no funcionará. Esto requiere que el servicio Api Management se configure con MSI. El secreto debe ser de tipo application/x-pkcs12 cuerda
negotiateClientCertificate Especifique true para negociar siempre el certificado de cliente en el nombre de host. El valor predeterminado es false. Bool
tipo Tipo de nombre de host. 'DeveloperPortal'
"Administración"
'Portal'
'Proxy'
'Scm' (obligatorio)

Microsoft.ApiManagement/service

Nombre Descripción Valor
apiVersion La versión de api '2019-01-01'
identidad Identidad de servicio administrada del servicio Api Management. apiManagementServiceIdentity
ubicación Ubicación del recurso. string (obligatorio)
nombre El nombre del recurso cuerda

Restricciones:
Longitud mínima = 1
Longitud máxima = 1
Patrón = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (obligatorio)
Propiedades Propiedades del servicio API Management. ApiManagementServiceProperties (obligatorio)
Sku Propiedades de SKU del servicio API Management. ApiManagementServiceSkuProperties (obligatorio)
Etiquetas Etiquetas de recursos Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas
tipo El tipo de recurso "Microsoft.ApiManagement/service"

VirtualNetworkConfiguration

Nombre Descripción Valor
subnetResourceId Identificador de recurso completo de una subred de una red virtual en la que se va a implementar el servicio API Management. cuerda

Restricciones:
Patrón = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$

Plantillas de inicio rápido

Las siguientes plantillas de inicio rápido implementan este tipo de recurso.

Plantilla Descripción
Application Gateway con API Management interno y Web App

Implementación en Azure
Application Gateway enruta el tráfico de Internet a una instancia de API Management de red virtual (modo interno) que proporciona servicios a una API web hospedada en una aplicación web de Azure.
Crear una instancia de API Management de nivel Premium de varias regiones

Implementación en Azure
Esta plantilla muestra cómo crear una instancia de API Management con ubicaciones adicionales. La ubicación principal es la misma que la ubicación del grupo de recursos. En el caso de ubicaciones adicionales, la plantilla muestra NorthCentralUs y Este de EE. UU. 2. La ubicación principal debe ser diferente de otras.
Crear una instancia de API Management y todos los subrecursos mediante de plantilla

Implementación en Azure
Esta plantilla muestra cómo crear un servicio API Management y configurar subentidades
Creación de una instancia de API Management con MSI Identity

Implementación en Azure
Esta plantilla crea una instancia de desarrollador de Azure API Management que tiene una identidad MSI.
Crear una instancia de API Management mediante una plantilla

Implementación en Azure
Esta plantilla crea una instancia de desarrollador de Azure API Management
Creación de una instancia de API Management con nombres de host personalizados

Implementación en Azure
En esta plantilla se muestra cómo crear una instancia de Azure API Management con un nombre de host personalizado para el portal y varios nombres de host personalizados para el proxy.
Creación de un servicio API Management con un punto de conexión privado

Implementación en Azure
Esta plantilla creará un servicio API Management, una red virtual y un punto de conexión privado que exponga el servicio API Management a la red virtual.
Creación de un servicio API Management con SSL desde KeyVault

Implementación en Azure
Esta plantilla implementa un servicio de API Management configurado con identidad asignada por el usuario. Usa esta identidad para capturar el certificado SSL de KeyVault y lo mantiene actualizado comprobando cada 4 horas.
Creación y supervisión de la instancia de API Management

Implementación en Azure
Esta plantilla crea una instancia del servicio Azure API Management y el área de trabajo de Log Analytics y configura la supervisión del servicio API Management con Log Analytics.
Creación de API Management en una red virtual interna con App Gateway

Implementación en Azure
En esta plantilla se muestra cómo crear una instancia de Azure API Management en una red privada protegida por Azure Application Gateway.
Creación de API Management con ssl de proxy personalizado mediante KeyVault

Implementación en Azure
En esta plantilla se muestra cómo crear una instancia de Azure API Management y configurar el nombre de host personalizado para el proxy con certificado ssl de keyvault.
Creación de Azure Front Door delante de Azure API Management

Implementación en Azure
En este ejemplo se muestra cómo usar Azure Front Door como equilibrador de carga global delante de Azure API Management.
Implementación de API Management en una red virtual externa con ip pública

Implementación en Azure
Esta plantilla muestra cómo crear una instancia de Azure API Management en el nivel Premium dentro de la subred de la red virtual en modo externo y configurar las reglas de NSG recomendadas en la subred. La instancia se implementa en dos zonas de disponibilidad. La plantilla también configura una dirección IP pública de la suscripción.
Implementación de API Management en una red virtual interna con ip pública

Implementación en Azure
En esta plantilla se muestra cómo crear una instancia de Azure API Management en el nivel Premium dentro de la subred de la red virtual en modo interno y configurar reglas de NSG recomendadas en la subred. La instancia se implementa en dos zonas de disponibilidad. La plantilla también configura una dirección IP pública de la suscripción.
Implementación de API Management en availability Zones

Implementación en Azure
Esta plantilla crea una instancia premium de Azure API Management e implementa en una zona de disponibilidad.
Implementación de API Management con una instancia externa de Azure Cache for Redis

Implementación en Azure
En esta plantilla se muestra cómo crear una instancia de Azure API Management en el nivel consumo con una instancia externa de Azure Cache for Redis como caché externa de API Management.
Front Door Standard/Premium con el origen de API Management

Implementación en Azure
Esta plantilla crea una instancia de Front Door Premium y una instancia de API Management y usa una directiva de NSG y API Management global para validar que el tráfico ha llegado a través del origen de Front Door.

Definición de recursos de Terraform (proveedor AzAPI)

El tipo de recurso de servicio se puede implementar con operaciones destinadas a:

  • grupos de recursos de

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.ApiManagement/service, agregue el siguiente Terraform a la plantilla.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ApiManagement/service@2019-01-01"
  name = "string"
  identity = {
    type = "string"
  }
  location = "string"
  sku = {
    capacity = int
    name = "string"
  }
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      additionalLocations = [
        {
          location = "string"
          sku = {
            capacity = int
            name = "string"
          }
          virtualNetworkConfiguration = {
            subnetResourceId = "string"
          }
        }
      ]
      certificates = [
        {
          certificate = {
            expiry = "string"
            subject = "string"
            thumbprint = "string"
          }
          certificatePassword = "string"
          encodedCertificate = "string"
          storeName = "string"
        }
      ]
      customProperties = {
        {customized property} = "string"
      }
      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"
    }
  })
}

Valores de propiedad

AdditionalLocation

Nombre Descripción Valor
ubicación Nombre de ubicación de la región adicional entre las regiones del centro de datos de Azure. string (obligatorio)
Sku Propiedades de SKU del servicio API Management. ApiManagementServiceSkuProperties (obligatorio)
virtualNetworkConfiguration Configuración de red virtual para la ubicación. virtualNetworkConfiguration

ApiManagementServiceBasePropertiesCustomProperties

Nombre Descripción Valor

ApiManagementServiceIdentity

Nombre Descripción Valor
tipo Tipo de identidad. Actualmente, el único tipo admitido es "SystemAssigned". 'SystemAssigned' (obligatorio)

ApiManagementServiceProperties

Nombre Descripción Valor
additionalLocations Ubicaciones adicionales del centro de datos del servicio API Management. AdditionalLocation []
Certificados Lista de certificados que deben instalarse en el servicio API Management. El número máximo de certificados admitidos que se pueden instalar es 10. certificateConfiguration[]
customProperties Propiedades personalizadas del servicio API Management.
Al establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 deshabilitará la TLS_RSA_WITH_3DES_EDE_CBC_SHA de cifrado para todas las TLS(1.0, 1.1 y 1.2).
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 se puede usar para deshabilitar solo TLS 1.1.
La configuración de Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 se puede usar para deshabilitar TLS 1.0 en un servicio de API Management.
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 se puede usar para deshabilitar solo TLS 1.1 para las comunicaciones con back-end.
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 se puede usar para deshabilitar TLS 1.0 para las comunicaciones con back-end.
Establecer Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 se puede usar para habilitar el protocolo HTTP2 en un servicio API Management.
No especificar ninguna de estas propiedades en la operación PATCH restablecerá los valores de las propiedades omitidas a sus valores predeterminados. Para todas las configuraciones excepto Http2, el valor predeterminado es True si el servicio se creó el 1 de abril de 2018 o antes del 1 de abril de 2018 y False de lo contrario. El valor predeterminado de la configuración http2 es False.

Puede deshabilitar cualquiera de los siguientes cifrados mediante la configuración 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.
Por ejemplo: Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256:false. El valor predeterminado es true para todos ellos.
ApiManagementServiceBasePropertiesCustomProperties
enableClientCertificate Propiedad solo diseñada para usarse para el servicio de SKU de consumo. Esto exige que se presente un certificado de cliente en cada solicitud a la puerta de enlace. Esto también permite autenticar el certificado en la directiva en la puerta de enlace. Bool
hostnameConfigurations Configuración de nombre de host personalizada del servicio API Management. hostnameConfiguration[]
notificationSenderEmail Dirección de correo electrónico desde la que se enviará la notificación. cuerda

Restricciones:
Longitud máxima =
publisherEmail Correo electrónico del publicador. cuerda

Restricciones:
Longitud máxima = (obligatorio)
publisherName Nombre del publicador. cuerda

Restricciones:
Longitud máxima = (obligatorio)
virtualNetworkConfiguration Configuración de red virtual del servicio API Management. virtualNetworkConfiguration
virtualNetworkType Tipo de VPN en el que se debe configurar el servicio API Management. Ninguno (valor predeterminado) significa que el servicio API Management no forma parte de ninguna red virtual, external significa que la implementación de API Management está configurada dentro de una red virtual que tiene un punto de conexión accesible desde Internet y que la implementación interna de API Management está configurada dentro de una red virtual que tiene un punto de conexión accesible desde intranet solo. 'Externo'
'Interno'
'Ninguno'

ApiManagementServiceSkuProperties

Nombre Descripción Valor
capacidad Capacidad de la SKU (número de unidades implementadas de la SKU). Int
nombre Nombre de la SKU. "Básico"
"Consumo"
'Developer'
'Premium'
'Estándar' (obligatorio)

ApimResourceTags

Nombre Descripción Valor

CertificateConfiguration

Nombre Descripción Valor
certificado Información del certificado. CertificateInformation de
certificatePassword Contraseña del certificado. cuerda
encodedCertificate Certificado codificado en Base64. cuerda
storeName Ubicación del almacén de certificados System.Security.Cryptography.x509certificates.StoreName. Solo root y CertificateAuthority son ubicaciones válidas. "CertificateAuthority"
'Root' (obligatorio)

CertificateInformation

Nombre Descripción Valor
expiración Fecha de expiración del certificado. La fecha se ajusta al siguiente formato: yyyy-MM-ddTHH:mm:ssZ según lo especificado por el estándar ISO 8601. string (obligatorio)
Asunto Asunto del certificado. string (obligatorio)
Huella digital Huella digital del certificado. string (obligatorio)

HostnameConfiguration

Nombre Descripción Valor
certificado Información del certificado. CertificateInformation de
certificatePassword Contraseña del certificado. cuerda
defaultSslBinding Especifique true para configurar el certificado asociado a este nombre de host como certificado SSL predeterminado. Si un cliente no envía el encabezado SNI, este será el certificado que se impugnará. La propiedad es útil si un servicio tiene habilitado varios nombres de host personalizados y debe decidir el certificado ssl predeterminado. La configuración solo se aplica al tipo de nombre de host de proxy. Bool
encodedCertificate Certificado codificado en Base64. cuerda
hostName Nombre de host que se va a configurar en el servicio Api Management. string (obligatorio)
keyVaultId Dirección URL al secreto de KeyVault que contiene el certificado Ssl. Si se proporciona la dirección URL absoluta que contiene la versión, la actualización automática del certificado ssl no funcionará. Esto requiere que el servicio Api Management se configure con MSI. El secreto debe ser de tipo application/x-pkcs12 cuerda
negotiateClientCertificate Especifique true para negociar siempre el certificado de cliente en el nombre de host. El valor predeterminado es false. Bool
tipo Tipo de nombre de host. 'DeveloperPortal'
"Administración"
'Portal'
'Proxy'
'Scm' (obligatorio)

Microsoft.ApiManagement/service

Nombre Descripción Valor
identidad Identidad de servicio administrada del servicio Api Management. apiManagementServiceIdentity
ubicación Ubicación del recurso. string (obligatorio)
nombre El nombre del recurso cuerda

Restricciones:
Longitud mínima = 1
Longitud máxima = 1
Patrón = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (obligatorio)
Propiedades Propiedades del servicio API Management. ApiManagementServiceProperties (obligatorio)
Sku Propiedades de SKU del servicio API Management. ApiManagementServiceSkuProperties (obligatorio)
Etiquetas Etiquetas de recursos Diccionario de nombres y valores de etiqueta.
tipo El tipo de recurso "Microsoft.ApiManagement/service@2019-01-01"

VirtualNetworkConfiguration

Nombre Descripción Valor
subnetResourceId Identificador de recurso completo de una subred de una red virtual en la que se va a implementar el servicio API Management. cuerda

Restricciones:
Patrón = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$