本页面介绍了如何在入站流量和出站流量规则中使用身份群组来允许访问受服务边界保护的资源。
VPC Service Controls 使用入站流量和出站流量规则来允许访问受服务边界保护的资源和客户端或来自它们的访问。如需进一步细化访问权限,您可以在入站流量和出站流量规则中指定身份群组。
身份群组是将访问权限控制应用于一组用户的一种便捷方式,可让您管理具有类似访问权限政策的身份。
如需在入站流量和出站流量规则中配置身份群组,您可以在 identities
属性中使用以下受支持的身份群组:
- Google 群组
-
VPC Service Controls 不支持 Workload Identity Federation for GKE。
如需了解如何应用入站流量和出站流量规则政策,请参阅配置入站流量和出站流量政策。
准备工作
- 请务必阅读入站流量和出站流量规则。
在入站流量规则中配置身份群组
控制台
使用 Google Cloud 控制台更新服务边界的入站流量政策或在创建边界时设置入站流量政策时,您可以将入站流量规则配置为使用身份群组。
在 Google Cloud 控制台中创建或修改边界时,请选择入站流量政策。
在入站流量政策的来源部分,从身份列表中选择选择身份和群组。
点击添加身份。
在添加身份窗格中,指定您要向其提供边界中资源的访问权限的 Google 群组或第三方身份。如需指定身份群组,请使用 IAM
v1
API 主账号标识符中指定的格式。VPC Service Controls 仅支持 IAM
v1
API 主账号标识符中以group
、principal
和principalSet
为前缀的v1
身份。例如,使用principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/
格式指定群组中的所有员工身份,或使用GROUP_ID group:GROUP_NAME@googlegroups.com
格式指定 Google 群组。点击添加身份。
点击保存。
如需了解其他入站流量规则属性,请参阅入站流量规则参考。
gcloud
您可以使用 JSON 文件或 YAML 文件配置入站流量规则以使用身份群组。以下示例使用 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
替换以下内容:
PRINCIPAL_IDENTIFIER
:指定您要向其提供边界中资源的访问权限的 Google 群组或第三方身份。如需指定身份群组,请使用 IAMv1
API 主账号标识符中指定的格式。VPC Service Controls 仅支持 IAM
v1
API 主账号标识符中以group
、principal
和principalSet
为前缀的v1
身份。例如,使用principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/
格式指定群组中的所有员工身份,或使用GROUP_ID group:GROUP_NAME@googlegroups.com
格式指定 Google 群组。
如需了解其他入站流量规则属性,请参阅入站流量规则参考。
更新现有入站流量规则以配置身份群组后,您需要更新服务边界的规则政策:
gcloud access-context-manager perimeters update PERIMETER_ID --set-ingress-policies=RULE_POLICY.yaml
替换以下内容:
PERIMETER_ID
:您要更新的服务边界的 ID。RULE_POLICY
:修改后的入站流量规则文件的路径。
如需了解详情,请参阅更新服务边界的入站流量和出站流量政策。
在出站流量规则中配置身份群组
控制台
当您使用 Google Cloud 控制台更新服务边界的出站流量政策或在创建边界时设置出站流量政策时,可以将出站流量规则配置为使用身份群组。
在 Google Cloud 控制台中创建或修改边界时,请选择出站流量政策。
在出站流量政策的来源部分中,从身份列表中选择选择身份和群组。
点击添加身份。
在添加身份窗格中,指定可访问边界外指定资源的 Google 群组或第三方身份。如需指定身份群组,请使用 IAM
v1
API 主账号标识符中指定的格式。VPC Service Controls 仅支持 IAM
v1
API 主账号标识符中以group
、principal
和principalSet
为前缀的v1
身份。例如,使用principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/
格式指定群组中的所有员工身份,或使用GROUP_ID group:GROUP_NAME@googlegroups.com
格式指定 Google 群组。点击添加身份。
点击保存。
如需了解其他出站流量规则属性,请参阅出站流量规则参考。
gcloud
您可以使用 JSON 文件或 YAML 文件配置出站流量规则以使用身份群组。以下示例使用 YAML 格式:
- egressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
resources:
- projects/PROJECT_NUMBER
egressFrom:
identities:
- PRINCIPAL_IDENTIFIER
替换以下内容:
PRINCIPAL_IDENTIFIER
:指定可访问边界外指定资源的 Google 群组或第三方身份。如需指定身份群组,请使用 IAMv1
API 主账号标识符中指定的格式。VPC Service Controls 仅支持 IAM
v1
API 主账号标识符中以group
、principal
和principalSet
为前缀的v1
身份。例如,使用principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/
格式指定群组中的所有员工身份,或使用GROUP_ID group:GROUP_NAME@googlegroups.com
格式指定 Google 群组。
如需了解其他出站流量规则属性,请参阅出站流量规则参考。
更新现有出站流量规则以配置身份群组后,您需要更新服务边界的规则政策:
gcloud access-context-manager perimeters update PERIMETER_ID --set-egress-policies=RULE_POLICY.yaml
替换以下内容:
PERIMETER_ID
:您要更新的服务边界的 ID。RULE_POLICY
:修改后的出站流量规则文件的路径。
如需了解详情,请参阅更新服务边界的入站流量和出站流量政策。
限制
- 在使用身份群组之前,请了解入站流量规则和出站流量规则中不受支持的功能。
- 如果您在出站流量规则中使用身份群组,则无法将
egressTo
属性中的resources
字段设置为"*"
。 - 如需了解入站流量和出站流量规则限制,请参阅配额和限制。