Conecte-se de forma privada ao Gerenciamento de API usando um ponto de extremidade privado de entrada

APLICA-SE A: Developer | Básico | Padrão | Prémio

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 pelo Azure Private Link.

  • O ponto de extremidade privado usa um endereço IP de uma VNet do Azure na qual está hospedado.

  • O tráfego de rede entre um cliente na sua rede privada e a Gestão de API atravessa a VNet e uma Ligação Privada na rede principal da Microsoft, o que elimina a exposição à Internet pública.

  • Configure as definições personalizadas do DNS ou uma zona privada do DNS do Azure para mapear o nome do anfitrião Gestão de API ao endereço IP privado do ponto final.

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

Com um ponto final privado e o Private Link, pode:

  • Criar várias ligações do Private Link a uma instância de Gestão de API.

  • Utilizar o ponto final privado para enviar tráfego de entrada numa ligação segura.

  • Utilizar políticas para distinguir o tráfego proveniente do ponto final privado.

  • Limitar o tráfego de entrada apenas para pontos finais privados, o que impede transferências de dados não autorizadas.

Importante

  • Você só pode configurar uma conexão de ponto de extremidade privada para o tráfego de entrada para a instância de Gerenciamento de API. Atualmente, o tráfego de saída não é suportado.

    Você pode usar o modelo de rede virtual externa ou interna para estabelecer conectividade de saída para pontos de extremidade privados a partir de sua instância de Gerenciamento de API.

  • Para habilitar pontos de extremidade privados de entrada, a instância de Gerenciamento de API não pode ser injetada em uma rede virtual externa ou interna.

Limitações

  • Somente o ponto de extremidade Gateway da instância de Gerenciamento de API oferece suporte a conexões de Link Privado de entrada.
  • Cada instância de Gerenciamento de API suporta no máximo 100 conexões de Link Privado.
  • Não há suporte para conexões no gateway auto-hospedado ou em um gateway de espaço de trabalho.

Pré-requisitos

  • Uma instância de gerenciamento de API existente. Crie um, caso ainda não o tenha feito.
    • A instância de Gerenciamento de API deve ser hospedada na plataforma de stv2 computação.
    • Não implante (injete) a instância em uma rede virtual externa ou interna .
  • Uma rede virtual e uma sub-rede para hospedar o ponto de extremidade privado. A sub-rede pode conter outros recursos do Azure.
  • (Recomendado) Uma máquina virtual na mesma sub-rede ou em uma sub-rede diferente na rede virtual, para testar o ponto de extremidade privado.
  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

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

Normalmente, um administrador de rede cria um ponto de extremidade privado. Dependendo de suas permissões RBAC (controle de acesso baseado em função) do Azure, um ponto de extremidade privado criado é 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 homologação Permissões mínimas de RBAC
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 para configurar o ponto de extremidade privado

  1. Obter tipos de pontos finais privados disponíveis na subscrição
  2. Desativar políticas de rede na sub-rede
  3. Criar ponto final privado - portal
  4. Listar conexões de ponto de extremidade privado para a instância
  5. Aprovar conexões de ponto de extremidade privadas pendentes
  6. Opcionalmente, desative o acesso à rede pública

Obter tipos de pontos finais privados disponíveis na subscrição

Verifique se o tipo de ponto de extremidade privado do Gerenciamento de API está disponível em sua assinatura e local. No portal, encontre essas informações acessando o Private Link Center. Selecione Recursos suportados.

Você também pode encontrar essas informações usando a API REST de Tipos de Ponto Final Privados Disponíveis - Listagem .

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 Microsoft.ApiManagement.service ponto final:

[...]

      "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"
    }
[...]

Desativar políticas de rede na sub-rede

As diretivas 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 o Azure PowerShell, a CLI do Azure ou a API REST para configurar pontos de extremidade privados, atualize a configuração da sub-rede manualmente. Para obter exemplos, 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 final privado - portal

  1. Navegue até o 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 privado de entrada+ Adicionar ponto de extremidade.

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

  4. Na guia Noções básicas de Criar um ponto de extremidade privado, insira ou selecione as seguintes informações:

    Definição Value
    Detalhes do projeto
    Subscrição Selecione a sua subscrição.
    Grupo de recursos Selecione um grupo de recursos existente ou crie um novo. Deve estar na mesma região da 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 a interface de rede, como myInterface
    País/Região Selecione um local para o ponto de extremidade privado. Deve estar na mesma região da 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 Next: Resource na parte inferior da tela. As seguintes informações sobre sua instância de Gerenciamento de API já estão preenchidas:

    • Subscrição
    • Tipo de recurso
    • Nome do recurso
  6. Em Recurso, em Subrecurso de destino, selecione Gateway.

    Captura de ecrã a mostrar definições para criar um ponto de extremidade privado no portal do Azure.

  7. Selecione o botão Next: Virtual Network na parte inferior da tela.

  8. Em Rede, insira ou selecione estas informações:

    Definição Value
    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 de aplicações Opcionalmente, selecione um grupo de segurança do aplicativo.
  9. Selecione o botão Next: DNS na parte inferior da tela.

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

    Definição Value
    Integrar com zona DNS privada Deixe o padrão de Sim.
    Subscrição Selecione a sua subscrição.
    Grupo de recursos Selecione o seu grupo de recursos.
    Zonas DNS Privadas O valor padrão é exibido: (novo) privatelink.azure-api.net.
  11. Selecione o botão Next: Tabs na parte inferior da tela. Se desejar, insira tags para organizar seus recursos do Azure.

    1. Selecione o botão Next: Review + create na parte inferior da tela.
  12. Selecione Criar.

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

Depois que o ponto de extremidade privado é criado e o serviço atualizado, ele aparece na lista na página Conexões de ponto de extremidade privado de entrada da instância de Gerenciamento de API no portal.

Observe o status da 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 privadas pendentes

Se uma conexão de ponto de extremidade privada estiver em 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 privada na página Conexões de ponto de extremidade privado da instância de Gerenciamento de API no portal. No menu de contexto da conexão (...), selecione Aprovar.

Você também pode usar a API Management Private Endpoint Connection - Create Or Update REST API para aprovar conexões de ponto de extremidade privado pendentes.

Opcionalmente, desative 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, desative o acesso à rede pública.

Nota

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, como injeção de VNet.

Para desabilitar o acesso à rede pública 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 o API Management Service - Update REST API para desabilitar o acesso à rede pública, definindo a publicNetworkAccess propriedade como Disabled.

Validar conexão de ponto de extremidade privado

Após a criação do ponto final privado, confirme as definições de DNS no portal:

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

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

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

  4. Reveja os registos de DNS e o endereço IP do ponto final privado. O endereço IP é um endereço privado no espaço de endereços da sub-rede onde o ponto final privado é configurado.

Teste em rede virtual

Estabeleça ligação a uma máquina virtual configurada na rede virtual.

Execute um utilitário como nslookup ou dig para procurar o endereço IP do seu ponto de extremidade padrão do Gateway através do Private Link. Por exemplo:

nslookup my-apim-service.azure-api.net

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

As chamadas de API iniciadas na rede virtual para o ponto de extremidade padrão do Gateway devem ser bem-sucedidas.

Teste da internet

Fora do caminho do ponto final privado, tente chamar o ponto final de Gateway predefinido da instância de Gestão de API. Se o acesso público estiver desativado, a saída incluirá um erro com o código de 403 status 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. 
  • Use expressões de política com a context.request variável para identificar o tráfego do ponto de extremidade privado.
  • Saiba mais sobre endpoints privados e Private Link, incluindo preços de Private Link.
  • Gerencie conexões de ponto de extremidade privadas.
  • Solucione problemas de conectividade de ponto de extremidade privado do Azure.
  • Use um modelo do Gerenciador de Recursos para criar uma instância de Gerenciamento de API e um ponto de extremidade privado com integração DNS privada.