輸入和輸出規則支援的身分

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,例如 getlistpatch 方法。

詳情請參閱 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 主體類型清單,請參閱「允許政策的主體 ID」。

限制

在 VPC Service Controls 邊界中,已刪除的 IAM 主體有下列限制:

  • VPC Service Controls 僅支援使用 IAM v1 API 的已刪除 IAM 主體。不支援使用 IAM v2v3 API 刪除的主體。
  • 存取層級不支援已刪除的 IAM 主體。
  • VPC Service Controls 服務安全防護範圍規則也不支援 IAM 中不支援 deleted: 前置字元語法的主體。
  • 存取權政策最多可指定 500 個已刪除的身分。

後續步驟