Shared VPC の設定で権限エラーが発生した場合の対処方法

Shared VPC の設定で権限エラーが発生した場合の対処方法

Google Cloud で複数プロジェクト間のネットワークを一元管理したいとき、Shared VPC(共有 VPC)は欠かせない機能です。 この記事では、Shared VPC 設定時の権限エラーの解消方法について、実際のサポート事例をもとに詳しく解説します。
Clock Icon2025.07.20

困っていた内容

「host-project」というプロジェクトの VPC のサブネットに、別プロジェクト(app-project)からアクセスしたい。そのために Shared VPC を設定しようとしたところ、Google Cloud コンソールで「Enable and Continue」をクリックしても

Required 'compute.organizations.enableXpnHost' permission for 'projects/host-project'

というエラーが表示され、Shared VPC の有効化ができませんでした。

  • プロジェクトのオーナー権限は持っている
  • 組織管理者(Organization Administrator)もいるが、該当権限がない
  • どの権限を誰に付与すればよいか分からない

回答

Shared VPC の有効化に必要な権限

Shared VPC のセットアップには、プロジェクトのオーナー権限だけでなく、組織・フォルダレベルでの追加権限が必要です。具体的には、組織またはフォルダレベルで IAM ロール compute.xpnAdminresourcemanager.projectIamAdmin の権限付与が必要です。

権限の付与方法

  1. 組織管理者(Organization Administrator) でログイン
  2. Shared VPC を管理するユーザー(例: projectowner@example.com)に、組織またはフォルダレベルで以下のロールを付与
    • roles/compute.xpnAdmin
    • roles/resourcemanager.projectIamAdmin
  3. プリンシパル(ユーザーやサービスアカウント)が組織またはフォルダに属していることを確認

サービスプロジェクト側の権限

サービスプロジェクトからホストプロジェクトのネットワークにアクセスするには、ホストプロジェクト側でサービスプロジェクト管理者に roles/compute.networkUser を付与する必要があります。

やってみた

実際に Google Cloud コンソールを利用して、ホスト側の設定をしてみます。

1. 必要なロールを付与

Google Cloud コンソールを利用して、Shared VPC ホスト側で操作するユーザーに対して組織レベルで以下 2 つのロールを付与します。

  • Compute Shared VPC 管理者(compute.xpnAdmin)
  • Project IAM 管理者(resourcemanager.projectIamAdmin)

スクリーンショット 2025-07-20 071719

2. Shared VPC の有効化

  1. Google CLoud コンソールにおいて、「VPC ネットワーク」、「共有 VPC」を選択した後に、「共有 VPC の設定」を押下します。

スクリーンショット 2025-07-20 081726

  1. 「有効にして続行」を押下した後に、必要な情報を入力して保存ボタンを押下します

スクリーンショット 2025-07-20 081804

3. サービスプロジェクト管理者へのネットワーク権限の付与

ホストプロジェクト(host-project)で、サービスプロジェクト管理者に roles/compute.networkUser を付与します。

スクリーンショット 2025-07-20 092731

ホスト側の設定が完了しました。これで、ホスト側から共有したサブネットをサービスプロジェクト側において利用できるようになりました。

スクリーンショット 2025-07-20 083732

Shared VPC の概念図は、Google Cloud 公式ブログの以下の図が分かりやすいと思います。Shared VPC は、ネットワーク管理を一元化するために利用します。

Shared VPC : 複数プロジェクトにまたがる仮想ネットワークを一元管理 | Google Cloud 公式ブログ
ypM4Ke820iknCDrlu0Vb25Z95bvGlBiBqbRHeIWRk6Kf.max-700x700

まとめ

Shared VPC は Google Cloud 組織(Organization)リソースが必須の機能です。個人の Gmail アカウントで利用しているプロジェクトなど、組織に属していない環境では利用できない点にご注意ください。

この記事がどなたかのお役に立てば幸いです。

参考資料

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.