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.

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.

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

  1. Obter tipos de ponto de extremidade privados disponíveis na assinatura
  2. Desabilitar políticas de rede na sub-rede
  3. Criar um ponto de extremidade privado – Portal
  4. Listar conexões de ponto de extremidade privado com a instância
  5. Aprovar conexões de ponto de extremidade privado pendentes
  6. 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

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

  2. No menu à esquerda, selecione Rede.

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

    Inclusão de um ponto de extremidade privado através do portal do Azure

  4. 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.
  5. 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
  6. Em Recurso, em Sub-recursos de destino, selecione Gateway.

    Criar um ponto de extremidade privado no portal do Azure

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

  8. 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.
  9. Selecione a guia DNS ou 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 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.
  11. 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.

  12. Selecione Examinar + criar.

  13. 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:

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

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

  3. No painel de navegação esquerdo, 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.

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