本頁說明如何在輸入和輸出規則中使用身分群組,允許存取受服務範圍保護的資源。
VPC Service Controls 會使用輸入和輸出規則,允許存取受服務範圍保護的資源和用戶端,以及從這些資源和用戶端存取資料。如要進一步調整存取權,您可以在輸入和輸出規則中指定身分群組。
身分群組可讓您輕鬆對一組使用者套用存取權控管,並管理具有類似存取權政策的身分。
如要在輸入或輸出規則中設定身分群組,您可以在 identities
屬性中使用下列支援的身分群組:
- Google 群組
-
VPC Service Controls 不支援 Workload Identity Federation for GKE。
如要瞭解如何套用輸入和輸出規則政策,請參閱「設定輸入和輸出政策」。
事前準備
- 請務必詳閱輸入和輸出規則。
在連入規則中設定身分群組
控制台
使用 Google Cloud 控制台更新服務安全防護範圍的連入政策,或在建立安全防護範圍時設定連入政策時,您可以將連入規則設為使用身分群組。
在 Google Cloud 控制台中建立或編輯安全防護範圍時,請選取「Ingress policy」(連入政策)。
在 Ingress 政策的「From」部分中,從「身分」清單選取「選取身分和群組」。
按一下「新增身分」。
在「新增身分」窗格中,指定要授予周邊資源存取權的 Google 群組或第三方身分。如要指定身分群組,請使用「支援的身分群組」中指定的格式。
按一下「新增身分」。
按一下 [儲存]。
如要瞭解其他 Ingress 規則屬性,請參閱「Ingress 規則參考資料」。
gcloud
您可以使用 JSON 檔案或 YAML 檔案,設定要使用身分識別群組的 Ingress 規則。以下範例使用 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 群組或第三方身分。如要指定身分群組,請使用「支援的身分群組」中指定的格式。
如要瞭解其他 Ingress 規則屬性,請參閱「Ingress 規則參考資料」。
更新現有 Ingress 規則以設定身分群組後,您需要更新服務範圍的規則政策:
gcloud access-context-manager perimeters update PERIMETER_ID --set-ingress-policies=RULE_POLICY.yaml
更改下列內容:
PERIMETER_ID
:要更新的服務範圍 ID。RULE_POLICY
:已修改的 Ingress 規則檔案路徑。
詳情請參閱更新服務安全防護範圍的輸入和輸出政策。
在輸出規則中設定身分群組
控制台
使用 Google Cloud 控制台更新服務安全防護範圍的輸出政策,或在建立安全防護範圍時設定輸出政策時,您可以將輸出規則設為使用身分群組。
在 Google Cloud 控制台中建立或編輯安全防護範圍時,請選取「輸出政策」。
在輸出政策的「From」(來源) 部分,從「Identities」(身分) 清單中選取「Select identities & groups」(選取身分和群組)。
按一下「新增身分」。
在「新增身分」窗格中,指定可存取周邊範圍外特定資源的 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 群組或第三方身分。如要指定身分群組,請使用「支援的身分群組」中指定的格式。
如要瞭解其他輸出規則屬性,請參閱「輸出規則參考資料」。
更新現有輸出規則以設定身分群組後,您需要更新服務安全防護範圍的規則政策:
gcloud access-context-manager perimeters update PERIMETER_ID --set-egress-policies=RULE_POLICY.yaml
更改下列內容:
PERIMETER_ID
:要更新的服務範圍 ID。RULE_POLICY
:修改後的輸出規則檔案路徑。
詳情請參閱更新服務安全防護範圍的輸入和輸出政策。
支援的 ID 群組
VPC Service Controls 支援下列身分群組 (來自 IAM v1
API 主體 ID):
主體類型 | ID |
---|---|
群組 | 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 集區群組 | 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/* |
如要進一步瞭解這些身分,請參閱允許政策的主體 ID。
限制
- 使用身分群組前,請先瞭解傳入和傳出規則中不支援的功能。
- 在輸出規則中使用身分群組時,您無法將
egressTo
屬性中的resources
欄位設為"*"
。 - 如要瞭解輸入和輸出規則限制,請參閱「配額與限制」一文。