上り(内向き)ルールと下り(外向き)ルールでサポートされている ID

VPC Service Controls は、上り(内向き)ルールと下り(外向き)ルール を使用して、サービス境界内のリソースとクライアントへのアクセスを制御します。アクセスをさらに絞り込むには、上り(内向き)ルールと下り(外向き)ルールでサポートされている ID を指定します。

このページでは、VPC Service Controls でサポートされている ID とその識別子の形式について説明します。

サポートされている ID

VPC Service Controls は、許可ポリシーの プリンシパル ID から次の ID をサポートしています。これは IAM v1 API を使用します。

ID タイプ プリンシパル タイプ 識別子
単一のプリンシパル ユーザー アカウント user:USER_EMAIL_ADDRESS
サービス アカウント serviceAccount:SA_EMAIL_ADDRESS
ID グループとサードパーティ ID グループ group:GROUP_EMAIL_ADDRESS
Workforce Identity プール内の単一の ID principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
グループ内のすべての Workforce ID principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID
特定の属性値を持つすべての Workforce ID principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
Workforce Identity プール内のすべての ID principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/*
Workload Identity プール内の単一の ID 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 プール内のすべての ID principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
Workload Identity プール内のすべての ID principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*
エージェント ID エージェント ID principal://TRUST_DOMAIN/AGENT_UNIQUE_IDENTIFIER
特定の属性を持つ信頼ドメイン内のすべてのエージェント ID principalSet://TRUST_DOMAIN/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
信頼ドメイン内のすべてのエージェント ID principalSet://TRUST_DOMAIN/*

これらの ID の詳細については、許可ポリシーの プリンシパル ID をご覧ください。

VPC Service Controls は、サードパーティの Workforce Identity と Workload Identity の次の SPIFFE 形式もサポートしています。

ID タイプ プリンシパル タイプ 識別子
SPIFFE 形式の Workforce Identity Workforce Identity プール内の単一の ID principal://POOL_ID.global.workforce.id.goog/SUBJECT_ATTRIBUTE_VALUE
特定の属性を持つ信頼ドメインとしての Workforce Identity プール内のすべての ID principalSet://POOL_ID.global.workforce.id.goog/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
信頼ドメインとしての Workforce Identity プール内のすべての ID principalSet://POOL_ID.global.workforce.id.goog/*
SPIFFE 形式の Workload Identity Workload Identity プール内の単一の ID principal://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/SUBJECT_ATTRIBUTE_VALUE
特定の属性を持つ信頼ドメインとしての Workload Identity プール内のすべての ID principalSet://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
信頼ドメインとしての Workload Identity プール内のすべての ID principalSet://POOL_ID.global.ORGANIZATION_ID.workload.id.goog/*

削除された IAM プリンシパル

削除されたアカウントを参照するサービス境界を管理できるように、VPC Service Controls では、削除された IAM プリンシパル ID のサポートを有効にできます。デフォルトでは、削除されたプリンシパルを含む境界を更新または一覧表示しようとすると、 The email address is invalid or non-existent エラーが発生します。詳細については、 一般的な問題のトラブルシューティングをご覧ください。

削除されたプリンシパルを含む境界を取得または更新するには、Access Context Manager API を使用します。get、list、patch などのリクエストで、deletedPrincipalSyntax パラメータ(REST)または deleted_principal_syntax フィールド(gRPC)を DELETED_PRINCIPAL_SYNTAX_SUPPORT_ENABLED に設定します。

詳細については、REST または gRPC のリファレンス ページをご覧ください。

たとえば、次の 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 v2 API または v3 API を使用する削除されたプリンシパルはサポートしていません。
  • アクセスレベルで削除された IAM プリンシパルはサポートされていません。
  • IAM で deleted: 接頭辞構文をサポートしていないプリンシパルは、VPC Service Controls サービス境界ルールでもサポートされていません。
  • アクセス ポリシーで指定できる削除された ID は最大 500 個です。

次のステップ