Sobre como controlar o acesso a serviços publicados
Nesta página, descrevemos os recursos que podem ser usados para controlar o acesso a serviços publicados com o Private Service Connect.
Preferências de conexão
Cada anexo de serviço tem uma preferência de conexão que controla se as conexões são aceitas automaticamente.
- Aceitar automaticamente todas as conexões. O anexo de serviço aceita automaticamente todas as solicitações de conexão vindas de qualquer consumidor.
- Aceitar explicitamente as conexões dos consumidores selecionados. O anexo de serviço só aceita solicitações de conexão de entrada se o consumidor estiver na lista de aceitação do consumidor do anexo de serviço. É possível especificar consumidores por projeto, rede VPC ou endpoint individual do Private Service Connect (prévia). Não é possível incluir diferentes tipos de consumidores na mesma lista de aceitação ou rejeição.
Para qualquer preferência de conexão, as conexões aceitas podem ser substituídas e rejeitadas por uma política da organização que bloqueie as conexões de entrada.
Recomendamos que você aceite conexões explicitamente para consumidores selecionados. A aceitação automática de todas as conexões pode ser apropriada quando você controla o acesso do consumidor por outros meios e quer ativar o acesso permissivo ao serviço.
Listas de aceitação e rejeição do consumidor
As listas de aceitação e listas de rejeição do consumidor são um recurso de segurança dos anexos de serviço. Com elas, os produtores de serviços especificam quais consumidores podem estabelecer conexões do Private Service Connect com os serviços deles. Quando um anexo de serviço é configurado para aprovação explícita, uma nova conexão só é aceita se o consumidor estiver na lista de aceitação e não na lista de rejeição. As atualizações nas listas de consumidores afetam apenas novas conexões, a menos que a reconciliação de conexão esteja ativada.
Com as listas de aceitação e rejeição do consumidor, é possível especificar consumidores de uma das seguintes maneiras:
- Projeto
- Rede VPC
Endpoint do Private Service Connect (prévia)
Esse método não se aplica a back-ends do Private Service Connect.
Se você adicionar o mesmo consumidor às listas de aceitação e rejeição, ele será bloqueado e não poderá se conectar ao anexo de serviço. Não é possível especificar consumidores por pasta.
As duas listas de consumidores de um anexo de serviço precisam conter o mesmo tipo de consumidor. Por exemplo, se você adicionar um projeto a uma lista de aceitação, não poderá adicionar uma rede VPC ou um URI de endpoint a nenhuma das listas, a menos que substitua o projeto na lista de aceitação pelo novo tipo de consumidor.
Se quiser publicar um serviço que aceite diferentes tipos de consumidores, crie vários anexos de serviço que se conectem ao mesmo serviço. Cada anexo de serviço pode ser configurado com uma preferência de conexão e listas de consumidores próprias.
É possível mudar o tipo de consumidor em listas de consumidores sem interromper as conexões, mas você precisa fazer a mudança em uma única atualização. Caso contrário, a operação vai falhar.
Há limites para o número de consumidores que podem ser adicionados às listas de aceitação e rejeição:
- É possível adicionar no máximo 5.000 valores à lista de aceitação do consumidor.
- É possível adicionar no máximo 64 valores à lista de rejeição do consumidor.
As listas de consumidores controlam se um endpoint ou back-end pode se conectar a um serviço publicado, mas não controlam quem pode enviar solicitações a esse endpoint. Por exemplo, digamos que um consumidor tenha uma rede VPC compartilhada com dois projetos de serviço anexados. Se um serviço publicado tiver service-project1 na lista de aceitação do consumidor e service-project2 na lista de rejeição do consumidor, o seguinte vai acontecer:
-
Um consumidor em
service-project1poderá criar um endpoint que se conecte ao serviço publicado. -
Um consumidor em
service-project2não poderá criar um endpoint que se conecte ao serviço publicado. -
Um cliente em
service-project2poderá enviar solicitações ao endpoint emservice-project1, se não houver regras ou políticas de firewall impedindo esse tráfego.
Para informações sobre como as listas de aceitação do consumidor interagem com as políticas da organização, consulte Interação entre listas de aceitação do consumidor e políticas da organização.
Limites de lista de aceitação do consumidor
As listas de aceitação do consumidor têm limites de conexão. Esses limites definem o número total de conexões de endpoint e back-end do Private Service Connect que um anexo de serviço pode aceitar do projeto de consumidor especificado ou da rede VPC. Especificar limites de conexão para listas de permissão baseadas em endpoints do Private Service Connect não tem efeito, porque apenas um endpoint pode corresponder a um determinado URI.
Os produtores podem usar esses limites de conexões para evitar que consumidores individuais consumam endereços IP ou cotas de recursos na rede VPC do produtor. Cada conexão do Private Service Connect aceita é subtraída do limite configurado do projeto de consumidor ou da rede VPC. Os limites são definidos ao criar ou atualizar listas de aceitação do consumidor. É possível conferir as conexões de um anexo de serviço ao descrever o anexo.
As conexões propagadas não são contabilizadas nesses limites.
Por exemplo, considere um caso em que um anexo de serviço tenha uma lista de aceitação do consumidor que inclua project-1 e project-2, ambos com um limite de uma conexão. O projeto project-1 solicita duas conexões, project-2 solicita uma conexão e project-3 solicita uma conexão. Como project-1 tem um limite de uma conexão, a primeira é aceita e a segunda permanece pendente.
A conexão de project-2 é aceita, e a conexão de project-3 permanece pendente. Para aceitar a segunda conexão de project-1, é preciso aumentar o limite de project-1. Se
project-3 for adicionado à lista de aceitação do consumidor, essa conexão mudará de
pendente para aceita.
Reconciliação de conexão
A reconciliação de conexão determina se as atualizações nas listas de aceitação ou rejeição de um anexo de serviço podem afetar as conexões atuais do Private Service Connect. Se a reconciliação de conexão estiver ativada, a atualização de listas de aceitação ou rejeição poderá encerrar as conexões atuais. As conexões que foram rejeitadas anteriormente podem se tornar aceitas. Se a reconciliação de conexão estiver desativada, a atualização das listas de aceitação ou rejeição afetará apenas as conexões novas e pendentes.
Por exemplo, considere um anexo de serviço que tenha várias conexões aceitas de Project-A. Project-A está na lista de aceitação do anexo de serviço. O anexo de serviço é atualizado removendo Project-A da
lista de aceitação.
Se a reconciliação de conexão estiver ativada, todas as conexões existentes de Project-A farão a transição para PENDING, o que encerra a conectividade de rede entre as duas redes VPC e interrompe imediatamente o tráfego de rede.
Se a reconciliação de conexão estiver desativada, as conexões atuais de
Project-A não serão afetadas. O tráfego de rede ainda pode fluir entre as conexões atuais do Private Service Connect. No entanto, novas conexões do Private Service Connect não são permitidas.
Para informações sobre como configurar a reconciliação de conexão para novos anexos de serviço, consulte Publicar um serviço com aprovação explícita.
Para informações sobre como configurar a reconciliação de conexão para anexos de serviço atuais, consulte Configurar a reconciliação de conexão.
Aceitar ou rejeitar conexões de endpoint do Private Service Connect
É possível aceitar ou rejeitar conexões individuais de endpoints do Private Service Connect adicionando o URI baseado em ID do endpoint a uma das listas de consumidores de um anexo de serviço. Essa abordagem, recomendada para serviços multitenant, oferece o controle mais granular para gerenciar conexões. Aceitar consumidores por endpoint do Private Service Connect se aplica apenas a endpoints do Private Service Connect e não oferece suporte a back-ends do Private Service Connect.
Ao contrário de projetos ou redes VPC, só é possível aceitar ou rejeitar um endpoint individual do Private Service Connect depois que o consumidor o cria. Isso acontece porque o URI exclusivo de um endpoint não é conhecido até que o consumidor crie o endpoint. Para adicionar um endpoint a uma lista de aceitação do consumidor, siga estas etapas:
- O produtor publica um serviço que requer aprovação explícita, sem adicionar valores à lista de aceitação do consumidor.
-
Um consumidor cria um endpoint que se conecta ao serviço publicado. A conexão
fica visível no anexo de serviço com o status
Pending. - Para encontrar o URI baseado em ID do endpoint pendente, o produtor pode descrever o anexo de serviço ou o consumidor pode descrever o endpoint.
-
O produtor adiciona o URI baseado em ID do endpoint à lista de aceitação do consumidor. A conexão é
estabelecida e o status muda para
Accepted.
Status da conexão
Os endpoints, back-ends e anexos de serviço do Private Service Connect têm status de conexão que descrevem o estado das conexões deles. Os recursos de consumidor e produtor que formam os dois lados de uma conexão sempre têm o mesmo status. É possível conferir o status da conexão ao conferir os detalhes do endpoint, descrever um back-end ou consultar os detalhes de um serviço publicado.
Confira os status possíveis na tabela abaixo.
| Status da conexão | Descrição |
|---|---|
| Aceito | A conexão do Private Service Connect foi estabelecida. As duas redes VPC têm conectividade, e a conexão está funcionando normalmente. |
| Pendente | A conexão do Private Service Connect não foi estabelecida, e não há passagem de tráfego entre as duas redes. Uma conexão pode ter esse status pelos seguintes motivos:
As conexões bloqueadas por esses motivos permanecem no estado pendente indefinidamente até que o problema seja resolvido. |
| Rejeitada | A conexão do Private Service Connect não foi estabelecida. Não há passagem de tráfego entre as duas redes. Uma conexão pode ter esse status pelos seguintes motivos:
|
| Requer atenção | Há um problema no lado do produtor da conexão. É possível que parte do tráfego passe pelas duas redes, mas algumas conexões não funcionem. Por exemplo, talvez a sub-rede NAT do produtor esteja esgotada e não seja possível alocar endereços IP para novas conexões. |
| Fechada | O anexo de serviço foi excluído, e a conexão do Private Service Connect foi encerrada. Não há passagem de tráfego entre as duas redes. Uma conexão fechada é um estado terminal. Para restaurar a conexão, recrie o anexo de serviço e o endpoint ou back-end. |
Conexões propagadas
Os consumidores que se conectam ao seu anexo de serviço usando endpoints podem ativar a propagação de conexão. As conexões propagadas permitem que as cargas de trabalho em spokes de VPC do consumidor acessem serviços gerenciados em redes VPC dos produtores como se as duas redes VPC estivessem diretamente conectadas por meio de endpoints. Cada conexão propagada consome um endereço IP da sub-rede NAT do anexo de serviço.
É possível acessar o número de conexões propagadas associadas a um endpoint conectado ao visualizar os detalhes de um serviço publicado. Essa contagem não inclui conexões propagadas que são bloqueadas pelo limite de conexões propagadas do produtor.
Limite de conexão propagada
Os anexos de serviço têm um limite de conexões propagadas, o que permite que os produtores de serviços limitem o número de conexões propagadas que podem ser estabelecidas com o anexo de serviço por um único consumidor. Se não for especificado, o limite padrão para as conexões propagadas será de 250.
- Se a preferência de conexão do anexo de serviço for
ACCEPT_MANUAL, o limite será aplicado com base no tipo de consumidor na lista de aceitação do consumidor:- Para listas de aceitação do consumidor baseadas em projetos, o limite se aplica a cada projeto na lista.
- Para listas de aceitação do consumidor baseadas em redes VPC, o limite se aplica a cada rede na lista.
- Para listas de aceitação do consumidor baseadas em endpoints do Private Service Connect (prévia), o limite se aplica ao projeto de cada endpoint na lista. Se houver vários endpoints do mesmo projeto na lista, eles vão compartilhar um único limite.
- Se a preferência de conexão for
ACCEPT_AUTOMATIC, o limite será aplicado a cada projeto que contiver um endpoint conectado.
Se um consumidor exceder o limite de conexões propagadas, nenhuma outra conexão propagada será criada. Para permitir a criação de endpoints mais propagados, aumente o limite de conexões propagadas. Quando você aumenta esse limite, o Network Connectivity Center cria conexões propagadas que foram bloqueadas pelo limite, desde que as novas conexões não excedam o limite atualizado. A atualização desse limite não afeta as conexões propagadas atuais.
Prevenção contra o esgotamento da cota
O número total de endpoints do Private Service Connect e
conexões propagadas de qualquer consumidor que podem acessar sua rede VPC
do produtor é controlado pela
cota PSC ILB consumer forwarding rules per producer VPC network.
Particularmente para
serviços multilocatários,
é importante proteger contra o esgotamento dessa cota.
Use os limites a seguir para se proteger contra o esgotamento da cota:
- Os limites de conexão de lista de aceitação do consumidor controlam o número total de endpoints do Private Service Connect que podem criar conexões com um anexo de serviço de uma única rede VPC ou projeto do consumidor. A redução desses limites não afeta as conexões atuais. Esses limites não se aplicam a conexões propagadas.
- Os limites de conexão propagada controlam o número total de conexões propagadas que podem ser estabelecidas para um anexo de serviço de um único consumidor. A redução desse limite não afeta as conexões propagadas atuais.
Exemplo de limites de cota e conexão
O exemplo a seguir mostra como os limites de conexão propagada e os limites de lista de
aceitações do consumidor funcionam em relação à
cota PSC ILB consumer forwarding rules per producer VPC network.
Considere um caso em que um consumidor criou dois
endpoints em uma rede VPC spoke, spoke-vpc-1. Os dois endpoints
se conectam a service-attachment-1 em producer-vpc-1. O spoke está conectado a
um hub do Network Connectivity Center que tem a propagação de conexão ativada, e não há outros spokes conectados a esse hub.
O produtor de serviços configurou service-attachment-1 para ter um limite de quatro listas de aceitação do consumidor para cada projeto na lista de aceitação. O produtor configurou um limite de duas conexões propagadas, especificando que um único projeto pode ter até duas conexões propagadas.
Este exemplo de configuração contém dois endpoints e nenhuma conexão propagada (clique para ampliar).
A cota e o uso limite para essa configuração são os seguintes:
| Cota / Limite | Uso | Explicação |
|---|---|---|
| Regras de encaminhamento de consumidor do ILB de PSC por rede VPC do produtor | 2 | um por endpoint |
Limite de conexão de lista de aceitação do consumidor de anexo de serviço para consumer-project-1 |
2 | um por endpoint |
Limite de conexão propagada do anexo de serviço para consumer-project-1 |
0 | nenhuma conexão propagada |
Suponha que consumer-project-1 conecte outro spoke chamado spoke-vpc-2 ao
mesmo hub do Network Connectivity Center que spoke-vpc-1. Isso cria duas conexões propagadas no consumer-project-1, uma para cada endpoint atual.
Este exemplo de configuração contém dois endpoints e duas conexões propagadas (clique para ampliar).
A cota e o uso limite para essa configuração são os seguintes:
| Cota / Limite | Uso | Explicação |
|---|---|---|
| Regras de encaminhamento de consumidor do ILB de PSC por rede VPC do produtor | 4 | uma por endpoint e uma por conexão propagada |
Limite de conexão de lista de aceitação do consumidor de anexo de serviço para consumer-project-1 |
2 | um por endpoint |
Limite de conexão propagada do anexo de serviço para consumer-project-1 |
2 | uma por conexão propagada |
Consumer-project-1 esgotou o limite de conexões propagadas. Se o consumidor adicionar outro spoke VPC, o Private Service Connect não criará nenhuma nova conexão propagada.
Suponha que outro consumidor tenha dois spokes de VPC
em consumer-project-2. Os spokes se conectam a um hub do Network Connectivity Center com conexões propagadas
ativadas. Um dos spokes de VPC contém um único endpoint que se conecta a service-attachment-1.
Este exemplo de configuração contém três endpoints e três conexões propagadas (clique para ampliar).
A cota e o uso limite para essa configuração são os seguintes:
| Cota / Limite | Uso | Explicação |
|---|---|---|
| Regras de encaminhamento de consumidor do ILB de PSC por rede VPC do produtor | 6 | quatro de consumer-project-1 e duas de consumer-project-2 |
Limite de conexão de lista de aceitação do consumidor de anexo de serviço para consumer-project-1 |
2 | um por endpoint em consumer-project-1 |
Limite de conexão de lista de aceitação do consumidor de anexo de serviço para consumer-project-2 |
1 | um por endpoint em consumer-project-2 |
Limite de conexão propagada do anexo de serviço para consumer-project-1 |
2 | uma por conexão propagada em consumer-project-1 |
Limite de conexão propagada do anexo de serviço para consumer-project-2 |
1 | uma por conexão propagada em consumer-project-2 |