Servicio Microsoft.ApiManagement 2019-12-01
- más reciente
- 2024-06-01-preview
- 2024-05-01
- 2023-09-01-preview
- 2023-05-01-preview
- 2023-03-01-preview
- 2022-09-01-preview
- 2022-08-01
- 2022-04-01-preview
- 2021-12-01-preview
- 2021-08-01
- 2021-04-01-preview
- 2021-01-01-preview
- 2020-12-01
- 2020-06-01-preview
- 2019-12-01
- 2019-12-01-preview
- 2019-01-01
- 2018-06-01-preview
- 2018-01-01
- 2017-03-01
- 2016-10-10
- 2016-07-07
Definición de recursos de Bicep
El tipo de recurso de servicio se puede implementar con operaciones destinadas a:
- grupos de recursos: consulte comandos de implementación de grupos de recursos
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-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'
}
}
Valores de propiedad
AdditionalLocation
Nombre | Descripción | Valor |
---|---|---|
disableGateway | La propiedad solo es válida para un servicio api Management implementado en varias ubicaciones. Esto se puede usar para deshabilitar la puerta de enlace en esta ubicación adicional. | Bool |
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 que se usa para el recurso. El tipo "SystemAssigned, UserAssigned" incluye una identidad creada implícitamente y un conjunto de identidades asignadas por el usuario. El tipo "None" quitará las identidades del servicio. | 'Ninguno' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (obligatorio) |
userAssignedIdentities | Lista de identidades de usuario asociadas al recurso. La identidad del usuario las referencias de clave de diccionario serán identificadores de recurso de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
Nombre | Descripción | Valor |
---|
ApiManagementServiceProperties
Nombre | Descripción | Valor |
---|---|---|
additionalLocations | Ubicaciones adicionales del centro de datos del servicio API Management. | AdditionalLocation [] |
apiVersionConstraint | Restricción de versión de api de plano de control para el servicio API Management. | ApiVersionConstraint |
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.Nota: Los siguientes cifrados no se pueden deshabilitar, ya que los componentes internos de Azure CloudService los requieren: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_256_GCM_SHA384 |
ApiManagementServiceBasePropertiesCustomProperties |
disableGateway | La propiedad solo es válida para un servicio api Management implementado en varias ubicaciones. Esto se puede usar para deshabilitar la puerta de enlace en la región maestra. | Bool |
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). Para la capacidad de SKU de consumo debe especificarse como 0. | int (obligatorio) |
nombre | Nombre de la SKU. | "Básico" "Consumo" 'Developer' 'Premium' 'Estándar' (obligatorio) |
ApimResourceTags
Nombre | Descripción | Valor |
---|
ApiVersionConstraint
Nombre | Descripción | Valor |
---|---|---|
minApiVersion | Limite las llamadas API del plano de control al servicio API Management con la versión igual o posterior a este valor. | cuerda |
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 |
UserIdentityProperties
Nombre | Descripción | Valor |
---|---|---|
clientId | Identificador de cliente de la identidad asignada por el usuario. | cuerda |
principalId | Identificador principal de la identidad asignada por el usuario. | cuerda |
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:
- grupos de recursos: consulte comandos de implementación de grupos de recursos
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-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"
}
}
Valores de propiedad
AdditionalLocation
Nombre | Descripción | Valor |
---|---|---|
disableGateway | La propiedad solo es válida para un servicio api Management implementado en varias ubicaciones. Esto se puede usar para deshabilitar la puerta de enlace en esta ubicación adicional. | Bool |
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 que se usa para el recurso. El tipo "SystemAssigned, UserAssigned" incluye una identidad creada implícitamente y un conjunto de identidades asignadas por el usuario. El tipo "None" quitará las identidades del servicio. | 'Ninguno' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (obligatorio) |
userAssignedIdentities | Lista de identidades de usuario asociadas al recurso. La identidad del usuario las referencias de clave de diccionario serán identificadores de recurso de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
Nombre | Descripción | Valor |
---|
ApiManagementServiceProperties
Nombre | Descripción | Valor |
---|---|---|
additionalLocations | Ubicaciones adicionales del centro de datos del servicio API Management. | AdditionalLocation [] |
apiVersionConstraint | Restricción de versión de api de plano de control para el servicio API Management. | ApiVersionConstraint |
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.Nota: Los siguientes cifrados no se pueden deshabilitar, ya que los componentes internos de Azure CloudService los requieren: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_256_GCM_SHA384 |
ApiManagementServiceBasePropertiesCustomProperties |
disableGateway | La propiedad solo es válida para un servicio api Management implementado en varias ubicaciones. Esto se puede usar para deshabilitar la puerta de enlace en la región maestra. | Bool |
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). Para la capacidad de SKU de consumo debe especificarse como 0. | int (obligatorio) |
nombre | Nombre de la SKU. | "Básico" "Consumo" 'Developer' 'Premium' 'Estándar' (obligatorio) |
ApimResourceTags
Nombre | Descripción | Valor |
---|
ApiVersionConstraint
Nombre | Descripción | Valor |
---|---|---|
minApiVersion | Limite las llamadas API del plano de control al servicio API Management con la versión igual o posterior a este valor. | cuerda |
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-12-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" |
UserIdentityProperties
Nombre | Descripción | Valor |
---|---|---|
clientId | Identificador de cliente de la identidad asignada por el usuario. | cuerda |
principalId | Identificador principal de la identidad asignada por el usuario. | cuerda |
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 |
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. |
Crear una instancia de API Management y todos los subrecursos mediante de plantilla |
Esta plantilla muestra cómo crear un servicio API Management y configurar subentidades |
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 una instancia de API Management con nombres de host personalizados |
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 |
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 y supervisión de la instancia de API Management |
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 |
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 |
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 |
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 |
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 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-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"
}
})
}
Valores de propiedad
AdditionalLocation
Nombre | Descripción | Valor |
---|---|---|
disableGateway | La propiedad solo es válida para un servicio api Management implementado en varias ubicaciones. Esto se puede usar para deshabilitar la puerta de enlace en esta ubicación adicional. | Bool |
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 que se usa para el recurso. El tipo "SystemAssigned, UserAssigned" incluye una identidad creada implícitamente y un conjunto de identidades asignadas por el usuario. El tipo "None" quitará las identidades del servicio. | 'Ninguno' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (obligatorio) |
userAssignedIdentities | Lista de identidades de usuario asociadas al recurso. La identidad del usuario las referencias de clave de diccionario serán identificadores de recurso de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
Nombre | Descripción | Valor |
---|
ApiManagementServiceProperties
Nombre | Descripción | Valor |
---|---|---|
additionalLocations | Ubicaciones adicionales del centro de datos del servicio API Management. | AdditionalLocation [] |
apiVersionConstraint | Restricción de versión de api de plano de control para el servicio API Management. | ApiVersionConstraint |
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.Nota: Los siguientes cifrados no se pueden deshabilitar, ya que los componentes internos de Azure CloudService los requieren: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_256_GCM_SHA384 |
ApiManagementServiceBasePropertiesCustomProperties |
disableGateway | La propiedad solo es válida para un servicio api Management implementado en varias ubicaciones. Esto se puede usar para deshabilitar la puerta de enlace en la región maestra. | Bool |
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). Para la capacidad de SKU de consumo debe especificarse como 0. | int (obligatorio) |
nombre | Nombre de la SKU. | "Básico" "Consumo" 'Developer' 'Premium' 'Estándar' (obligatorio) |
ApimResourceTags
Nombre | Descripción | Valor |
---|
ApiVersionConstraint
Nombre | Descripción | Valor |
---|---|---|
minApiVersion | Limite las llamadas API del plano de control al servicio API Management con la versión igual o posterior a este valor. | cuerda |
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-12-01" |
UserIdentityProperties
Nombre | Descripción | Valor |
---|---|---|
clientId | Identificador de cliente de la identidad asignada por el usuario. | cuerda |
principalId | Identificador principal de la identidad asignada por el usuario. | cuerda |
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/[^/]*$ |