Segurança do Private Service Connect

Nesta página, você encontra uma visão geral da segurança do Private Service Connect.

O Private Service Connect fornece vários controles para gerenciar o acesso a recursos do Private Service Connect. É possível controlar quem pode implantar recursos do Private Service Connect, se as conexões podem ser estabelecidas entre consumidores e produtores e qual tráfego de rede tem permissão para acessar essas conexões.

Esses controles são implementados usando os seguintes elementos:

A Figura 1 descreve como esses controles interagem nos lados do consumidor e do produtor de uma conexão do Private Service Connect.

Figura 1. As permissões do IAM, as políticas da organização, as listas de aceitação e rejeição e as regras de firewall da VPC funcionam juntas para ajudar a proteger os lados do consumidor e do produtor de uma conexão do Private Service Connect.

IAM

Cada recurso do Private Service Connect é regido por uma ou mais permissões do IAM. Com essas permissões, os administradores impõem quais principais do IAM podem implantar recursos do Private Service Connect.

O IAM não controla quais principais do IAM podem se conectar ou usar uma conexão do Private Service Connect. Para controlar quais endpoints ou back-ends podem estabelecer uma conexão com um serviço, use políticas da organização ou listas de aceitação do consumidor. Para controlar quais clientes podem enviar tráfego para recursos do Private Service Connect, use firewalls VPC ou políticas de firewall.

Para mais informações sobre permissões do IAM, consulte Permissões do IAM.

Para informações sobre as permissões necessárias para criar um diretório, consulte Criar um endpoint.

Para informações sobre as permissões necessárias para criar um anexo de serviço, consulte Publicar um serviço com aprovação explícita.

Status da conexão

Os endpoints, back-ends e anexos de serviço do Private Service Connect têm um status de conexão que descreve o estado da conexão 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 detalhes do endpoint, descrever um back-end ou consultar os detalhes de um serviço publicado.

A tabela a seguir descreve os status possíveis.

Status da conexão Descrição
Aceita em 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 o tráfego de rede não pode transitar 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. O tráfego de rede não pode viajar 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, a sub-rede NAT do produtor pode estar esgotada e não é possível alocar endereços IP para novas conexões.
Ou você pode clicar em Fechada.

O anexo de serviço foi excluído, e a conexão do Private Service Connect foi encerrada. O tráfego de rede não pode viajar 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.

Configuração do anexo de serviço

É possível controlar quais consumidores podem se conectar a um anexo de serviço usando os recursos a seguir.

Preferência de conexão

Cada anexo de serviço tem uma preferência de conexão que especifica se as solicitações de conexão são aceitas automaticamente. Há três opções:

  • Aceitar automaticamente todas as conexões. O anexo de serviço aceita automaticamente todas as solicitações de conexão de entrada de qualquer consumidor. A aceitação automática pode ser substituída por uma política da organização que bloqueie as conexões de entrada.
  • Aceitar as conexões das redes selecionadas. O anexo de serviço só aceitará solicitações de conexão de entrada se a rede VPC do consumidor estiver na lista de aceitação do consumidor do anexo de serviço.
  • Aceitar conexões para os projetos selecionados. O anexo de serviço só aceitará solicitações de conexão de entrada se o projeto de consumidor estiver na lista de aceitação do consumidor de anexo de serviço.

Recomendamos que você aceite conexões para redes ou projetos selecionados. A aceitação automática de todas as conexões pode ser apropriada se você controla o acesso do consumidor por outros meios e quer ativar o acesso permissivo ao serviço.

Aceitar e rejeitar listas

Listas de aceitação do consumidor e Listas de rejeição do consumidor são um recurso de segurança dos anexos de serviço. As listas de aceitação e rejeição permitem que os produtores de serviços especifiquem quais consumidores podem estabelecer conexões do Private Service Connect com os serviços deles. As listas de aceitação do consumidor especificam se uma conexão é aceita, e as listas de rejeição do consumidor especificam se uma conexão é rejeitada. Ambas as listas permitem especificar consumidores pela rede VPC ou pelo projeto do recurso de conexão. Se você adicionar um projeto ou uma rede à lista de aceitação e à lista de proibições, as solicitações de conexão desse projeto ou rede serão rejeitadas. Não é possível especificar consumidores por pasta.

As listas de aceitação e de rejeição do consumidor permitem que você especifique projetos ou redes VPC, mas não ambos ao mesmo tempo. É possível alterar uma lista de um tipo para outro sem interromper as conexões, mas você precisa fazer a alteração em uma única atualização. Caso contrário, algumas conexões poderão mudar temporariamente para o estado pendente.

Quando você atualiza uma lista de aceitação ou rejeição de consumidor, o efeito nas conexões existentes varia de acordo com a ativação da reconciliação de conexão. Para mais informações, consulte Reconciliação de conexão.

Para informações sobre como criar um novo anexo de serviço que tenha listas de aceitação ou rejeição de consumidores, consulte Publicar um serviço com aprovação explícita do projeto.

Para informações sobre como atualizar listas de aceitação ou rejeição de consumidores, consulte Gerenciar solicitações de acesso a um serviço publicado.

Limites de conexão

As listas de aceitação do consumidor têm limites de conexão. Esses limites definem o número total de conexões que um anexo de serviço pode aceitar do projeto do consumidor ou da rede VPC especificada. Os produtores podem usar esses limites 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 para um projeto de consumidor ou rede VPC. Os limites são definidos ao criar ou atualizar listas de aceitação do consumidor. É possível ver as conexões de um anexo de serviço ao descrever um anexo de serviço.

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. A segunda conexão de project-1 pode ser aceita ao 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.

Políticas da organização

As políticas da organização permitem controlar amplamente quais projetos podem se conectar a redes ou organizações VPC usando o Private Service Connect.

As políticas da organização descritas nesta página podem bloquear ou rejeitar novas conexões do Private Service Connect, mas não afetam as conexões atuais.

Uma política da organização se aplica aos descendentes do recurso a que se refere de acordo com a avaliação da hierarquia. Por exemplo, uma política da organização que restringe o acesso a uma organização do Google Cloud também se aplica às pastas, aos projetos e aos recursos filhos da organização. Da mesma forma, listar uma organização como um valor permitido também permite o acesso aos filhos dessa organização.

Para mais informações sobre políticas da organização, consulte Políticas da organização.

Políticas da organização do consumidor

É possível usar restrições de lista para controlar a implantação de endpoints e back-ends. Se um endpoint ou back-end for bloqueado por uma política da organização do consumidor, a criação do recurso falhará.

  • Use a restrição de lista restrictPrivateServiceConnectProducer para controlar quais endpoints e back-ends de anexo de serviço podem se conectar com base na organização produtora.
  • Use a restrição de lista disablePrivateServiceConnectCreationForConsumers para controlar a implantação de endpoints com base no tipo de conexão. É possível bloquear a implantação de endpoints que se conectam a APIs do Google ou bloquear a implantação de endpoints que se conectam a serviços publicados.

Impedir que endpoints ou back-ends se conectem a organizações produtoras

As políticas da organização que usam a restrição de lista restrictPrivateServiceConnectProducer com valores permitidos impedem que os endpoints e back-ends se conectem a anexos de serviços, a menos que os anexos de serviços estejam associados a um dos valores permitidos pela política. Uma política desse tipo bloqueia as conexões, mesmo que elas sejam permitidas pela lista de aceitação do consumidor do anexo de serviço.

Por exemplo, a política da organização a seguir se aplica a uma organização chamada Org-A:

name: organizations/Org-A/policies/compute.restrictPrivateServiceConnectProducer
spec:
  rules:
    – values:
        allowedValues:
        - under:organizations/ORG_A_NUMBER
        - under:organizations/433637338589

A Figura 2 mostra o resultado dessa política da organização. A política permitiu valores para Org-A (ORG_A_NUMBER) e Google-org (433637338589). Os endpoints e back-ends criados em Org-A podem se comunicar com anexos de serviço em Org-A, mas não com anexos de serviço em Org-B.

Figura 2. Uma política da organização permite que o endpoint psc-1 se conecte ao anexo de serviço sa-1 e bloqueia psc-3 para que ele não se conecte aos anexos de serviço em Org-B. Os endpoints e back-ends em Org-A podem se conectar a anexos de serviço que pertencem ao Google.

É possível permitir que instâncias dos seguintes tipos de recursos criem endpoints com a restrição compute.restrictPrivateServiceConnectProducer:

  • Organizações
  • Pastas
  • Projetos

Para informações sobre como criar uma política da organização que use a restrição compute.restrictPrivateServiceConnectProducer, consulte Bloquear a conexão de endpoints e back-ends a anexos de serviço não autorizados.

Bloquear a criação de endpoints por tipo de conexão

É possível usar a restrição de lista disablePrivateServiceConnectCreationForConsumers para bloquear a criação de endpoints com base na conexão deles com as APIs do Google ou com serviços publicados (anexos de serviço).

Para informações sobre como criar uma política da organização que use a restrição disablePrivateServiceConnectCreationForConsumers, consulte Bloquear consumidores de implantar endpoints por tipo de conexão.

Políticas da organização do produtor

É possível usar as políticas da organização com a restrição de lista compute.restrictPrivateServiceConnectConsumer para controlar quais endpoints e back-ends podem se conectar aos anexos do serviço Private Service Connect em uma organização ou projeto de produtor. Se um endpoint ou back-end for rejeitado por uma política da organização do produtor, a criação do recurso será bem-sucedida, mas a conexão entrará no estado rejeitado.

Controlar o acesso dessa maneira é semelhante a usar listas de aceitação e rejeição, exceto que as políticas da organização se aplicam a todos os anexos de serviço em um projeto ou organização, em vez de um anexo de serviço individual.

É possível usar políticas da organização e aceitar listas juntas. As políticas da organização impõem amplo acesso a um serviço gerenciado e aceitam listas que controlam o acesso a anexos de serviços individuais.

As políticas da organização que usam a restrição compute.restrictPrivateServiceConnectConsumer rejeitam conexões de endpoints e back-ends, a menos que o endpoint ou o back-end esteja associado a um dos valores permitidos da política. Uma política desse tipo rejeita conexões, mesmo que elas sejam permitidas por uma lista de permissões.

Por exemplo, a política da organização a seguir se aplica a uma organização chamada Organização-A:

name: organizations/Org-A/policies/compute.restrictPrivateServiceConnectConsumer
spec:
  rules:
    - values:
        allowedValues:
        - under:organizations/ORG_A_NUMBER

A Figura 3 mostra o resultado dessa política da organização. A política tem um valor permitido para Org-A (ORG_A_NUMBER). Os endpoints em outras redes VPC em Org-A podem se conectar a anexos de serviço em Org-A. Os endpoints em Org-B que tentam se conectar são rejeitados.

Figura 3. Uma política da organização permite que psc-1 se conecte a sa-1, enquanto bloqueia psc-2.

Uma política da organização se aplica aos descendentes do recurso a que se refere de acordo com a avaliação da hierarquia. Por exemplo, uma política da organização que restringe o acesso a uma organização do Google Cloud também se aplica às pastas, aos projetos e aos recursos filhos da organização. Da mesma forma, listar uma organização como um valor permitido também permite o acesso aos filhos dessa organização.

É possível permitir que instâncias dos seguintes tipos de recursos criem endpoints com a restrição restrictPrivateServiceConnectConsumer:

  • Organizações
  • Pastas
  • Projetos

Para mais informações sobre o uso de políticas da organização com produtores de serviços, consulte Políticas da organização do produtor.

Interação entre listas de aceitação dos consumidores e políticas da organização

As listas de aceitação do consumidor e as políticas da organização controlam se uma conexão pode ser estabelecida entre dois recursos do Private Service Connect. As conexões serão bloqueadas se uma lista de aceitação ou uma política da organização negar a conexão.

Por exemplo, uma política com a restrição restrictPrivateServiceConnectConsumer pode ser configurada para bloquear conexões de fora da organização do produtor. Mesmo que um anexo de serviço esteja configurado para aceitar automaticamente todas as conexões, a política da organização ainda bloqueará conexões de fora da organização do produtor. Recomendamos o uso de listas de aceitação e políticas de organização juntas para fornecer segurança em camadas.

Firewalls

É possível usar regras de firewall e políticas de firewall da VPC para controlar o acesso no nível da rede aos recursos do Private Service Connect.

Para mais informações sobre regras de firewall da VPC em geral, consulte Regras de firewall da VPC.

Para mais informações sobre o uso de regras de firewall da VPC para limitar o acesso a endpoints ou back-ends em uma rede VPC do consumidor, consulte Usar regras de firewall para limitar o acesso a endpoints ou back-ends.