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 oferece vários controles para gerenciar o acesso aos recursos. É 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:
- As permissões do Identity and Access Management (IAM) determinam quais principais do IAM têm permissão para implantar recursos do Private Service Connect, como endpoints, back-ends e serviços. Um principal do IAM é uma Conta do Google, conta de serviço, grupo do Google, conta do Google Workspace ou domínio do Cloud Identity que pode acessar um recurso.
- As listas de aceitação e rejeição do Private Service Connect e as políticas da organização determinam se é possível estabelecer conexões entre consumidores e produtores individuais.
- As regras de firewall da VPC determinam se determinado tráfego TCP ou UDP tem permissão para acessar conexões do Private Service Connect.
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 (clique para ampliar).
IAM
Recursos: todos
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 acessar 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.
Saiba quais são as permissões necessárias para criar um anexo de serviço em Publicar um serviço com aprovação explícita.
Status da conexão
Recursos: endpoints, back-ends e anexos de serviço.
É possível conferir o status da conexão dos endpoints, dos back-ends e dos anexos de serviço do Private Service Connect. 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. |
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
Recursos: endpoints e back-ends
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 vindas 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 recebidas se a rede VPC do consumidor estiver na lista de aceitação do consumidor do anexo de serviço.
- Aceitar conexões dos projetos selecionados. O anexo de serviço só aceitará solicitações de conexão recebidas se o projeto de consumidor estiver na lista de aceitação de consumidor do anexo de serviço.
Recomendamos que você aceite as conexões de redes ou projetos 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
Recursos: endpoints e back-ends
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 as listas, os produtores de serviços especificam 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 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.
Com as listas de aceitação e de rejeição do consumidor, é possível especificar 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.
As listas de consumidores controlam se um endpoint 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-project1
poderá criar um endpoint que se conecte ao serviço publicado. -
Um consumidor em
service-project2
não poderá criar um endpoint que se conecte ao serviço publicado. -
Um cliente em
service-project2
poderá enviar solicitações ao endpoint emservice-project1
, se não houver regras ou políticas de firewall impedindo esse tráfego.
Quando você atualiza uma lista de aceitação ou rejeição de consumidor, o efeito nas conexões atuais varia de acordo com a ativação da reconciliação de conexão. Saiba mais em Reconciliação de conexão.
Para saber como criar um 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 saber 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
Recursos: endpoints e back-ends
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.
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 vai 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.
Saiba mais sobre políticas da organização neste link.
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 vai 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
Recursos: endpoints e back-ends
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 os 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 (clique para ampliar).
É possível permitir que instâncias dos seguintes tipos de recursos criem endpoints com a restrição compute.restrictPrivateServiceConnectProducer
:
- Organizações
- Pastas
- Projetos
Para saber 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
Recursos afetados: endpoints
É 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 saber 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
Recursos afetados: endpoints e back-ends
É 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 produtora ou projeto. 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 vai 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 listas de aceitação juntas. As políticas da organização impõem amplo acesso a um serviço gerenciado, e as listas 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 Org-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 de Org-A
permitido (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 a conexão de psc-2
(clique para ampliar).
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 vai bloquear as conexões de fora da organização do produtor. Recomendamos o uso de listas de aceitação e políticas da organização juntas para ter segurança em camadas.
Firewalls
Recursos: todos
É 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.
Saiba mais sobre as regras de firewall da VPC em geral em 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.