Compartilhar via


Conecte-se de maneira privada ao API Management usando um ponto de extremidade privado interno.

APLICA-SE A: Desenvolvedor | Básico | Padrão | Standard v2 | 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 rede virtual 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 rede virtual e um Link Privado na rede de backbone 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 para o endereço IP privado do ponto de extremidade.

Diagrama que mostra uma conexão de entrada segura com o Gerenciamento de API usando um ponto de extremidade privado.

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.

  • Use o endpoint privado para enviar tráfego de entrada em uma conexão segura.

  • Use uma política para distinguir o tráfego proveniente do ponto de extremidade privado.

  • Limitar o tráfego de entrada apenas a endpoints privados, evitando a exfiltração de dados.

  • Combine pontos de extremidade privados de entrada às instâncias Standard v2 com uma integração de rede virtual de saída para fornecer um isolamento de rede de ponta a ponta dos seus clientes do Gerenciamento de API e serviços de back-end.

    Diagrama que mostra uma conexão de entrada segura para o API Management Standard v2 usando um ponto de extremidade privado.

Importante

  • Você só pode configurar uma conexão de ponto de extremidade privado para o tráfego de entrada para a instância do Gerenciamento de API.
  • Você só pode desabilitar o acesso à rede pública à instância de Gerenciamento de API depois de configurar um ponto de extremidade privado.

Limitações

  • Somente o ponto de extremidade do Gateway da instância de Gerenciamento de API dá suporte a conexões de entrada por 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 nem em um gateway do espaço de trabalho.
  • Nas camadas clássicas de Gerenciamento de API, não há suporte para pontos de extremidade privados em instâncias injetadas em uma rede virtual interna ou externa.

Cenários típicos

Use um ponto de extremidade privado de entrada para habilitar o acesso somente privado diretamente ao gateway do Gerenciamento de API para limitar a exposição de dados confidenciais ou back-ends.

As configurações com suporte incluem:

  • Passe solicitações de cliente por meio de um firewall e configure regras para rotear solicitações privadamente para o gateway de Gerenciamento de API.
  • Configure o Azure Front Door (ou o Azure Front Door com o Gateway de Aplicativo do Azure) para receber tráfego externo e rotear o tráfego privadamente para o gateway de Gerenciamento de API. Por exemplo, consulte Conectar o Azure Front Door Premium a um Gerenciamento de API do Azure com Link Privado.

Pré-requisitos

  • Uma instância de Gerenciamento de API existente. Crie uma, se ainda não tiver.
    • Ao usar uma instância na camada clássica Developer ou Premium, não implante (injete) a instância em uma rede virtual externa ou interna.
  • Uma rede virtual que contém uma sub-rede para hospedar o ponto de extremidade privado. A sub-rede pode conter outros recursos do Azure, mas não pode ser delegada a outro serviço.
  • (Recomendável) Uma máquina virtual na mesma sub-rede ou em uma diferente, dentro da rede virtual, para testar o endpoint privado.

Método de aprovação para o ponto de extremidade privado

Normalmente, um administrador de rede cria um ponto de extremidade privado. Dependendo das permissões do RBAC (controle de acesso baseado em função) do Azure, um ponto de extremidade privado que você cria é aprovado automaticamente para enviar o tráfego para a instância do 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

  1. Obter tipos de ponto de extremidade privados disponíveis na assinatura
  2. Criar um ponto de extremidade privado – Portal

Obter tipos de ponto de extremidade privados disponíveis na assinatura

Verifique se o tipo de ponto de extremidade privado do Gerenciamento de API está disponível na sua assinatura e na sua localização. 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"
    }
[...]

Criar um ponto de extremidade privado – Portal

Você pode criar um ponto de extremidade privado ao criar uma instância de Gerenciamento de API no portal do Azure ou adicionar um ponto de extremidade privado a uma instância existente. Você também pode criar um ponto de extremidade privado usando o Centro de Link Privado.

Para adicionar um ponto de extremidade privado a uma instância de Gerenciamento de API existente:

  1. Navegue até seu serviço de Gerenciamento de API no portal do Azure.

  2. No menu à esquerda, em Implantação + Infraestrutura, selecione Rede.

  3. Selecione Conexões de ponto de extremidade privadas de entrada>+ Adicionar ponto de extremidade.

    Captura de tela que mostra como adicionar um ponto de extremidade privado usando o portal do Azure.

  4. No separador Informações básicas , introduza ou selecione as seguintes informações:

    Configuração Valor
    Detalhes do projeto
    Assinatura Selecione sua assinatura.
    Grupo de recursos 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, 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.
  5. Selecione 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:

    • Assinatura
    • Tipo de recurso
    • Nome do recurso
  6. Em Recurso, em Sub-recursos de destino, selecione Gateway.

    Captura de tela mostrando configurações para criar um ponto de extremidade privado no portal do Azure.

    Importante

    Somente o sub-recurso Gateway tem suporte para o Gerenciamento de API. Não há suporte para outros sub-recursos.

  7. Selecione o botão Avançar: Rede Virtual na parte inferior da página.

  8. Em Rede Virtual, 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.
  9. Selecione o botão Avançar: DNS na parte inferior da tela.

  10. Em Integração de DNS privado, insira ou selecione estas informações:

    Configuração Valor
    Integrar com a zona DNS privada Mantenha o padrão Sim.
    Assinatura Selecione sua assinatura.
    Grupo de recursos Selecione o grupo de recursos.
    Zonas DNS privadas O valor padrão é exibido: (novo) privatelink.azure-api.net.
  11. Selecione o botão Avançar: Abas na parte inferior da tela. Se desejar, insira marcas para organizar seus recursos do Azure.

  12. Selecione o botão Avançar: Revisar + criar na parte inferior da tela. Selecione Criar.

Listar conexões de ponto de extremidade privado com a instância

Depois que o ponto de extremidade privado é criado e o serviço é atualizado, 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.

Observe o estado 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 em um estado pendente, um proprietário da instância de Gerenciamento de API deverá aprová-la manualmente antes que 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. No menu contexto da conexão (...), selecione Aprovar.

Você também pode usar a API REST Conexão de Ponto de Extremidade Privado – Criar ou Atualizar do Gerenciamento de API para aprovar conexões de ponto de extremidade privado pendentes.

Desabilitar opcionalmente o acesso à rede pública

Opcionalmente, para limitar o tráfego de entrada para a instância de Gerenciamento de API apenas para pontos de extremidade privados, desabilite a propriedade de acesso à rede pública. Você só pode desabilitar o acesso à rede pública depois de configurar um ponto de extremidade privado.

Observação

O acesso à rede pública só pode ser desabilitado em instâncias de Gerenciamento de API configuradas com um ponto de extremidade privado, não com outras configurações de rede.

Para desabilitar a propriedade de acesso à rede pública nas camadas clássicas usando a CLI do Azure, execute o seguinte comando az apim update , substituindo os nomes da instância de Gerenciamento de API e do grupo de recursos:

az apim update --name my-apim-service --resource-group my-resource-group --public-network-access false

Você também pode usar a API REST Serviço de Gerenciamento de API – Atualizar para desabilitar o acesso à rede pública, definindo a propriedade publicNetworkAccess como Disabled.

Validar a conexão do ponto de extremidade privado

Depois que o ponto de extremidade privado for criado, confirme suas configurações de DNS no portal.

  1. Navegue até seu serviço de Gerenciamento de API no portal do Azure.

  2. No menu à esquerda, em Implantação + infraestrutura, selecione Rede>Conexões de ponto de extremidade privado de entrada e selecione o ponto de extremidade privado que você criou.

  3. Na barra de navegação à esquerda, em Configurações, selecione Configuração DNS.

  4. 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.

Teste na rede virtual

Conecte-se a uma máquina virtual que você configurou 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.privatelink.azure-api.net

A saída deve incluir o endereço IP privado associado ao ponto de extremidade privado.

As chamadas à API iniciadas na rede virtual para 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 192.0.2.12, 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. 

Limitação do nome de domínio personalizado na camada Standard v2

Atualmente, na camada Standard v2, o Gerenciamento de API requer um nome DNS publicamente resolvível para permitir o tráfego ao endpoint do Gateway. Se você configurar um nome de domínio personalizado para o ponto de extremidade do Gateway, esse nome deverá ser publicamente resolvível, não restrito a uma zona DNS privada.

Como uma solução alternativa em cenários em que você limita o acesso público ao gateway e configura um nome de domínio privado, é possível configurar o Gateway de Aplicativo para receber tráfego no nome de domínio privado e roteá-lo para o ponto de extremidade do Gateway da instância de Gerenciamento de API. Para obter uma arquitetura de exemplo, consulte este repositório do GitHub.