O VPC Service Controls usa regras de entrada e saída para controlar o acesso de e para recursos e clientes dentro dos perímetros de serviço. Para refinar ainda mais o acesso, especifique as identidades compatíveis nas regras de entrada e saída.
Esta página lista as identidades compatíveis com o VPC Service Controls e os formatos de identificador delas.
Identidades compatíveis
O VPC Service Controls é compatível com as seguintes identidades dos identificadores principais
para políticas de permissão, que usam a API
v1 do IAM:
| Tipo de identidade | Tipo principal | Identificador |
|---|---|---|
| Principais únicos | Contas de usuário | user:USER_EMAIL_ADDRESS |
| Contas de serviço | serviceAccount:SA_EMAIL_ADDRESS |
|
| Grupos de identidade e identidades de terceiros | 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 Identidades de 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/* |
|
|
Federação de Identidade da Carga de Trabalho para GKE (visualização) |
Todos os pods do GKE que usam uma conta de serviço do Kubernetes por nome | principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/subject/ns/NAMESPACE/sa/KUBERNETES_SERVICE_ACCOUNT |
| Todos os pods do GKE que usam uma conta de serviço do Kubernetes por ID | principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/kubernetes.serviceaccount.uid/SERVICEACCOUNT_ID |
|
| Todos os pods do GKE em um namespace do Kubernetes, independentemente da conta de serviço ou do cluster | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/namespace/NAMESPACE |
|
| Todos os pods do GKE em um cluster | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/kubernetes.cluster/https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME |
|
| Identidades do agente | Identidade do agente | principal://TRUST_DOMAIN/AGENT_UNIQUE_IDENTIFIER |
| Todas as identidades de agente em um domínio de confiança com um determinado atributo | principalSet://TRUST_DOMAIN/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE |
|
| Todas as identidades de agente em um domínio de confiança | principalSet://TRUST_DOMAIN/* |
Para mais informações sobre essas identidades, consulte Identificadores principais para políticas de permissão.
O VPC Service Controls também oferece suporte aos seguintes SPIFFE formatos para identidades de carga de trabalho e de força de trabalho de terceiros:
| Tipo de identidade | Tipo principal | Identificador |
|---|---|---|
| Identidades da força de trabalho no formato SPIFFE | Identidade única em um pool de identidades de força de trabalho | principal://POOL_ID.global.workforce.id.goog/SUBJECT_ATTRIBUTE_VALUE |
| Todas as identidades em um pool de identidades da força de trabalho como um domínio de confiança com um determinado atributo | principalSet://POOL_ID.global.workforce.id.goog/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE |
|
| Todas as identidades em um pool de identidades da força de trabalho como um domínio de confiança | principalSet://POOL_ID.global.workforce.id.goog/* |
|
| Identidades da carga de trabalho no formato SPIFFE | Identidade única em um pool de Identidade da carga de trabalho | principal://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/SUBJECT_ATTRIBUTE_VALUE |
| Todas as identidades em um pool de Identidade da carga de trabalho como um domínio de confiança com um determinado atributo | principalSet://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE |
|
| Todas as identidades em um pool de Identidade da carga de trabalho como um domínio de confiança | principalSet://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/* |
Considerações sobre a Federação de Identidade da Carga de Trabalho para GKE
- Um limite de 1.000 principais da Federação de Identidade da Carga de Trabalho para GKE por política de acesso é aplicado. Para mais informações, consulte Cotas e limites.
- Os principais da Federação de Identidade da Carga de Trabalho para GKE não oferecem suporte a sintaxe principal excluída.
- É possível especificar os principais da Federação de Identidade da Carga de Trabalho para GKE usando
o formato completo do identificador principal do IAM (por exemplo,
principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/subject/ns/NAMESPACE/sa/KUBERNETES_SERVICE_ACCOUNT) ou o formato SPIFFE equivalente (por exemplo,principal://PROJECT_ID.svc.id.goog/ns/NAMESPACE/sa/KUBERNETES_SERVICE_ACCOUNT). Ao descrever ou recuperar um perímetro de serviço que contém regras criadas com a sintaxe SPIFFE, o VPC Service Controls retorna a identidade no formato SPIFFE.
Principais do IAM excluídos
Para ajudar a gerenciar perímetros de serviço que referenciam contas excluídas, o VPC Service Controls permite ativar o suporte para identificadores principais do IAM excluídos. Por padrão, tentar atualizar ou listar perímetros que
contêm principais excluídos falha com um The email address is invalid or
non-existent erro. Para mais informações,
consulte Solução de problemas comuns.
Para recuperar ou atualizar perímetros que contêm principais excluídos, use a API Access Context Manager. Defina o parâmetro deletedPrincipalSyntax (REST)
ou o campo deleted_principal_syntax (gRPC) como
DELETED_PRINCIPAL_SYNTAX_SUPPORT_ENABLED em uma solicitação, como os métodos
get, list ou patch.
Para mais informações, consulte as páginas de referência REST ou gRPC.
Por exemplo, é possível usar o seguinte comando curl para receber um perímetro:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/accessPolicies/\
POLICY_NAME/servicePerimeters/PERIMETER_NAME?\
deletedPrincipalSyntax=DELETED_PRINCIPAL_SYNTAX_SUPPORT_ENABLED"
Para uma lista de tipos principais do IAM que oferecem suporte à sintaxe excluída, consulte Identificadores principais para políticas de permissão.
Limitações
As limitações a seguir se aplicam aos principais do IAM excluídos nos perímetros do VPC Service Controls:
- O VPC Service Controls oferece suporte apenas aos principais do IAM excluídos que usam a API
v1do IAM. Ele não oferece suporte a principais excluídos que usam as APIsv2ouv3do IAM. - Os principais do IAM excluídos nos níveis de acesso não são compatíveis.
- Os principais que não oferecem suporte à sintaxe do prefixo
deleted:no IAM também não são compatíveis com as regras de perímetro de serviço do VPC Service Controls. - É possível especificar no máximo 500 identidades excluídas em uma política de acesso.