Nesta página, descrevemos como usar grupos de identidades em regras de entrada e saída para permitir o acesso a recursos protegidos por perímetros de serviço.
O VPC Service Controls usa regras de entrada e saída para permitir acesso de e para recursos e clientes protegidos por perímetros de serviço. Para refinar ainda mais o acesso, especifique grupos de identidades nas regras de entrada e saída.
Um grupo de identidades é uma maneira conveniente de aplicar controles de acesso a um conjunto de usuários e permite identidades com políticas de acesso semelhantes.
Para configurar grupos de identidade nas regras de entrada ou saída, use os seguintes grupos de identidade aceitos no atributo identities
:
- Grupo do Google
Identidades de terceiros, como usuários do pool de colaboradores e identidades da carga de trabalho.
O VPC Service Controls não é compatível com a Federação de Identidade da Carga de Trabalho para GKE.
Para saber como aplicar políticas de regra de entrada e saída, consulte Configurar políticas de entrada e saída.
Antes de começar
- Leia as regras de entrada e saída.
Configurar grupos de identidade em regras de entrada
Console
Ao atualizar uma política de entrada de um perímetro de serviço ou definir uma política de entrada durante a criação do perímetro usando o console Google Cloud , é possível configurar a regra de entrada para usar grupos de identidade.
Ao criar ou editar um perímetro no console Google Cloud , selecione Política de entrada.
Na seção De da política de entrada, escolha Selecionar identidades e grupos na lista Identidades.
Clique em Adicionar identidades.
No painel Adicionar identidades, especifique um grupo do Google ou uma identidade de terceiros a quem você quer conceder acesso aos recursos no perímetro. Para especificar um grupo de identidades, use o formato especificado em Grupos de identidades compatíveis.
Clique em Adicionar identidades.
Clique em Salvar.
Para informações sobre os outros atributos de regra de entrada, consulte Referência de regras de entrada.
gcloud
É possível configurar uma regra de entrada para usar grupos de identidade com um arquivo JSON ou YAML. O exemplo a seguir usa o formato YAML:
- ingressFrom:
identities:
- PRINCIPAL_IDENTIFIER
sources:
- resource: RESOURCE
*OR*
- accessLevel: ACCESS_LEVEL
ingressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
resources:
- projects/PROJECT_NUMBER
Substitua o seguinte:
PRINCIPAL_IDENTIFIER
: especifique um grupo do Google ou uma identidade de terceiros a quem você quer dar acesso aos recursos no perímetro. Para especificar um grupo de identidades, use o formato especificado em Grupos de identidades compatíveis.
Para informações sobre os outros atributos de regra de entrada, consulte Referência de regras de entrada.
Depois de atualizar uma regra de entrada para configurar grupos de identidade, é necessário atualizar as políticas de regra do perímetro de serviço:
gcloud access-context-manager perimeters update PERIMETER_ID --set-ingress-policies=RULE_POLICY.yaml
Substitua o seguinte:
PERIMETER_ID
: o ID do perímetro de serviço que você quer atualizar.RULE_POLICY
: o caminho do arquivo de regra de entrada modificado.
Para mais informações, consulte Como atualizar políticas de entrada e saída de um perímetro de serviço.
Configurar grupos de identidade em regras de saída
Console
Ao atualizar uma política de saída de um perímetro de serviço ou definir uma política de saída durante a criação do perímetro usando o console do Google Cloud , é possível configurar a regra de saída para usar grupos de identidade.
Ao criar ou editar um perímetro no console Google Cloud , selecione Política de saída.
Na seção De da política de saída, escolha Selecionar identidades e grupos na lista Identidades.
Clique em Adicionar identidades.
No painel Adicionar identidades, especifique um grupo do Google ou uma identidade de terceiros que possa acessar os recursos especificados fora do perímetro. Para especificar um grupo de identidades, use o formato especificado em Grupos de identidades compatíveis.
Clique em Adicionar identidades.
Clique em Salvar.
Para informações sobre os outros atributos de regra de saída, consulte Referência de regras de saída.
gcloud
É possível configurar uma regra de saída para usar grupos de identidade com um arquivo JSON ou YAML. O exemplo a seguir usa o formato YAML:
- egressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
resources:
- projects/PROJECT_NUMBER
egressFrom:
identities:
- PRINCIPAL_IDENTIFIER
Substitua o seguinte:
PRINCIPAL_IDENTIFIER
: especifique um grupo do Google ou uma identidade de terceiros que possa acessar os recursos especificados fora do perímetro. Para especificar um grupo de identidades, use o formato especificado em Grupos de identidades compatíveis.
Para informações sobre os outros atributos de regra de saída, consulte Referência de regras de saída.
Depois de atualizar uma regra de saída para configurar grupos de identidade, é necessário atualizar as políticas de regra do perímetro de serviço:
gcloud access-context-manager perimeters update PERIMETER_ID --set-egress-policies=RULE_POLICY.yaml
Substitua o seguinte:
PERIMETER_ID
: o ID do perímetro de serviço que você quer atualizar.RULE_POLICY
: o caminho do arquivo de regra de saída modificado.
Para mais informações, consulte Como atualizar políticas de entrada e saída de um perímetro de serviço.
Grupos de identidade compatíveis
O VPC Service Controls é compatível com os seguintes grupos de identidades dos identificadores principais da API IAM v1
:
Tipo principal | Identificador |
---|---|
Grupo | group:GROUP_EMAIL_ADDRESS |
Identidade excluída em um pool de identidade da força de trabalho | principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE |
Todas as identidades da força de trabalho em um grupo | principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID |
Todas as identidades da força de trabalho com um valor de atributo específico | principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE |
Todas as identidades em um pool de identidade da força de trabalho | principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/* |
Identidade única em um pool de Identidade da carga de trabalho | principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE |
Grupo de pools de Identidades da carga de trabalho | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP_ID |
Todas as identidades em um pool de Identidade da carga de trabalho com um determinado atributo | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE |
Todas as identidades em um pool de Identidade da carga de trabalho | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/* |
Para mais informações sobre essas identidades, consulte Identificadores principais para políticas de permissão.
Limitações
- Antes de usar grupos de identidades, entenda os recursos sem suporte em regras de entrada e saída.
- Ao usar grupos de identidade em uma regra de saída, não é possível definir o campo
resources
no atributoegressTo
como"*"
. - Para informações sobre limites de entrada e saída, consulte Cotas e limites.