Private Service Connect コンシューマーのセキュリティを管理する
このページでは、Private Service Connect を使用するコンシューマー組織と VPC ネットワークのセキュリティをサービス ユーザーが構成する方法について説明します。
組織のポリシーを使用すると、管理者は Private Service Connect エンドポイントとバックエンドを使用して、プロジェクトに接続できる VPC ネットワークまたは組織を幅広く制御できます。VPC ファイアウォール ルールとファイアウォール ポリシーを使用すると、ネットワーク管理者は Private Service Connect リソースへのネットワーク レベルのアクセスを制御できます。組織のポリシーとファイアウォール ルールは相互補完的に使用できます。
ロール
組織のポリシーを管理するために必要な権限を取得するには、組織に対する組織ポリシー管理者(roles/orgpolicy.policyAdmin
)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
ファイアウォール ルールの作成に必要な権限を取得するには、VPC ネットワークに対する Compute ネットワーク管理者(roles/compute.networkAdmin
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
コンシューマーに関する組織のポリシー
組織のポリシーとリスト型制約を使用すると、Private Service Connect のエンドポイントまたはバックエンドのデプロイを制御できます。エンドポイントまたはバックエンドがコンシューマーの組織のポリシーによってブロックされている場合、リソースの作成は失敗します。
詳細については、コンシューマー側の組織のポリシーをご覧ください。
エンドポイントとバックエンドが未承認のサービス アタッチメントに接続できないようにする
リソース: エンドポイントとバックエンド
gcloud
新しいポリシーを保存するために、
/tmp/policy.yaml
という名前の一時ファイルを作成します。次の内容をファイルに追加します。name: organizations/CONSUMER_ORG/policies/compute.restrictPrivateServiceConnectProducer spec: rules: - values: allowedValues: - under:organizations/PRODUCER_ORG_NUMBER - under:organizations/433637338589
次のように置き換えます。
CONSUMER_ORG
: エンドポイントとバックエンドの接続を制御する組織の組織リソース ID。PRODUCER_ORG_NUMBER
: エンドポイントとバックエンドを接続するプロデューサー組織の数値リソース ID。
エンドポイントとバックエンドが Google 所有のサービス アタッチメントに接続しないようにするには、
allowedValues
セクションから- under:organizations/433637338589
を削除します。プロジェクト内のサービス アタッチメントに接続できる組織を追加で指定するには、
allowedValues
セクションに追加のエントリを含めます。組織に加えて、承認済みのフォルダとプロジェクトを次の形式で指定できます。
under:folders/FOLDER_ID
FOLDER_ID
は数値 ID である必要があります。under:projects/PROJECT_ID
PROJECT_ID
は文字列 ID である必要があります。
たとえば、次のコードを使用すると、サービス アタッチメントが許可された値またはその子孫に関連付けられていない限り、
Consumer-org-1
のエンドポイントとバックエンドがサービス アタッチメントに接続できないようにする組織のポリシーを作成できます。指定できる値は、組織Producer-org-1
、プロジェクトProducer-project-1
、フォルダProducer-folder-1
です。name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer spec: rules: - values: allowedValues: - under:organizations/Producer-org-1 - under:projects/Producer-project-1 - under:folders/Producer-folder-1
ポリシーを適用します。
gcloud org-policies set-policy /tmp/policy.yaml
有効なポリシーを表示します。
gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \ --effective \ --organization=CONSUMER_ORG
コンシューマーによる接続タイプごとのエンドポイントのデプロイをブロックする
リソース: エンドポイント
gcloud
新しいポリシーを保存するために、
/tmp/policy.yaml
という名前の一時ファイルを作成します。コンシューマー組織のユーザーが Google API に接続するエンドポイントを作成できないようにするには、次の内容をファイルに追加します。
name: organizations/CONSUMER_ORG/policies/compute.disablePrivateServiceConnectCreationForConsumers spec: rules: - values: allowedValues: - SERVICE_PRODUCERS
コンシューマー組織のユーザーが公開サービスに接続するエンドポイントを作成できないようにするには、次の内容をファイルに追加します。
name: organizations/CONSUMER_ORG/policies/compute.disablePrivateServiceConnectCreationForConsumers spec: rules: - values: allowedValues: - GOOGLE_APIS
CONSUMER_ORG
は、エンドポイントのデプロイを制御するコンシューマー組織の名前に置き換えます。ポリシーを適用します。
gcloud org-policies set-policy /tmp/policy.yaml
有効なポリシーを表示します。
gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \ --effective \ --organization=CONSUMER_ORG
ファイアウォール ルール
リソース: すべて
VPC ファイアウォール ルールまたはファイアウォール ポリシーを使用して、Private Service Connect リソースへのアクセスを制御できます。下り(外向き)ファイアウォール ルールでは、VM インスタンスからエンドポイントやバックエンドの IP アドレスまたはサブネットへのアクセスをブロックまたは許可できます。
たとえば、図 1 は、ファイアウォール ルールによって Private Service Connect エンドポイントが接続されているサブネットへのアクセスを制御する構成を示しています。
次のファイアウォール ルールは、エンドポイント サブネットへのすべての下り(外向き)トラフィックを拒否します。
gcloud compute firewall-rules create deny-all \ --network=vpc-1 \ --direction=egress \ --action=deny \ --destination-ranges=10.33.0.0/24 --priority=1000
次の優先度の高いファイアウォール ルールでは、
allow-psc
ネットワーク タグを持つ VM のエンドポイント サブネットへの下り(外向き)トラフィックが許可されます。gcloud compute firewall-rules create allow-psc \ --network=vpc-1 \ --direction=egress \ --action=allow \ --target-tags=allow-psc \ --destination-ranges=10.33.0.0/24 --priority=100
ファイアウォール ルールを使用してエンドポイントまたはバックエンドへのアクセスを制限する
VM からエンドポイントまたはバックエンド サブネットへのアクセスを制限するには、次のようにします。
エンドポイントまたはバックエンド サブネットへの下り(外向き)トラフィックを拒否するファイアウォール ルールを作成します。
gcloud compute firewall-rules create deny-all \ --network=NETWORK \ --direction=egress \ --action=deny \ --destination-ranges=ENDPOINT_SUBNET_RANGE \ --priority=1000
次のように置き換えます。
NETWORK
: エンドポイントまたはバックエンドのネットワークの名前。ENDPOINT_SUBNET_RANGE
: アクセスを制御するエンドポイントまたはバックエンド サブネットの IP CIDR 範囲。
タグ付けされた VM からエンドポイントまたはバックエンド サブネットへの下り(外向き)トラフィックを許可する 2 つ目のファイアウォール ルールを作成します。
gcloud compute firewall-rules create allow-psc \ --network=NETWORK \ --direction=egress \ --action=allow \ --target-tags=allow-psc \ --destination-ranges=ENDPOINT_SUBNET_RANGE \ --priority=100