このページでは、上り(内向き)ルールと下り(外向き)ルールで ID グループを使用して、サービス境界で保護されたリソースへのアクセスを許可する方法について説明します。
VPC Service Controls は、上り(内向き)ルールと下り(外向き)ルールを使用して、サービス境界で保護されたリソースとクライアントに関するアクセスを可能にします。アクセスをさらに絞り込むには、上り(内向き)ルールと下り(外向き)ルールで ID グループを指定します。
ID グループを使用すると、ユーザーの集合にアクセス制御を簡単に適用できます。また、同様のアクセス ポリシーを持つ ID を管理することもできます。
上り(内向き)ルールまたは下り(外向き)ルールで ID グループを構成するには、identities
属性で次のサポートされている ID グループを使用します。
- Google グループ
- Workforce Identity や Workload Identity などのサードパーティ ID(プレビュー)。
上り(内向き)ルールと下り(外向き)ルールのポリシーを適用する方法については、上り(内向き)と下り(外向き)のポリシーを構成するをご覧ください。
始める前に
- 上り(内向き)ルールと下り(外向き)ルールを必ず読んでください。
上り(内向き)ルールで ID グループを構成する
Console
Google Cloud コンソールを使用してサービス境界の上り(内向き)ポリシーを更新する場合や、境界の作成時に上り(内向き)ポリシーを設定する場合は、ID グループを使用するように上り(内向き)ルールを構成できます。
Google Cloud コンソールで境界を作成するとき、または境界を編集するときに、[上り(内向き)ポリシー] を選択します。
Ingress ポリシーの [API クライアントの FROM 属性] ペインで、[ID] リストから [ID とグループを選択] を選択します。
[選択] をクリックします。
[ID を追加] ダイアログで、境界内のリソースへのアクセス権を付与する Google グループまたはサードパーティ ID(プレビュー)を指定します。ID グループを指定するには、IAM
v1
API プリンシパル ID で指定されている形式を使用します。VPC Service Controls は、IAM
v1
API プリンシパル ID の接頭辞group
、principal
(プレビュー)、principalSet
(プレビュー)で始まるv1
ID のみをサポートします。たとえば、principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/
形式を使用してグループ内のすべての Workforce ID を指定するか、GROUP_ID group:GROUP_NAME@googlegroups.com
形式を使用して Google グループを指定します。[保存] をクリックします。
他の上り(内向き)ルール属性については、上り(内向き)ルールのリファレンスをご覧ください。
gcloud
JSON ファイルまたは YAML ファイルを使用して、ID グループを使用する上り(内向き)ルールを構成できます。次のサンプルでは、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 グループまたはサードパーティ ID(プレビュー)を指定します。ID グループを指定するには、IAMv1
API プリンシパル ID で指定されている形式を使用します。VPC Service Controls は、IAM
v1
API プリンシパル ID の接頭辞group
、principal
(プレビュー)、principalSet
(プレビュー)で始まるv1
ID のみをサポートします。たとえば、principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/
形式を使用してグループ内のすべての Workforce ID を指定するか、GROUP_ID group:GROUP_NAME@googlegroups.com
形式を使用して Google グループを指定します。
他の上り(内向き)ルール属性については、上り(内向き)ルールのリファレンスをご覧ください。
既存の上り(内向き)ルールを更新して ID グループを構成したら、サービス境界のルールポリシーを更新する必要があります。
gcloud access-context-manager perimeters update PERIMETER_ID --set-ingress-policies=RULE_POLICY.yaml
次のように置き換えます。
PERIMETER_ID
: 更新するサービス境界の ID。RULE_POLICY
: 変更した上り(内向き)ルール ファイルのパス。
詳細については、サービス境界の上り(内向き)ポリシーと下り(外向き)ポリシーの更新をご覧ください。
下り(外向き)ルールで ID グループを構成する
Console
Google Cloud コンソールを使用してサービス境界の下り(外向き)ポリシーを更新する場合、または境界の作成時に下り(外向き)ポリシーを設定する場合は、ID グループを使用するように下り(外向き)ルールを構成できます。
Google Cloud コンソールで境界を作成または編集する場合は、[下り(外向き)ポリシー] を選択します。
下り(外向き)ポリシーの [API クライアントの FROM 属性] ペインで、[ID] リストから [ID とグループを選択] を選択します。
[選択] をクリックします。
[ID を追加] ダイアログで、境界外の指定リソースにアクセスできる Google グループまたはサードパーティ ID(プレビュー)を指定します。ID グループを指定するには、IAM
v1
API プリンシパル ID で指定されている形式を使用します。VPC Service Controls は、IAM
v1
API プリンシパル ID の接頭辞group
、principal
(プレビュー)、principalSet
(プレビュー)で始まるv1
ID のみをサポートします。たとえば、principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/
形式を使用してグループ内のすべての Workforce ID を指定するか、GROUP_ID group:GROUP_NAME@googlegroups.com
形式を使用して Google グループを指定します。[保存] をクリックします。
他の下り(外向き)ルール属性については、下り(外向き)ルールのリファレンスをご覧ください。
gcloud
JSON ファイルまたは YAML ファイルを使用して、ID グループを使用する下り(外向き)ルールを構成できます。次のサンプルでは、YAML 形式を使用します。
- egressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
resources:
- projects/PROJECT_NUMBER
egressFrom:
identities:
- PRINCIPAL_IDENTIFIER
次のように置き換えます。
PRINCIPAL_IDENTIFIER
: 境界外の指定されたリソースにアクセスできる Google グループまたはサードパーティ ID(プレビュー)を指定します。ID グループを指定するには、IAMv1
API プリンシパル ID で指定されている形式を使用します。VPC Service Controls は、IAM
v1
API プリンシパル ID の接頭辞group
、principal
(プレビュー)、principalSet
(プレビュー)で始まるv1
ID のみをサポートします。たとえば、principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/
形式を使用してグループ内のすべての Workforce ID を指定するか、GROUP_ID group:GROUP_NAME@googlegroups.com
形式を使用して Google グループを指定します。
他の下り(外向き)ルール属性については、下り(外向き)ルールのリファレンスをご覧ください。
既存の下り(外向き)ルールを更新して ID グループを構成したら、サービス境界のルールポリシーを更新する必要があります。
gcloud access-context-manager perimeters update PERIMETER_ID --set-egress-policies=RULE_POLICY.yaml
次のように置き換えます。
PERIMETER_ID
: 更新するサービス境界の ID。RULE_POLICY
: 変更した下り(外向き)ルール ファイルのパス。
詳細については、サービス境界の上り(内向き)ポリシーと下り(外向き)ポリシーの更新をご覧ください。
制限事項
- ID グループを使用する前に、上り(内向き)ルールと下り(外向き)ルールでサポートされていない機能を確認してください。
- 下り(外向き)ルールで ID グループを使用する場合、
egressTo
属性のresources
フィールドを"*"
に設定することはできません。 - 上り(内向き)ルールと下り(外向き)ルールの上限については、割り当てと上限をご覧ください。