Partilhar via


Ligue-se privadamente à API Management usando um endpoint privado de entrada

APLICA-SE A: Programador | Básico | Standard | Standard v2 | Premium | Premium v2

Você pode configurar um ponto de extremidade privado de entrada para a sua instância de Gestão de API para permitir aos clientes na sua rede privada o acesso seguro à instância através do Azure Private Link.

  • O ponto de extremidade privado usa um endereço IP de uma rede virtual do Azure na qual 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.

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

Diagrama que mostra uma ligação de entrada segura à Gestão de API usando um endpoint 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.

  • Combine os endereços privados de entrada às instâncias Standard v2 com a integração de rede virtual de saída para fornecer isolamento de rede de ponta a ponta aos seus clientes de Gestão de API e serviços de back-end.

    Diagrama que mostra uma ligação de entrada segura ao API Management Standard v2 através de um ponto de extremidade privado.

Importante

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

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.
  • Nas camadas clássicas de Gerenciamento de API, os pontos de extremidade privados não são suportados em instâncias injetadas em uma rede virtual interna ou externa.

Cenários típicos

Utilize um endpoint privado de entrada para habilitar o acesso exclusivamente privado diretamente ao gateway de Gestão de API, limitando a exposição de dados confidenciais ou sistemas de retaguarda.

As configurações suportadas incluem:

  • Passe solicitações de clientes por meio de um firewall e configure regras para rotear solicitações de forma privada para o gateway de Gerenciamento de API.

  • Configure o Azure Front Door (ou Azure Front Door com o Azure Application Gateway) para receber tráfego externo e, em seguida, rotear o tráfego de forma privada 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.

    Nota

    Atualmente, não é suportado encaminhar tráfego de forma privada do Azure Front Door para uma instância API Management Premium v2.

Pré-requisitos

  • Uma instância de gerenciamento de API existente. Crie um, caso ainda não o tenha feito.
    • 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 .
  • Disponibilidade do tipo de endpoint privado de API Management na sua subscrição e região.
  • Uma rede virtual que contém uma sub-rede para hospedar o ponto de extremidade privado. A sub-rede pode conter outros recursos Azure, mas não pode ser delegada a outro serviço.
  • (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.

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

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

Passos para configurar o ponto final privado

Siga estes passos para criar e configurar um endpoint privado para a sua instância de Gestão de APIs.

Criar ponto final privado - portal

Nos níveis Clássicos, pode criar um endpoint privado ao criar uma instância de Gestão de API no portal Azure, ou pode adicionar um endpoint privado a uma instância existente.

Criar endpoint privado ao criar uma instância de Gestão de API

  1. No assistente para Criar serviço de Gestão de API, selecione a guia Networking.

  2. No tipo de Conectividade, selecione ponto final privado.

  3. Selecione + Adicionar.

  4. Na página Criar ponto de extremidade privado , insira ou selecione as seguintes informações:

    Configuração Valor
    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.
    Localização Selecione um local para o ponto de extremidade privado. Deve estar na mesma região da sua rede virtual. Pode diferir da região onde a sua instância de Gestão de API está alojada.
    Nome Insira um nome para o ponto de extremidade, como myPrivateEndpoint.
    Sub-recurso Selecione Gateway.
  5. Em Rede, insira ou selecione a rede virtual e a sub-rede para seu ponto de extremidade privado.

  6. Em Integração DNS privada, selecione Integrar com zona DNS privada. A zona DNS padrão é exibida: privatelink.azure-api.net.

  7. Selecione OK.

  8. Continue com a criação da instância de Gerenciamento de API.

Criar endpoint privado para a instância existente de Gestão de APIs

  1. Aceda ao seu serviço de Gestão de API no portal 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, insira ou selecione as seguintes informações:

    Configuração Valor
    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
    Região Selecione um local para o ponto de extremidade privado. Deve estar na mesma região da sua rede virtual. Pode diferir da região onde a sua instância de Gestão de API está alojada.
  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 configurações para criar um ponto de extremidade privado no portal do Azure.

    Importante

    Somente o subrecurso Gateway é suportado para Gerenciamento de API. Não há suporte para outros subrecursos.

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

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

    Configuração Valor
    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 Próximo: Separadores na parte inferior do ecrã. Se quiseres, insere tags para organizar os teus recursos Azure.

  12. Selecionar Próximo: Rever + criar na parte inferior do ecrã. Selecione Criar.

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

Depois de criar o endpoint privado e atualizar o serviço, o endpoint privado aparece na lista na página de conexões de endpoint privado de entrada da instância de Gestão de APIs 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 privadas pendentes

Se uma conexão de ponto de extremidade privada estiver em um estado pendente, um proprietário da instância de Gerenciamento de API deverá aprová-la manualmente antes que ela possa ser usada.

Se tiver permissões suficientes, aprove uma conexão de ponto de extremidade privada na página Conexões de ponto de extremidade privadas 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 endpoint privadas pendentes.

Opcionalmente, desative o acesso à rede pública

Para limitar o tráfego recebido para a instância de Gestão de API apenas a endpoints privados, desative a propriedade de acesso à rede pública.

Importante

  • Pode desativar o acesso à rede pública depois de configurar um endpoint privado.
  • Pode desativar o acesso à rede pública numa instância de Gestão de API existente , não durante o processo de implementação.

Nota

Pode desativar o acesso público à rede em instâncias de Gestão de APIs configuradas com um endpoint privado, não com outras configurações de rede.

Para desativar a propriedade de acesso à rede pública nos níveis clássicos usando a CLI do Azure, execute o seguinte comando az-apim update , substituindo os nomes da sua instância e grupo de recursos de Gestão de API:

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 ligação de ponto de extremidade privado

Depois de criares o endpoint privado, confirma as definições DNS no portal.

  1. Aceda ao seu serviço de Gestão de API no portal Azure.

  2. No menu à esquerda, em Implantação + infraestrutura, selecione Rede>Conexões de ponto final privado de entrada e selecione o ponto final privado que 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çamento da sub-rede onde configurou o endpoint privado.

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.privatelink.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 final padrão do Gateway devem ser concluídas com sucesso.

Teste da internet

Fora da rota do ponto final privado, tente chamar o ponto final de Gateway predefinido da instância do Gestor 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 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 para nomes de domínio personalizados em níveis v2

Atualmente, nos níveis Standard v2 e Premium v2, a API Management requer um nome DNS publicamente resolvível para permitir o tráfego para o endpoint do Gateway. Se você configurar um nome de domínio personalizado para o ponto de extremidade do Gateway, esse nome deverá ser resolúvel publicamente, não restrito a uma zona DNS privada.

Como solução alternativa em cenários em que você limita o acesso público ao gateway e configura um nome de domínio privado, você pode configurar o Application Gateway 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 um exemplo de arquitetura, consulte este repositório GitHub.