VPC Service Controls 會使用輸入和輸出規則,控管對 service perimeter 內資源和用戶端的存取權,以及從這些資源和用戶端存取資料。如要進一步調整存取權,您可以在輸入和輸出規則中指定支援的身分。
本頁面列出 VPC Service Controls 支援的身分,以及這些身分的 ID 格式。
支援的 ID
VPC Service Controls 支援下列身分 (來自允許政策的主體 ID,使用 IAM v1 API):
| 身分類型 | 主體類型 | ID |
|---|---|---|
| 單一主體 | 使用者帳戶 | 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/* |
|
| workload identity pool 中的單一身分 | principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE |
|
| workload identity pool 群組 | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP_ID |
|
| 具有特定屬性的 workload identity pool 中的所有身分 | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE |
|
| 特定 workload identity pool 中的所有身分 | 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/* |
如要進一步瞭解這些身分,請參閱「允許政策的主體 ID」。
VPC Service Controls 也支援下列 SPIFFE 格式,適用於第三方員工和工作負載身分:
| 身分類型 | 主體類型 | ID |
|---|---|---|
| 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 格式的工作負載身分 | workload identity pool 中的單一身分 | principal://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/SUBJECT_ATTRIBUTE_VALUE |
| 具有特定屬性的 workload identity pool 中的所有身分 (做為信任網域) | principalSet://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE |
|
| 信任網域中 workload identity pool 的所有身分 | principalSet://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/* |
已刪除的 IAM 主體
為協助您管理參照已刪除帳戶的服務範圍,VPC Service Controls 可讓您啟用對已刪除 IAM 主體 ID 的支援。根據預設,嘗試更新或列出含有已刪除主體的 perimeter 時,會因 The email address is invalid or
non-existent 錯誤而導致失敗。詳情請參閱「排解常見問題」。
如要擷取或更新含有已刪除主體的服務範圍,請使用 Access Context Manager API。在要求中,將 deletedPrincipalSyntax 參數 (REST) 或 deleted_principal_syntax 欄位 (gRPC) 設為 DELETED_PRINCIPAL_SYNTAX_SUPPORT_ENABLED,例如 get、list 或 patch 方法。
舉例來說,您可以使用下列 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 主體類型清單,請參閱「允許政策的主體 ID」。
限制
在 VPC Service Controls 邊界中,已刪除的 IAM 主體有下列限制:
- VPC Service Controls 僅支援使用 IAM
v1API 的已刪除 IAM 主體。不支援使用 IAMv2或v3API 刪除的主體。 - 存取層級不支援已刪除的 IAM 主體。
- VPC Service Controls 服務安全防護範圍規則也不支援 IAM 中不支援
deleted:前置字元語法的主體。 - 存取權政策最多可指定 500 個已刪除的身分。