Serviço Microsoft.ApiManagement 2020-12-01
- última
- 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
Definição de recurso do Bicep
O tipo de recurso de serviço pode ser implantado com operações direcionadas:
- Grupos de recursos - Consulte comandos de implantação do grupo de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Formato de recurso
Para criar um recurso Microsoft.ApiManagement/service, adicione o Bicep a seguir ao seu modelo.
resource symbolicname 'Microsoft.ApiManagement/service@2020-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'
}
zones: [
'string'
]
}
]
apiVersionConstraint: {
minApiVersion: 'string'
}
certificates: [
{
certificate: {
expiry: 'string'
subject: 'string'
thumbprint: 'string'
}
certificatePassword: 'string'
encodedCertificate: 'string'
storeName: 'string'
}
]
customProperties: {
{customized property}: 'string'
}
disableGateway: bool
enableClientCertificate: bool
hostnameConfigurations: [
{
certificate: {
expiry: 'string'
subject: 'string'
thumbprint: 'string'
}
certificatePassword: 'string'
defaultSslBinding: bool
encodedCertificate: 'string'
hostName: 'string'
identityClientId: 'string'
keyVaultId: 'string'
negotiateClientCertificate: bool
type: 'string'
}
]
notificationSenderEmail: 'string'
publisherEmail: 'string'
publisherName: 'string'
restore: bool
virtualNetworkConfiguration: {
subnetResourceId: 'string'
}
virtualNetworkType: 'string'
}
sku: {
capacity: int
name: 'string'
}
tags: {
{customized property}: 'string'
}
zones: [
'string'
]
}
Valores de propriedade
AdditionalLocation
ApiManagementServiceBasePropertiesCustomProperties
Nome | Descrição | Valor |
---|
ApiManagementServiceIdentity
Nome | Descrição | Valor |
---|---|---|
tipo | O tipo de identidade usado para o recurso. O tipo 'SystemAssigned, UserAssigned' inclui uma identidade criada implicitamente e um conjunto de identidades atribuídas pelo usuário. O tipo 'None' removerá as identidades do serviço. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (obrigatório) |
userAssignedIdentities | A lista de identidades de usuário associadas ao recurso. A identidade do usuário As referências de chave de dicionário serão IDs de recurso do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
Nome | Descrição | Valor |
---|
ApiManagementServiceProperties
Nome | Descrição | Valor |
---|---|---|
additionalLocations | Locais de datacenter adicionais do serviço de Gerenciamento de API. | AdditionalLocation [] |
apiVersionConstraint | Restrição de versão do Control Plane Apis para o serviço de Gerenciamento de API. | ApiVersionConstraint |
Certificados | Lista de certificados que precisam ser instalados no serviço de Gerenciamento de API. O máximo de certificados com suporte que podem ser instalados é 10. | CertificateConfiguration [] |
customProperties | Propriedades personalizadas do serviço de Gerenciamento de API. Definir Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 desabilitará o TLS_RSA_WITH_3DES_EDE_CBC_SHA de criptografia para todos os TLS(1.0, 1.1 e 1.2).A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 pode ser usada para desabilitar apenas o TLS 1.1.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 pode ser usada para desabilitar o TLS 1.0 em um serviço de Gerenciamento de API.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 pode ser usada para desabilitar apenas o TLS 1.1 para comunicações com back-ends.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 pode ser usada para desabilitar o TLS 1.0 para comunicações com back-ends.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 pode ser usada para habilitar o protocolo HTTP2 em um serviço de Gerenciamento de API.Não especificar nenhuma dessas propriedades na operação PATCH redefinirá os valores das propriedades omitidas para seus padrões. Para todas as configurações, exceto Http2, o valor padrão será True se o serviço tiver sido criado em ou antes de 1º de abril de 2018 e False caso contrário. O valor padrão da configuração Http2 é False .Você pode desabilitar qualquer uma das próximas criptografias usando configurações 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 exemplo, Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false . O valor padrão é true para eles. Observação: as próximas criptografias não podem ser desabilitadas, pois são exigidas por componentes internos do 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 |
ApiManagementServiceBasePropertiesCustomProperties |
disableGateway | Propriedade válida somente para um serviço de Gerenciamento de API implantado em vários locais. Isso pode ser usado para desabilitar o gateway na região mestra. | Bool |
enableClientCertificate | Propriedade destinada apenas a ser usada para o Serviço de SKU de Consumo. Isso impõe que um certificado do cliente seja apresentado em cada solicitação ao gateway. Isso também permite a capacidade de autenticar o certificado na política no gateway. | Bool |
hostnameConfigurations | Configuração de nome de host personalizado do serviço de Gerenciamento de API. | hostnameConfiguration[] |
notificationSenderEmail | Endereço de email do qual a notificação será enviada. | corda Restrições: Comprimento máximo = |
publisherEmail | Email do publicador. | corda Restrições: Comprimento máximo = (obrigatório) |
publisherName | Nome do editor. | corda Restrições: Comprimento máximo = (obrigatório) |
restaurar | Desdelete o Serviço de Gerenciamento de API se ele foi excluído anteriormente. Se esse sinalizador for especificado e definido como True, todas as outras propriedades serão ignoradas. | Bool |
virtualNetworkConfiguration | Configuração de rede virtual do serviço de Gerenciamento de API. | |
virtualNetworkType | O tipo de VPN no qual o serviço de Gerenciamento de API precisa ser configurado. Nenhum (Valor Padrão) significa que o serviço de Gerenciamento de API não faz parte de nenhuma Rede Virtual, Externo significa que a implantação de Gerenciamento de API está configurada dentro de uma Rede Virtual com um ponto de extremidade voltado para a Internet e interno significa que a implantação do Gerenciamento de API é configurada dentro de uma Rede Virtual com apenas um ponto de extremidade voltado para intranet. | 'Externo' 'Interno' 'None' |
ApiManagementServiceSkuProperties
Nome | Descrição | Valor |
---|---|---|
capacidade | Capacidade do SKU (número de unidades implantadas do SKU). Para a capacidade de SKU de Consumo deve ser especificada como 0. | int (obrigatório) |
nome | Nome do Sku. | 'Básico' 'Consumo' 'Desenvolvedor' 'Isolado' 'Premium' 'Standard' (obrigatório) |
ApimResourceTags
Nome | Descrição | Valor |
---|
ApiVersionConstraint
Nome | Descrição | Valor |
---|---|---|
minApiVersion | Limite as chamadas à API do painel de controle para o serviço de Gerenciamento de API com versão igual ou mais recente que esse valor. | corda |
CertificateConfiguration
Nome | Descrição | Valor |
---|---|---|
certificado | Informações do certificado. | |
certificatePassword | Senha do certificado. | corda |
encodedCertificate | Certificado codificado em Base64. | corda |
storeName | O local do repositório de certificados System.Security.Cryptography.x509certificates.StoreName. Somente Root e CertificateAuthority são locais válidos. | 'CertificateAuthority' 'Root' (obrigatório) |
CertificateInformation
Nome | Descrição | Valor |
---|---|---|
caducidade | Data de validade do certificado. A data está em conformidade com o seguinte formato: yyyy-MM-ddTHH:mm:ssZ conforme especificado pelo padrão ISO 8601. |
cadeia de caracteres (obrigatório) |
Assunto | Assunto do certificado. | cadeia de caracteres (obrigatório) |
Impressão digital | Impressão digital do certificado. | cadeia de caracteres (obrigatório) |
HostnameConfiguration
Nome | Descrição | Valor |
---|---|---|
certificado | Informações do certificado. | |
certificatePassword | Senha do certificado. | corda |
defaultSslBinding | Especifique true para configurar o certificado associado a esse nome de host como o certificado SSL padrão. Se um cliente não enviar o cabeçalho SNI, esse será o certificado que será contestado. A propriedade será útil se um serviço tiver vários nomes de host personalizados habilitados e precisar decidir sobre o certificado SSL padrão. A configuração aplicada somente ao Tipo de Nome de Host do Proxy. | Bool |
encodedCertificate | Certificado codificado em Base64. | corda |
hostName | Nome do host a ser configurado no serviço de Gerenciamento de API. | cadeia de caracteres (obrigatório) |
identityClientId | System or User Assigned Managed identity clientId as generated by Azure AD, que tem acesso GET ao keyVault que contém o certificado SSL. | corda |
keyVaultId | Url para o Segredo KeyVault que contém o Certificado SSL. Se a URL absoluta que contém a versão for fornecida, a atualização automática do certificado SSL não funcionará. Isso requer que o serviço de Gerenciamento de API seja configurado com aka.ms/apimmsi. O segredo deve ser do tipo application/x-pkcs12 | corda |
negotiateClientCertificate | Especifique true para sempre negociar o certificado do cliente no nome do host. O valor padrão é falso. | Bool |
tipo | Tipo de nome de host. | 'DeveloperPortal' 'Gerenciamento' 'Portal' 'Proxy' 'Scm' (obrigatório) |
Microsoft.ApiManagement/service
Nome | Descrição | Valor |
---|---|---|
identidade | Identidade de serviço gerenciada do serviço de Gerenciamento de API. | ApiManagementServiceIdentity |
localização | Local do recurso. | cadeia de caracteres (obrigatório) |
nome | O nome do recurso | corda Restrições: Comprimento mínimo = 1 Comprimento máximo = 1 Padrão = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (obrigatório) |
Propriedades | Propriedades do serviço de Gerenciamento de API. | ApiManagementServiceProperties (obrigatório) |
Sku | Propriedades de SKU do serviço de Gerenciamento de API. | ApiManagementServiceSkuProperties (obrigatório) |
Tags | Marcas de recurso | Dicionário de nomes e valores de marca. Consulte Marcas em modelos |
Zonas | Uma lista de zonas de disponibilidade indicando de onde o recurso precisa vir. | string[] |
UserIdentityProperties
Nome | Descrição | Valor |
---|---|---|
clientId | A ID do cliente da identidade atribuída pelo usuário. | corda |
principalId | A ID principal da identidade atribuída pelo usuário. | corda |
VirtualNetworkConfiguration
Nome | Descrição | Valor |
---|---|---|
subnetResourceId | A ID de recurso completa de uma sub-rede em uma rede virtual na qual implantar o serviço de Gerenciamento de API. | corda Restrições: Padrão = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |
Exemplos de início rápido
Os exemplos de início rápido a seguir implantam esse tipo de recurso.
Arquivo Bicep | Descrição |
---|---|
Gateway de Aplicativo com gerenciamento de API interno e de aplicativo Web | Gateway de Aplicativo roteando o tráfego da Internet para uma instância de Gerenciamento de API de rede virtual (modo interno), que atende a uma API Web hospedada em um Aplicativo Web do Azure. |
Criar uma instância de Gerenciamento de API de camada Premium de várias regiões | Este modelo demonstra como criar uma instância de Gerenciamento de API com locais adicionais. O local primário é o mesmo que o local do grupo de recursos. Para locais adicionais, o modelo mostra NorthCentralUs e Leste dos EUA2. O local primário deve ser diferente dos locais adicionais. |
Criar uma instância de Gerenciamento de API com o MSI Identity | Este modelo cria uma instância de desenvolvedor do Gerenciamento de API do Azure com uma identidade msi |
Criar uma instância de Gerenciamento de API usando um modelo | Este modelo cria uma instância de desenvolvedor do Gerenciamento de API do Azure |
criar um serviço de Gerenciamento de API com um ponto de extremidade privado | Esse modelo criará um serviço de Gerenciamento de API, uma rede virtual e um ponto de extremidade privado expondo o serviço de Gerenciamento de API à rede virtual. |
Criar um serviço de Gerenciamento de API com SSL do KeyVault | Esse modelo implanta um serviço de Gerenciamento de API configurado com a Identidade Atribuída pelo Usuário. Ele usa essa identidade para buscar o certificado SSL do KeyVault e o mantém atualizado verificando a cada 4 horas. |
criar gerenciamento de API na VNet interna com o Gateway de Aplicativo | Este modelo demonstra como criar uma instância do Gerenciamento de API do Azure em uma rede privada protegida pelo Gateway de Aplicativo do Azure. |
implantar o Gerenciamento de API na VNet externa com de IP público | Este modelo demonstra como criar uma instância do Gerenciamento de API do Azure na camada Premium dentro da sub-rede da sua rede virtual no modo externo e configurar regras NSG recomendadas na sub-rede. A instância é implantada em duas zonas de disponibilidade. O modelo também configura um endereço IP público de sua assinatura. |
implantar o Gerenciamento de API na VNet interna com ip público | Este modelo demonstra como criar uma instância do Gerenciamento de API do Azure na camada Premium dentro da sub-rede da sua rede virtual no modo interno e configurar regras NSG recomendadas na sub-rede. A instância é implantada em duas zonas de disponibilidade. O modelo também configura um endereço IP público de sua assinatura. |
implantar o gerenciamento de API em zonas de disponibilidade | Este modelo cria uma instância premium do Gerenciamento de API do Azure e é implantado em uma Zona de Disponibilidade |
implantar o Gerenciamento de API com um Cache do Azure externo para Redis | Este modelo demonstra como criar uma instância do Gerenciamento de API do Azure na camada de Consumo com uma instância externa do Cache do Azure para Redis como o cache externo do Gerenciamento de API. |
Front Door Standard/Premium com origem do Gerenciamento de API | Esse modelo cria um Front Door Premium e uma instância de Gerenciamento de API e usa uma política de Gerenciamento de API global e NSG para validar que o tráfego veio por meio da origem do Front Door. |
Definição de recurso de modelo do ARM
O tipo de recurso de serviço pode ser implantado com operações direcionadas:
- Grupos de recursos - Consulte comandos de implantação do grupo de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Formato de recurso
Para criar um recurso Microsoft.ApiManagement/service, adicione o JSON a seguir ao modelo.
{
"type": "Microsoft.ApiManagement/service",
"apiVersion": "2020-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"
},
"zones": [ "string" ]
}
],
"apiVersionConstraint": {
"minApiVersion": "string"
},
"certificates": [
{
"certificate": {
"expiry": "string",
"subject": "string",
"thumbprint": "string"
},
"certificatePassword": "string",
"encodedCertificate": "string",
"storeName": "string"
}
],
"customProperties": {
"{customized property}": "string"
},
"disableGateway": "bool",
"enableClientCertificate": "bool",
"hostnameConfigurations": [
{
"certificate": {
"expiry": "string",
"subject": "string",
"thumbprint": "string"
},
"certificatePassword": "string",
"defaultSslBinding": "bool",
"encodedCertificate": "string",
"hostName": "string",
"identityClientId": "string",
"keyVaultId": "string",
"negotiateClientCertificate": "bool",
"type": "string"
}
],
"notificationSenderEmail": "string",
"publisherEmail": "string",
"publisherName": "string",
"restore": "bool",
"virtualNetworkConfiguration": {
"subnetResourceId": "string"
},
"virtualNetworkType": "string"
},
"sku": {
"capacity": "int",
"name": "string"
},
"tags": {
"{customized property}": "string"
},
"zones": [ "string" ]
}
Valores de propriedade
AdditionalLocation
ApiManagementServiceBasePropertiesCustomProperties
Nome | Descrição | Valor |
---|
ApiManagementServiceIdentity
Nome | Descrição | Valor |
---|---|---|
tipo | O tipo de identidade usado para o recurso. O tipo 'SystemAssigned, UserAssigned' inclui uma identidade criada implicitamente e um conjunto de identidades atribuídas pelo usuário. O tipo 'None' removerá as identidades do serviço. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (obrigatório) |
userAssignedIdentities | A lista de identidades de usuário associadas ao recurso. A identidade do usuário As referências de chave de dicionário serão IDs de recurso do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
Nome | Descrição | Valor |
---|
ApiManagementServiceProperties
Nome | Descrição | Valor |
---|---|---|
additionalLocations | Locais de datacenter adicionais do serviço de Gerenciamento de API. | AdditionalLocation [] |
apiVersionConstraint | Restrição de versão do Control Plane Apis para o serviço de Gerenciamento de API. | ApiVersionConstraint |
Certificados | Lista de certificados que precisam ser instalados no serviço de Gerenciamento de API. O máximo de certificados com suporte que podem ser instalados é 10. | CertificateConfiguration [] |
customProperties | Propriedades personalizadas do serviço de Gerenciamento de API. Definir Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 desabilitará o TLS_RSA_WITH_3DES_EDE_CBC_SHA de criptografia para todos os TLS(1.0, 1.1 e 1.2).A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 pode ser usada para desabilitar apenas o TLS 1.1.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 pode ser usada para desabilitar o TLS 1.0 em um serviço de Gerenciamento de API.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 pode ser usada para desabilitar apenas o TLS 1.1 para comunicações com back-ends.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 pode ser usada para desabilitar o TLS 1.0 para comunicações com back-ends.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 pode ser usada para habilitar o protocolo HTTP2 em um serviço de Gerenciamento de API.Não especificar nenhuma dessas propriedades na operação PATCH redefinirá os valores das propriedades omitidas para seus padrões. Para todas as configurações, exceto Http2, o valor padrão será True se o serviço tiver sido criado em ou antes de 1º de abril de 2018 e False caso contrário. O valor padrão da configuração Http2 é False .Você pode desabilitar qualquer uma das próximas criptografias usando configurações 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 exemplo, Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false . O valor padrão é true para eles. Observação: as próximas criptografias não podem ser desabilitadas, pois são exigidas por componentes internos do 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 |
ApiManagementServiceBasePropertiesCustomProperties |
disableGateway | Propriedade válida somente para um serviço de Gerenciamento de API implantado em vários locais. Isso pode ser usado para desabilitar o gateway na região mestra. | Bool |
enableClientCertificate | Propriedade destinada apenas a ser usada para o Serviço de SKU de Consumo. Isso impõe que um certificado do cliente seja apresentado em cada solicitação ao gateway. Isso também permite a capacidade de autenticar o certificado na política no gateway. | Bool |
hostnameConfigurations | Configuração de nome de host personalizado do serviço de Gerenciamento de API. | hostnameConfiguration[] |
notificationSenderEmail | Endereço de email do qual a notificação será enviada. | corda Restrições: Comprimento máximo = |
publisherEmail | Email do publicador. | corda Restrições: Comprimento máximo = (obrigatório) |
publisherName | Nome do editor. | corda Restrições: Comprimento máximo = (obrigatório) |
restaurar | Desdelete o Serviço de Gerenciamento de API se ele foi excluído anteriormente. Se esse sinalizador for especificado e definido como True, todas as outras propriedades serão ignoradas. | Bool |
virtualNetworkConfiguration | Configuração de rede virtual do serviço de Gerenciamento de API. | |
virtualNetworkType | O tipo de VPN no qual o serviço de Gerenciamento de API precisa ser configurado. Nenhum (Valor Padrão) significa que o serviço de Gerenciamento de API não faz parte de nenhuma Rede Virtual, Externo significa que a implantação de Gerenciamento de API está configurada dentro de uma Rede Virtual com um ponto de extremidade voltado para a Internet e interno significa que a implantação do Gerenciamento de API é configurada dentro de uma Rede Virtual com apenas um ponto de extremidade voltado para intranet. | 'Externo' 'Interno' 'None' |
ApiManagementServiceSkuProperties
Nome | Descrição | Valor |
---|---|---|
capacidade | Capacidade do SKU (número de unidades implantadas do SKU). Para a capacidade de SKU de Consumo deve ser especificada como 0. | int (obrigatório) |
nome | Nome do Sku. | 'Básico' 'Consumo' 'Desenvolvedor' 'Isolado' 'Premium' 'Standard' (obrigatório) |
ApimResourceTags
Nome | Descrição | Valor |
---|
ApiVersionConstraint
Nome | Descrição | Valor |
---|---|---|
minApiVersion | Limite as chamadas à API do painel de controle para o serviço de Gerenciamento de API com versão igual ou mais recente que esse valor. | corda |
CertificateConfiguration
Nome | Descrição | Valor |
---|---|---|
certificado | Informações do certificado. | |
certificatePassword | Senha do certificado. | corda |
encodedCertificate | Certificado codificado em Base64. | corda |
storeName | O local do repositório de certificados System.Security.Cryptography.x509certificates.StoreName. Somente Root e CertificateAuthority são locais válidos. | 'CertificateAuthority' 'Root' (obrigatório) |
CertificateInformation
Nome | Descrição | Valor |
---|---|---|
caducidade | Data de validade do certificado. A data está em conformidade com o seguinte formato: yyyy-MM-ddTHH:mm:ssZ conforme especificado pelo padrão ISO 8601. |
cadeia de caracteres (obrigatório) |
Assunto | Assunto do certificado. | cadeia de caracteres (obrigatório) |
Impressão digital | Impressão digital do certificado. | cadeia de caracteres (obrigatório) |
HostnameConfiguration
Nome | Descrição | Valor |
---|---|---|
certificado | Informações do certificado. | |
certificatePassword | Senha do certificado. | corda |
defaultSslBinding | Especifique true para configurar o certificado associado a esse nome de host como o certificado SSL padrão. Se um cliente não enviar o cabeçalho SNI, esse será o certificado que será contestado. A propriedade será útil se um serviço tiver vários nomes de host personalizados habilitados e precisar decidir sobre o certificado SSL padrão. A configuração aplicada somente ao Tipo de Nome de Host do Proxy. | Bool |
encodedCertificate | Certificado codificado em Base64. | corda |
hostName | Nome do host a ser configurado no serviço de Gerenciamento de API. | cadeia de caracteres (obrigatório) |
identityClientId | System or User Assigned Managed identity clientId as generated by Azure AD, que tem acesso GET ao keyVault que contém o certificado SSL. | corda |
keyVaultId | Url para o Segredo KeyVault que contém o Certificado SSL. Se a URL absoluta que contém a versão for fornecida, a atualização automática do certificado SSL não funcionará. Isso requer que o serviço de Gerenciamento de API seja configurado com aka.ms/apimmsi. O segredo deve ser do tipo application/x-pkcs12 | corda |
negotiateClientCertificate | Especifique true para sempre negociar o certificado do cliente no nome do host. O valor padrão é falso. | Bool |
tipo | Tipo de nome de host. | 'DeveloperPortal' 'Gerenciamento' 'Portal' 'Proxy' 'Scm' (obrigatório) |
Microsoft.ApiManagement/service
Nome | Descrição | Valor |
---|---|---|
apiVersion | A versão da API | '2020-12-01' |
identidade | Identidade de serviço gerenciada do serviço de Gerenciamento de API. | ApiManagementServiceIdentity |
localização | Local do recurso. | cadeia de caracteres (obrigatório) |
nome | O nome do recurso | corda Restrições: Comprimento mínimo = 1 Comprimento máximo = 1 Padrão = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (obrigatório) |
Propriedades | Propriedades do serviço de Gerenciamento de API. | ApiManagementServiceProperties (obrigatório) |
Sku | Propriedades de SKU do serviço de Gerenciamento de API. | ApiManagementServiceSkuProperties (obrigatório) |
Tags | Marcas de recurso | Dicionário de nomes e valores de marca. Consulte Marcas em modelos |
tipo | O tipo de recurso | 'Microsoft.ApiManagement/service' |
Zonas | Uma lista de zonas de disponibilidade indicando de onde o recurso precisa vir. | string[] |
UserIdentityProperties
Nome | Descrição | Valor |
---|---|---|
clientId | A ID do cliente da identidade atribuída pelo usuário. | corda |
principalId | A ID principal da identidade atribuída pelo usuário. | corda |
VirtualNetworkConfiguration
Nome | Descrição | Valor |
---|---|---|
subnetResourceId | A ID de recurso completa de uma sub-rede em uma rede virtual na qual implantar o serviço de Gerenciamento de API. | corda Restrições: Padrão = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |
Modelos de início rápido
Os modelos de início rápido a seguir implantam esse tipo de recurso.
Modelo | Descrição |
---|---|
Gateway de Aplicativo com gerenciamento de API interno e de aplicativo Web |
Gateway de Aplicativo roteando o tráfego da Internet para uma instância de Gerenciamento de API de rede virtual (modo interno), que atende a uma API Web hospedada em um Aplicativo Web do Azure. |
Criar uma instância de Gerenciamento de API de camada Premium de várias regiões |
Este modelo demonstra como criar uma instância de Gerenciamento de API com locais adicionais. O local primário é o mesmo que o local do grupo de recursos. Para locais adicionais, o modelo mostra NorthCentralUs e Leste dos EUA2. O local primário deve ser diferente dos locais adicionais. |
Criar uma instância de Gerenciamento de API e todos os sub-recursos usando de modelo |
Este modelo demonstra como criar um serviço de Gerenciamento de API e configurar sub entidades |
Criar uma instância de Gerenciamento de API com o MSI Identity |
Este modelo cria uma instância de desenvolvedor do Gerenciamento de API do Azure com uma identidade msi |
Criar uma instância de Gerenciamento de API usando um modelo |
Este modelo cria uma instância de desenvolvedor do Gerenciamento de API do Azure |
Criar uma instância de Gerenciamento de API com nomes de host personalizados |
Este modelo demonstra como criar uma instância do Gerenciamento de API do Azure com nome de host personalizado para portal e vários nomes de host personalizados para proxy |
criar um serviço de Gerenciamento de API com um ponto de extremidade privado |
Esse modelo criará um serviço de Gerenciamento de API, uma rede virtual e um ponto de extremidade privado expondo o serviço de Gerenciamento de API à rede virtual. |
Criar um serviço de Gerenciamento de API com SSL do KeyVault |
Esse modelo implanta um serviço de Gerenciamento de API configurado com a Identidade Atribuída pelo Usuário. Ele usa essa identidade para buscar o certificado SSL do KeyVault e o mantém atualizado verificando a cada 4 horas. |
Criar e monitorar a instância de Gerenciamento de API |
Este modelo cria uma instância do serviço de Gerenciamento de API do Azure e do workspace do Log Analytics e configura o monitoramento para seu serviço de Gerenciamento de API com o Log Analytics |
criar gerenciamento de API na VNet interna com o Gateway de Aplicativo |
Este modelo demonstra como criar uma instância do Gerenciamento de API do Azure em uma rede privada protegida pelo Gateway de Aplicativo do Azure. |
Criar Gerenciamento de API com ssl de proxy personalizado usando o KeyVault |
Este modelo demonstra como criar uma instância do Gerenciamento de API do Azure e configurar o nome do host personalizado para proxy com o certificado SSL do keyvault. |
criar o Azure Front Door em frente ao Gerenciamento de API do Azure |
Este exemplo demonstra como usar o Azure Front Door como um balanceador de carga global na frente do Gerenciamento de API do Azure. |
implantar o Gerenciamento de API na VNet externa com de IP público |
Este modelo demonstra como criar uma instância do Gerenciamento de API do Azure na camada Premium dentro da sub-rede da sua rede virtual no modo externo e configurar regras NSG recomendadas na sub-rede. A instância é implantada em duas zonas de disponibilidade. O modelo também configura um endereço IP público de sua assinatura. |
implantar o Gerenciamento de API na VNet interna com ip público |
Este modelo demonstra como criar uma instância do Gerenciamento de API do Azure na camada Premium dentro da sub-rede da sua rede virtual no modo interno e configurar regras NSG recomendadas na sub-rede. A instância é implantada em duas zonas de disponibilidade. O modelo também configura um endereço IP público de sua assinatura. |
implantar o gerenciamento de API em zonas de disponibilidade |
Este modelo cria uma instância premium do Gerenciamento de API do Azure e é implantado em uma Zona de Disponibilidade |
implantar o Gerenciamento de API com um Cache do Azure externo para Redis |
Este modelo demonstra como criar uma instância do Gerenciamento de API do Azure na camada de Consumo com uma instância externa do Cache do Azure para Redis como o cache externo do Gerenciamento de API. |
Front Door Standard/Premium com origem do Gerenciamento de API |
Esse modelo cria um Front Door Premium e uma instância de Gerenciamento de API e usa uma política de Gerenciamento de API global e NSG para validar que o tráfego veio por meio da origem do Front Door. |
Definição de recurso do Terraform (provedor de AzAPI)
O tipo de recurso de serviço pode ser implantado com operações direcionadas:
- grupos de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Formato de recurso
Para criar um recurso Microsoft.ApiManagement/service, adicione o Terraform a seguir ao seu modelo.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ApiManagement/service@2020-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"
}
zones = [
"string"
]
body = jsonencode({
properties = {
additionalLocations = [
{
disableGateway = bool
location = "string"
sku = {
capacity = int
name = "string"
}
virtualNetworkConfiguration = {
subnetResourceId = "string"
}
zones = [
"string"
]
}
]
apiVersionConstraint = {
minApiVersion = "string"
}
certificates = [
{
certificate = {
expiry = "string"
subject = "string"
thumbprint = "string"
}
certificatePassword = "string"
encodedCertificate = "string"
storeName = "string"
}
]
customProperties = {
{customized property} = "string"
}
disableGateway = bool
enableClientCertificate = bool
hostnameConfigurations = [
{
certificate = {
expiry = "string"
subject = "string"
thumbprint = "string"
}
certificatePassword = "string"
defaultSslBinding = bool
encodedCertificate = "string"
hostName = "string"
identityClientId = "string"
keyVaultId = "string"
negotiateClientCertificate = bool
type = "string"
}
]
notificationSenderEmail = "string"
publisherEmail = "string"
publisherName = "string"
restore = bool
virtualNetworkConfiguration = {
subnetResourceId = "string"
}
virtualNetworkType = "string"
}
})
}
Valores de propriedade
AdditionalLocation
ApiManagementServiceBasePropertiesCustomProperties
Nome | Descrição | Valor |
---|
ApiManagementServiceIdentity
Nome | Descrição | Valor |
---|---|---|
tipo | O tipo de identidade usado para o recurso. O tipo 'SystemAssigned, UserAssigned' inclui uma identidade criada implicitamente e um conjunto de identidades atribuídas pelo usuário. O tipo 'None' removerá as identidades do serviço. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (obrigatório) |
userAssignedIdentities | A lista de identidades de usuário associadas ao recurso. A identidade do usuário As referências de chave de dicionário serão IDs de recurso do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
Nome | Descrição | Valor |
---|
ApiManagementServiceProperties
Nome | Descrição | Valor |
---|---|---|
additionalLocations | Locais de datacenter adicionais do serviço de Gerenciamento de API. | AdditionalLocation [] |
apiVersionConstraint | Restrição de versão do Control Plane Apis para o serviço de Gerenciamento de API. | ApiVersionConstraint |
Certificados | Lista de certificados que precisam ser instalados no serviço de Gerenciamento de API. O máximo de certificados com suporte que podem ser instalados é 10. | CertificateConfiguration [] |
customProperties | Propriedades personalizadas do serviço de Gerenciamento de API. Definir Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 desabilitará o TLS_RSA_WITH_3DES_EDE_CBC_SHA de criptografia para todos os TLS(1.0, 1.1 e 1.2).A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 pode ser usada para desabilitar apenas o TLS 1.1.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 pode ser usada para desabilitar o TLS 1.0 em um serviço de Gerenciamento de API.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 pode ser usada para desabilitar apenas o TLS 1.1 para comunicações com back-ends.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 pode ser usada para desabilitar o TLS 1.0 para comunicações com back-ends.A configuração Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 pode ser usada para habilitar o protocolo HTTP2 em um serviço de Gerenciamento de API.Não especificar nenhuma dessas propriedades na operação PATCH redefinirá os valores das propriedades omitidas para seus padrões. Para todas as configurações, exceto Http2, o valor padrão será True se o serviço tiver sido criado em ou antes de 1º de abril de 2018 e False caso contrário. O valor padrão da configuração Http2 é False .Você pode desabilitar qualquer uma das próximas criptografias usando configurações 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 exemplo, Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false . O valor padrão é true para eles. Observação: as próximas criptografias não podem ser desabilitadas, pois são exigidas por componentes internos do 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 |
ApiManagementServiceBasePropertiesCustomProperties |
disableGateway | Propriedade válida somente para um serviço de Gerenciamento de API implantado em vários locais. Isso pode ser usado para desabilitar o gateway na região mestra. | Bool |
enableClientCertificate | Propriedade destinada apenas a ser usada para o Serviço de SKU de Consumo. Isso impõe que um certificado do cliente seja apresentado em cada solicitação ao gateway. Isso também permite a capacidade de autenticar o certificado na política no gateway. | Bool |
hostnameConfigurations | Configuração de nome de host personalizado do serviço de Gerenciamento de API. | hostnameConfiguration[] |
notificationSenderEmail | Endereço de email do qual a notificação será enviada. | corda Restrições: Comprimento máximo = |
publisherEmail | Email do publicador. | corda Restrições: Comprimento máximo = (obrigatório) |
publisherName | Nome do editor. | corda Restrições: Comprimento máximo = (obrigatório) |
restaurar | Desdelete o Serviço de Gerenciamento de API se ele foi excluído anteriormente. Se esse sinalizador for especificado e definido como True, todas as outras propriedades serão ignoradas. | Bool |
virtualNetworkConfiguration | Configuração de rede virtual do serviço de Gerenciamento de API. | |
virtualNetworkType | O tipo de VPN no qual o serviço de Gerenciamento de API precisa ser configurado. Nenhum (Valor Padrão) significa que o serviço de Gerenciamento de API não faz parte de nenhuma Rede Virtual, Externo significa que a implantação de Gerenciamento de API está configurada dentro de uma Rede Virtual com um ponto de extremidade voltado para a Internet e interno significa que a implantação do Gerenciamento de API é configurada dentro de uma Rede Virtual com apenas um ponto de extremidade voltado para intranet. | 'Externo' 'Interno' 'None' |
ApiManagementServiceSkuProperties
Nome | Descrição | Valor |
---|---|---|
capacidade | Capacidade do SKU (número de unidades implantadas do SKU). Para a capacidade de SKU de Consumo deve ser especificada como 0. | int (obrigatório) |
nome | Nome do Sku. | 'Básico' 'Consumo' 'Desenvolvedor' 'Isolado' 'Premium' 'Standard' (obrigatório) |
ApimResourceTags
Nome | Descrição | Valor |
---|
ApiVersionConstraint
Nome | Descrição | Valor |
---|---|---|
minApiVersion | Limite as chamadas à API do painel de controle para o serviço de Gerenciamento de API com versão igual ou mais recente que esse valor. | corda |
CertificateConfiguration
Nome | Descrição | Valor |
---|---|---|
certificado | Informações do certificado. | |
certificatePassword | Senha do certificado. | corda |
encodedCertificate | Certificado codificado em Base64. | corda |
storeName | O local do repositório de certificados System.Security.Cryptography.x509certificates.StoreName. Somente Root e CertificateAuthority são locais válidos. | 'CertificateAuthority' 'Root' (obrigatório) |
CertificateInformation
Nome | Descrição | Valor |
---|---|---|
caducidade | Data de validade do certificado. A data está em conformidade com o seguinte formato: yyyy-MM-ddTHH:mm:ssZ conforme especificado pelo padrão ISO 8601. |
cadeia de caracteres (obrigatório) |
Assunto | Assunto do certificado. | cadeia de caracteres (obrigatório) |
Impressão digital | Impressão digital do certificado. | cadeia de caracteres (obrigatório) |
HostnameConfiguration
Nome | Descrição | Valor |
---|---|---|
certificado | Informações do certificado. | |
certificatePassword | Senha do certificado. | corda |
defaultSslBinding | Especifique true para configurar o certificado associado a esse nome de host como o certificado SSL padrão. Se um cliente não enviar o cabeçalho SNI, esse será o certificado que será contestado. A propriedade será útil se um serviço tiver vários nomes de host personalizados habilitados e precisar decidir sobre o certificado SSL padrão. A configuração aplicada somente ao Tipo de Nome de Host do Proxy. | Bool |
encodedCertificate | Certificado codificado em Base64. | corda |
hostName | Nome do host a ser configurado no serviço de Gerenciamento de API. | cadeia de caracteres (obrigatório) |
identityClientId | System or User Assigned Managed identity clientId as generated by Azure AD, que tem acesso GET ao keyVault que contém o certificado SSL. | corda |
keyVaultId | Url para o Segredo KeyVault que contém o Certificado SSL. Se a URL absoluta que contém a versão for fornecida, a atualização automática do certificado SSL não funcionará. Isso requer que o serviço de Gerenciamento de API seja configurado com aka.ms/apimmsi. O segredo deve ser do tipo application/x-pkcs12 | corda |
negotiateClientCertificate | Especifique true para sempre negociar o certificado do cliente no nome do host. O valor padrão é falso. | Bool |
tipo | Tipo de nome de host. | 'DeveloperPortal' 'Gerenciamento' 'Portal' 'Proxy' 'Scm' (obrigatório) |
Microsoft.ApiManagement/service
UserIdentityProperties
Nome | Descrição | Valor |
---|---|---|
clientId | A ID do cliente da identidade atribuída pelo usuário. | corda |
principalId | A ID principal da identidade atribuída pelo usuário. | corda |
VirtualNetworkConfiguration
Nome | Descrição | Valor |
---|---|---|
subnetResourceId | A ID de recurso completa de uma sub-rede em uma rede virtual na qual implantar o serviço de Gerenciamento de API. | corda Restrições: Padrão = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |