O que é um serviço do Azure Private Link?

O serviço Azure Private Link é a referência ao seu próprio serviço que é alimentado pelo Azure Private Link. Seu serviço que está sendo executado atrás do Azure Standard Load Balancer pode ser habilitado para acesso de Link Privado para que os consumidores ao seu serviço possam acessá-lo de forma privada a partir de suas próprias VNets. Seus clientes podem criar um ponto de extremidade privado dentro de sua rede virtual e mapeá-lo para este serviço. Este artigo explica os conceitos relacionados ao lado do provedor de serviços.

Diagrama do serviço de link privado do Azure.

Figura: Serviço de Link Privado do Azure.

Fluxo de Trabalho

Diagrama do fluxo de trabalho do serviço de link privado.

Figura: Fluxo de trabalho do serviço Azure Private Link.

  • Configure seu aplicativo para ser executado atrás de um balanceador de carga padrão em sua rede virtual. Se você já tiver seu aplicativo configurado atrás de um balanceador de carga padrão, poderá ignorar esta etapa.

  • Crie um Serviço de Link Privado fazendo referência ao balanceador de carga acima. No processo de seleção do balanceador de carga, escolha a configuração IP do frontend onde deseja receber o tráfego. Escolha uma sub-rede para endereços IP NAT para o Serviço de Link Privado. Recomenda-se ter pelo menos oito endereços IP NAT disponíveis na sub-rede. Todo o tráfego de consumidores parecerá ter origem neste conjunto de endereços IP privados para o fornecedor de serviços. Escolha as propriedades/configurações apropriadas para o Serviço de Link Privado.

    Nota

    O Serviço de Link Privado do Azure só é suportado no Balanceador de Carga Padrão.

Partilhe o seu serviço

Depois de criar um serviço de Link Privado, o Azure gerará um apelido nomeado globalmente exclusivo chamado alias com base no nome fornecido para o serviço. Você pode compartilhar o alias ou o URI de recurso do seu serviço com seus clientes offline. Os consumidores podem iniciar uma conexão de link privado usando o alias ou o URI do recurso.

Gerir os seus pedidos de ligação

Depois que um consumidor inicia uma conexão, o provedor de serviços pode aceitar ou rejeitar a solicitação de conexão. Todas as solicitações de conexão serão listadas na propriedade privateendpointconnections no serviço Private Link.

Excluir seu serviço

Se o serviço Private Link não estiver mais em uso, você poderá excluí-lo. No entanto, antes de excluir o serviço, verifique se não há conexões de ponto de extremidade privadas associadas a ele. Você pode rejeitar todas as conexões e excluir o serviço.

Propriedades

Um serviço de Link Privado especifica as seguintes propriedades:

Property Explicação
Estado de provisionamento (provisioningState) Uma propriedade somente leitura que lista o estado de provisionamento atual para o serviço Private Link. Os estados de provisionamento aplicáveis são: Excluindo, Falhado, Bem-sucedido,*Atualizando. Quando o estado de provisionamento for Bem-sucedido, você terá provisionado com êxito seu serviço de Link Privado.
Alias (alias) Alias é uma cadeia de caracteres somente leitura exclusiva globalmente para o seu serviço. Ele ajuda você a mascarar os dados do cliente para o seu serviço e, ao mesmo tempo, cria um nome fácil de compartilhar para o seu serviço. Quando você cria um serviço de Link Privado, o Azure gera o alias para seu serviço que você pode compartilhar com seus clientes. Seus clientes podem usar esse alias para solicitar uma conexão com seu serviço.
Visibilidade (visibilidade) Visibilidade é a propriedade que controla as configurações de exposição do seu serviço Private Link. Os provedores de serviços podem optar por limitar a exposição de seus serviços a assinaturas com permissões de controle de acesso baseadas em função do Azure. Um conjunto restrito de subscrições também pode ser utilizado para limitar a exposição.
Aprovação automática (autoApproval) A aprovação automática controla o acesso automatizado ao serviço Private Link. As assinaturas especificadas na lista de aprovação automática são aprovadas automaticamente quando uma conexão é solicitada a pontos de extremidade privados nessas assinaturas.
Configuração IP frontend do balanceador de carga (loadBalancerFrontendIpConfigurations) O serviço Private Link está vinculado ao endereço IP frontend de um Balanceador de Carga Padrão. Todo o tráfego destinado ao serviço chegará ao frontend do SLB. Você pode configurar regras SLB para direcionar esse tráfego para pools de back-end apropriados onde seus aplicativos estão sendo executados. As configurações de IP frontend do balanceador de carga são diferentes das configurações de IP NAT.
Configuração de IP NAT (ipConfigurations) Esta propriedade refere-se à configuração de IP NAT (Network Address Translation) para o serviço Private Link. O IP NAT pode ser escolhido a partir de qualquer sub-rede na rede virtual de um provedor de serviços. O serviço Private Link executa o NAT-ing do lado do destino no tráfego do Private Link. Esse NAT garante que não haja conflito de IP entre o espaço de endereçamento de origem (lado do consumidor) e de destino (provedor de serviços). No lado do destino ou do provedor de serviços, o endereço IP NAT é exibido como IP de origem para todos os pacotes recebidos pelo seu serviço. O IP de destino é exibido para todos os pacotes enviados pelo seu serviço.
Conexões de ponto de extremidade privado (privateEndpointConnections) Esta propriedade lista os pontos de extremidade privados que se conectam ao serviço Private Link. Vários pontos de extremidade privados podem se conectar ao mesmo serviço Private Link e o provedor de serviços pode controlar o estado para pontos de extremidade privados individuais.
Proxy TCP V2 (EnableProxyProtocol) Essa propriedade permite que o provedor de serviços use o proxy tcp v2 para recuperar informações de conexão sobre o consumidor do serviço. O provedor de serviços é responsável por configurar as configurações do recetor para poder analisar o cabeçalho do protocolo proxy v2.

Detalhes

  • O serviço Private Link pode ser acessado a partir de pontos de extremidade privados aprovados em qualquer região pública. O ponto de extremidade privado pode ser alcançado a partir da mesma rede virtual e redes virtuais emparelhadas regionalmente. O ponto de extremidade privado pode ser acessado a partir de redes virtuais globalmente emparelhadas e no local usando conexões VPN privadas ou ExpressRoute.

  • Após a criação de um Serviço de Link Privado, uma interface de rede é criada para o ciclo de vida do recurso. Essa interface não é gerenciável pelo cliente.

  • O Serviço de Link Privado deve ser implantado na mesma região que a rede virtual e o Balanceador de Carga Padrão.

  • Um único Serviço de Link Privado pode ser acessado de vários Pontos de Extremidade Privados pertencentes a diferentes redes virtuais, assinaturas e/ou locatários do Ative Directory. A conexão é estabelecida através de um fluxo de trabalho de conexão.

  • Vários serviços de Link Privado podem ser criados no mesmo Balanceador de Carga Padrão usando diferentes configurações de IP front-end. Há limites para o número de serviços de Link Privado que você pode criar por Balanceador de Carga Padrão e por assinatura. Para obter mais detalhes, veja Limites do Azure.

  • O serviço Private Link pode ter mais de uma configuração de IP NAT vinculada a ele. A escolha de mais de uma configuração de IP NAT pode ajudar os provedores de serviços a escalar. Atualmente, os provedores de serviços podem atribuir até oito endereços IP NAT por serviço Private Link. Com cada endereço IP NAT, você pode atribuir mais portas para suas conexões TCP e, assim, dimensionar. Você pode adicionar vários endereços IP NAT a um serviço de Link Privado, mas deve manter pelo menos um endereço IP NAT depois de configurado. Você será impedido de excluir o último IP NAT restante para garantir que as conexões ativas não sejam afetadas como resultado de endereços IP NAT indisponíveis.

Alias

Alias é um nome globalmente exclusivo para o seu serviço. Ele ajuda você a mascarar os dados do cliente para o seu serviço e, ao mesmo tempo, cria um nome fácil de compartilhar para o seu serviço. Quando você cria um serviço de Link Privado, o Azure gera um alias para seu serviço que você pode compartilhar com seus clientes. Seus clientes podem usar esse alias para solicitar uma conexão com seu serviço.

O alias é composto por três partes: Prefixo.GUID.Sufixo

  • Prefixo é o nome do serviço. Você pode escolher seu próprio prefixo. Depois que "Alias" é criado, você não pode alterá-lo, então selecione seu prefixo apropriadamente.

  • GUID será fornecido pela plataforma. Este GUID torna o nome globalmente único.

  • O sufixo é anexado pelo Azure: region.azure.privatelinkservice

Alias completo: prefixo. {GUID}.region.azure.privatelinkservice

Controlar a exposição ao serviço

O serviço Private Link fornece três opções na configuração Visibilidade para controlar a exposição do seu serviço. Sua configuração de visibilidade determina se um consumidor pode se conectar ao seu serviço. Aqui estão as opções de configuração de visibilidade, da mais restritiva à menos restritiva:

  • Somente controle de acesso baseado em função: se o serviço for para consumo privado de diferentes redes virtuais de sua propriedade, use o controle de acesso baseado em função dentro de assinaturas associadas ao mesmo locatário do Ative Directory. A visibilidade entre locatários é permitida por meio do controle de acesso baseado em função.

  • Restrito por subscrição: se o seu serviço for consumido em diferentes inquilinos, pode restringir a exposição a um conjunto limitado de subscrições em que confia. As autorizações podem ser pré-aprovadas.

  • Qualquer pessoa com o seu alias: se pretender tornar o seu serviço público e permitir que qualquer pessoa com o seu alias de serviço de Link Privado solicite uma ligação, selecione esta opção.

Controlar o acesso ao serviço

Os consumidores com exposição controlada pela configuração de visibilidade para seu serviço de Link Privado podem criar um ponto de extremidade privado em suas redes virtuais e solicitar uma conexão com seu serviço de Link Privado. A conexão de ponto de extremidade privado será criada em um estado Pendente no objeto de serviço Private Link. O provedor de serviços é responsável por agir na solicitação de conexão. Você pode aprovar a conexão, rejeitá-la ou excluí-la. Somente as conexões aprovadas podem enviar tráfego para o serviço Private Link.

A ação de aprovar as conexões pode ser automatizada usando a propriedade de aprovação automática no serviço Private Link. A Aprovação Automática é uma capacidade dos fornecedores de serviços de pré-aprovar um conjunto de subscrições para acesso automatizado ao seu serviço. Os clientes precisarão compartilhar suas assinaturas off-line para que os provedores de serviços adicionem à lista de aprovação automática. A aprovação automática é um subconjunto da matriz de visibilidade.

A visibilidade controla as configurações de exposição, enquanto a aprovação automática controla as configurações de aprovação do seu serviço. Se um cliente solicitar uma conexão de uma assinatura na lista de aprovação automática, a conexão será aprovada automaticamente e a conexão será estabelecida. Os provedores de serviços não precisam aprovar manualmente a solicitação. Se um cliente solicitar uma conexão de uma assinatura na matriz de visibilidade e não na matriz de aprovação automática, a solicitação chegará ao provedor de serviços. O provedor de serviços deve aprovar manualmente as conexões.

Obtendo informações de conexão usando o Proxy TCP v2

No serviço de link privado, o endereço IP de origem dos pacotes provenientes do ponto de extremidade privado é o endereço de rede traduzido (NAT) no lado do provedor de serviços usando o IP NAT alocado da rede virtual do provedor. Os aplicativos recebem o endereço IP NAT alocado em vez do endereço IP de origem real dos consumidores de serviço. Se seu aplicativo precisar de um endereço IP de origem real do lado do consumidor, você poderá habilitar o protocolo proxy em seu serviço e recuperar as informações do cabeçalho do protocolo proxy. Além do endereço IP de origem, o cabeçalho do protocolo proxy também carrega o LinkID do ponto de extremidade privado. A combinação do endereço IP de origem e do LinkID pode ajudar os provedores de serviços a identificar exclusivamente seus consumidores.

Para obter mais informações sobre o Proxy Protocol, visite aqui.

Essas informações são codificadas usando um vetor personalizado Type-Length-Value (TLV) da seguinte maneira:

Detalhes personalizados do TLV:

Campo Comprimento (Octetos) Description
Type 1 PP2_TYPE_AZURE (0xEE)
Duração 2 Comprimento do valor
Value 1 PP2_SUBTYPE_AZURE_PRIVATEENDPOINT_LINKID (0x01)
4 UINT32 (4 bytes) representando o LINKID do ponto de extremidade privado. Codificado em formato little endian.

Nota

O provedor de serviços é responsável por garantir que o serviço por trás do balanceador de carga padrão esteja configurado para analisar o cabeçalho do protocolo proxy de acordo com a especificação quando o protocolo proxy estiver habilitado no serviço de link privado. O pedido falhará se a configuração do protocolo proxy estiver ativada no serviço Private Link, mas o serviço do fornecedor de serviços não estiver configurado para analisar o cabeçalho. O pedido falhará se o serviço do fornecedor de serviços estiver à espera de um cabeçalho de protocolo proxy enquanto a definição não estiver ativada no serviço Private Link. Quando a configuração do protocolo proxy estiver ativada, o cabeçalho do protocolo proxy também será incluído nas verificações de estado de funcionamento HTTP/TCP do anfitrião para as máquinas virtuais de back-end. As informações do cliente não estão presentes no cabeçalho.

A correspondência LINKID que faz parte do protocolo PROXYv2 (TLV) pode ser encontrada na PrivateEndpointConnection propriedade linkIdentifieras .

Para obter mais informações, consulte API de serviços de link privado.

Limitações

A seguir estão as limitações conhecidas ao usar o serviço Private Link:

  • Suportado apenas no Standard Load Balancer. Não suportado no Basic Load Balancer.

  • Suportado apenas no Standard Load Balancer onde o pool de back-end é configurado pela NIC. Não suportado no Standard Load Balancer onde o pool de back-end é configurado pelo endereço IP.

  • Suporta apenas tráfego IPv4

  • Suporta apenas tráfego TCP e UDP

  • O Private Link Service tem um tempo limite ocioso de ~5 minutos (300 segundos). Para evitar atingir esse limite, os aplicativos que se conectam através do Private Link Service devem usar TCP Keepalives menor do que esse tempo.

  • Para uma regra NAT de entrada com o tipo definido como pool de back-end para operar com o Serviço de Link Privado do Azure, uma regra de balanceamento de carga deve ser configurada.

Próximos passos