Conecte-se de maneira privada ao Gerenciamento de API usando um ponto de extremidade privado de entrada.
APLICA-SE A: Desenvolvedor | Básico | Standard | Premium
Você pode configurar um ponto de extremidade privado de entrada para sua instância de Gerenciamento de API para permitir que os clientes em sua rede privada acessem com segurança a instância por meio do Link Privado do Azure.
O ponto de extremidade privado usa um endereço IP de uma VNet do Azure na qual ele está hospedado.
O tráfego de rede entre um cliente em sua rede privada e o Gerenciamento de API atravessa a VNet e um Link Privado na rede principal da Microsoft, eliminando a exposição da Internet pública.
Defina configurações de DNS personalizadas ou uma zona privada de DNS do Azure para mapear o nome do host de Gerenciamento de API até o endereço IP privado do ponto de extremidade.
Com um ponto de extremidade privado e um Link Privado, você pode:
Criar várias conexões de Link Privado com uma instância de Gerenciamento de API.
Usar o ponto de extremidade privado para enviar tráfego de entrada em uma conexão segura.
Usar a política para distinguir o tráfego proveniente do ponto de extremidade privado.
Limitar o tráfego de entrada somente para pontos de extremidade privados, impedindo exfiltração de dados.
Importante
Você só pode configurar uma conexão de ponto de extremidade privado para o tráfego de entrada para a instância de Gerenciamento de API. Atualmente, não há suporte para o tráfego de saída.
Você pode usar o modelo de rede virtual externa ou interna para estabelecer a conectividade de saída para pontos de extremidade privados a partir da sua instância de Gerenciamento de API.
Para habilitar pontos de extremidade privados de entrada, a instância do Gerenciamento de API não pode ser injetada em uma rede virtual interna ou externa.
Limitações
- Somente o ponto de extremidade de gateway da instância de Gerenciamento de API dá suporte a conexões de entrada de Link Privado.
- Cada instância de Gerenciamento de API dá suporte a no máximo 100 conexões de Link Privado.
- Não há suporte para conexões no gateway auto-hospedado.
Pré-requisitos
- Uma instância de Gerenciamento de API existente. Crie uma, se ainda não tiver.
- A instância de Gerenciamento de API deve ser hospedada na
stv2
plataforma de computação. Por exemplo, crie uma nova instância ou, se já tiver uma instância na camada de serviço Premium, habilite a redundância de zona. - Não implante (injete) a instância em uma rede virtual interna ou externa.
- A instância de Gerenciamento de API deve ser hospedada na
- Uma rede virtual e uma sub-rede para hospedar o ponto de extremidade privado. A sub-rede pode conter outros recursos do Azure.
- (Recomendável) Uma máquina virtual na mesma ou em uma sub-rede diferente na rede virtual, para testar o ponto de extremidade privado.
Método de aprovação para ponto de extremidade privado
Normalmente, um administrador de rede cria um ponto de extremidade privado. Dependendo de suas permissões de controle de acesso baseado em função (RBAC) do Azure, um ponto de extremidade privado que você cria é aprovado automaticamente para enviar tráfego para a instância de Gerenciamento de API ou exige que o proprietário do recurso aprove manualmente a conexão.
Método de aprovação | Permissões de RBAC mínimas |
---|---|
Automático | Microsoft.Network/virtualNetworks/** Microsoft.Network/virtualNetworks/subnets/** Microsoft.Network/privateEndpoints/** Microsoft.Network/networkinterfaces/** Microsoft.Network/locations/availablePrivateEndpointTypes/read Microsoft.ApiManagement/service/** Microsoft.ApiManagement/service/privateEndpointConnections/** |
Manual | Microsoft.Network/virtualNetworks/** Microsoft.Network/virtualNetworks/subnets/** Microsoft.Network/privateEndpoints/** Microsoft.Network/networkinterfaces/** Microsoft.Network/locations/availablePrivateEndpointTypes/read |
Etapas de configuração de um ponto de extremidade privado
- Obter tipos de ponto de extremidade privados disponíveis na assinatura
- Desabilitar políticas de rede na sub-rede
- Criar um ponto de extremidade privado – Portal
- Listar conexões de ponto de extremidade privado com a instância
- Aprovar conexões de ponto de extremidade privado pendentes
- Opcionalmente, desabilitar o acesso à rede pública
Obter tipos de ponto de extremidade privados disponíveis na assinatura
Verifique se o tipo de ponto de extremidade privado de Gerenciamento de API está disponível em sua assinatura e local. No portal, encontre essas informações acessando o Centro de Link Privado. Selecione Recursos com suporte.
Você também pode encontrar essas informações usando a API REST Tipos de ponto de extremidade privados disponíveis - Lista.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{region}/availablePrivateEndpointTypes?api-version=2021-03-01
A saída deve incluir o tipo de ponto de extremidade Microsoft.ApiManagement.service
:
[...]
"name": "Microsoft.ApiManagement.service",
"id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/AvailablePrivateEndpointTypes/Microsoft.ApiManagement.service",
"type": "Microsoft.Network/AvailablePrivateEndpointTypes",
"resourceName": "Microsoft.ApiManagement/service",
"displayName": "Microsoft.ApiManagement/service",
"apiVersion": "2021-04-01-preview"
}
[...]
Desabilitar políticas de rede na sub-rede
Políticas de rede, como grupos de segurança de rede devem ser desabilitadas na sub-rede usada para o ponto de extremidade privado.
Se você usar ferramentas como Azure PowerShell, a CLI do Azure ou a API REST para configurar pontos de extremidade privados, atualize a configuração de sub-rede manualmente. Por exemplo, consulte Gerenciar políticas de rede para pontos de extremidade privados.
Quando você usa o portal do Azure para criar um ponto de extremidade privado, conforme mostrado na próxima seção, as políticas de rede são desabilitadas automaticamente como parte do processo de criação
Criar ponto de extremidade privado - Portal
Navegue até seu serviço de Gerenciamento de API no portal do Azure.
No menu à esquerda, selecione Rede.
Selecione Conexões de ponto de extremidade privadas de entrada>+ Adicionar ponto de extremidade.
Na guia Noções básicas de Criar um ponto de extremidade privado, digite ou selecione as seguintes informações:
Configuração Valor Detalhes do projeto Subscription Selecione sua assinatura. Resource group Selecione um grupo de recursos existente ou crie um. Ele deve estar na mesma região que a sua rede virtual. Detalhes da instância Nome Insira um nome para o ponto de extremidade privado, como myPrivateEndpoint. Nome da Interface de Rede Insira um nome para o adaptador de rede, como myInterface Região Insira um local para o ponto de extremidade privado. Ele deve estar na mesma região que a sua rede virtual. Ele pode ser diferente da região onde sua instância de Gerenciamento de API está hospedada. Selecione a guia Recurso ou o botão Avançar: Recurso na parte inferior da página. As seguintes informações sobre sua instância de Gerenciamento de API já estão preenchidas:
- Subscription
- Resource group
- Nome do recurso
Em Recurso, em Sub-recursos de destino, selecione Gateway.
Selecione a guia Rede Virtual ou o botão Avançar: Rede Virtual na parte inferior da página.
Em Rede, insira ou selecione estas informações:
Configuração Valor Rede virtual Selecione sua rede virtual. Sub-rede Selecione sua sub-rede. Configuração de IP privado Na maioria dos casos, selecione Alocar endereço IP dinamicamente. Grupo de segurança do aplicativo Opcionalmente, selecione um grupo de segurança do aplicativo. Selecione a guia DNS ou o botão Avançar: DNS na parte inferior da tela.
Em Integração de DNS privado, insira ou selecione estas informações:
Configuração Valor Integrar com a zona DNS privado Mantenha o padrão Sim. Subscription Selecione sua assinatura. Resource group Selecione o grupo de recursos. Zonas DNS privadas O valor padrão é exibido: (novo) privatelink.azure-api.net. Selecione a guia Marcas ou o botão Avançar: Marcas na parte inferior da tela. Se desejar, insira marcas para organizar seus recursos do Azure.
Selecione Examinar + criar.
Selecione Criar.
Listar conexões de ponto de extremidade privado com a instância
Depois que o ponto de extremidade privado é criado, ele aparece na lista da página Conexões de ponto de extremidade privado de entrada da instância de Gerenciamento de API no portal.
Você também pode usar a API REST Conexão de ponto de extremidade privado – Listar por Serviço para listar conexões de ponto de extremidade privado com a instância de serviço.
Observe o status de conexão do ponto de extremidade:
- Aprovado indica que o recurso de Gerenciamento de API aprovou automaticamente a conexão.
- Pendente indica que a conexão deve ser aprovada manualmente pelo proprietário do recurso.
Aprovar conexões de ponto de extremidade privado pendentes
Se uma conexão de ponto de extremidade privado estiver com status pendente, um proprietário da instância de Gerenciamento de API deverá aprová-la manualmente antes que ela possa ser usada.
Se você tiver permissões suficientes, aprove uma conexão de ponto de extremidade privado na página Conexões de ponto de extremidade privado da instância de Gerenciamento de API no portal.
Você também pode usar o API REST Conexão de ponto de extremidade privado – Criar ou atualizar de Gerenciamento de API.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}privateEndpointConnections/{privateEndpointConnectionName}?api-version=2021-08-01
Desabilitar opcionalmente o acesso à rede pública
Para limitar opcionalmente o tráfego de entrada da instância de Gerenciamento de API somente para pontos de extremidade privados, desabilite o acesso à rede pública. Use a API REST do Serviço de Gerenciamento de API - Criar ou Atualizar para definir a propriedade publicNetworkAccess
como Disabled
.
Observação
A propriedade publicNetworkAccess
só pode ser usada para desabilitar o acesso público nas instâncias de Gerenciamento de API configuradas com um ponto de extremidade privado, não com outras configurações de rede, como injeção de VNet.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}?api-version=2021-08-01
Authorization: Bearer {{authToken.response.body.access_token}}
Content-Type: application/json
Use o corpo JSON a seguir:
{
[...]
"properties": {
"publicNetworkAccess": "Disabled"
}
}
Validar conexão de ponto de extremidade privado
Depois que o ponto de extremidade privado for criado, confirme suas configurações de DNS no portal:
Navegue até seu serviço de Gerenciamento de API no portal do Azure.
No menu à esquerda, selecione Rede>Conexões de ponto de extremidade privado de entrada e selecione o ponto de extremidade privado que você criou.
No painel de navegação esquerdo, selecione Configuração DNS.
Revise os registros DNS e o endereço IP do ponto de extremidade privado. O endereço IP é um endereço privado no espaço de endereço da sub-rede no qual o ponto de extremidade privado é configurado.
Testar na rede virtual
Conexão de uma máquina virtual configurada na rede virtual.
Execute um utilitário como nslookup
ou dig
para pesquisar o endereço IP do seu ponto de extremidade do gateway padrão no Link Privado. Por exemplo:
nslookup my-apim-service.azure-api.net
A saída deve incluir o endereço IP privado associado ao ponto de extremidade privado.
As chamadas da API iniciadas na rede virtual até o ponto de extremidade do gateway padrão devem ser bem-sucedidas.
Teste a partir da Internet
De fora do caminho do ponto de extremidade privado, tente chamar o ponto de extremidade do gateway padrão da instância do Gerenciamento de API. Se o acesso público estiver desabilitado, a saída incluirá um erro com o código de status 403
e uma mensagem semelhante a:
Request originated from client public IP address xxx.xxx.xxx.xxx, public network access on this 'Microsoft.ApiManagement/service/my-apim-service' is disabled.
To connect to 'Microsoft.ApiManagement/service/my-apim-service', please use the Private Endpoint from inside your virtual network.
Próximas etapas
- Use expressões de política com a variável
context.request
para identificar o tráfego do ponto de extremidade privado. - Saiba mais sobre pontos de extremidade privados e Link Privado, incluindo preços de Link Privado.
- Saiba mais sobre gerenciar conexões de ponto de extremidade privado.
- Solucionar problemas de conectividade do ponto de extremidade privado do Azure.
- Use um modelo do Resource Manager para criar uma instância de Gerenciamento de API e um ponto de extremidade privado com integração DNS privada.