入站规则和出站规则支持的身份

VPC Service Controls 使用入站和出站规则 来控制对服务边界内资源和客户端的访问以及来自它们的访问。如需进一步细化访问权限,您可以在入站和出站规则中指定受支持的身份。

本页列出了 VPC Service Controls 支持的身份及其标识符格式。

支持的身份

VPC Service Controls 支持允许政策的主账号标识符 中的以下身份,这些身份使用 IAM v1 API:

身份类型 主账号类型 标识符
单个主账号 用户账号 user:USER_EMAIL_ADDRESS
服务账号 serviceAccount:SA_EMAIL_ADDRESS
身份群组和第三方身份 群组 group:GROUP_EMAIL_ADDRESS
员工身份池中的单个身份 principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
群组中的所有员工身份 principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID
具有特定属性值的所有员工身份 principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
员工身份池中的所有身份 principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/*
工作负载身份池中的单个身份 principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
工作负载身份池组 principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP_ID
工作负载身份池中具有特定属性的所有身份 principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
工作负载身份池中的所有身份 principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*
代理身份 代理身份 principal://TRUST_DOMAIN/AGENT_UNIQUE_IDENTIFIER
信任域中具有特定属性的所有代理身份 principalSet://TRUST_DOMAIN/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
信任域中的所有代理身份 principalSet://TRUST_DOMAIN/*

如需详细了解这些身份,请参阅允许政策的 主账号标识符

VPC Service Controls 还支持以下 SPIFFE 格式的第三方员工和工作负载身份:

身份类型 主账号类型 标识符
SPIFFE 格式的员工身份 员工身份池中的单个身份 principal://POOL_ID.global.workforce.id.goog/SUBJECT_ATTRIBUTE_VALUE
员工身份池中的所有身份(作为具有特定属性的信任域) principalSet://POOL_ID.global.workforce.id.goog/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
员工身份池中的所有身份(作为信任域) principalSet://POOL_ID.global.workforce.id.goog/*
SPIFFE 格式的工作负载身份 工作负载身份池中的单个身份 principal://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/SUBJECT_ATTRIBUTE_VALUE
工作负载身份池中的所有身份(作为具有特定属性的信任域) principalSet://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
工作负载身份池中的所有身份(作为信任域) principalSet://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/*

已删除的 IAM 主账号

为了帮助您管理引用已删除账号的服务边界,VPC Service Controls 允许您启用对已删除 IAM 主账号标识符的支持。默认情况下,尝试更新或列出包含已删除主账号的边界会失败,并显示 The email address is invalid or non-existent 错误。如需了解详情, 请参阅 排查常见问题

如需检索或更新包含已删除主账号的边界,请使用 Access Context Manager API。在请求(例如 getlistpatch 方法)中,将 deletedPrincipalSyntax 参数 (REST) 或 deleted_principal_syntax 字段 (gRPC) 设置为 DELETED_PRINCIPAL_SYNTAX_SUPPORT_ENABLED

如需了解详情,请参阅 RESTgRPC 参考页面。

例如,您可以使用以下 curl 命令获取边界:

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"

如需查看支持已删除 语法的 IAM 主账号类型列表,请参阅 允许政策的主账号标识符

限制

以下限制适用于 VPC Service Controls 边界中已删除的 IAM 主账号:

  • VPC Service Controls 仅支持使用 IAM v1 API 的已删除 IAM 主账号。它不支持使用 IAM v2v3 API 的已删除主账号。
  • 访问权限级别中已删除的 IAM 主账号不受支持。
  • VPC Service Controls 服务边界规则也不支持 IAM 中不支持 deleted: 前缀语法的主账号。
  • 您最多可以在访问权限政策中指定 500 个已删除的身份。

后续步骤