組織へのプロジェクトの移行

Google Cloud の組織リソースがドメインに作成されたら、既存のプロジェクトをその組織に移行できます。プロジェクトを移行するには、プロジェクトのオーナーであると同時に、組織のプロジェクト作成者である必要があります。

組織リソースの作成後に作成したプロジェクトは、すべて自動的に組織リソースに属します。組織にプロジェクトを移行するには、Cloud Console、Resource Manager API、または gcloud コマンドライン ツールを使用します。

組織内のプロジェクトの移行

プロジェクトが組織に関連付けられている場合、Google Cloud サポートを介さずにプロジェクトを組織なしに戻すことや、別の組織に移行することはできません。プロジェクトを組織に関連付けた後で移行しなければならない場合は、他の組織へのプロジェクトの移行をご覧ください。

組織なしのプロジェクトの移行

API または gcloud ツールを使用してプロジェクトを移行するには、次の権限が必要です。

  • 移行先組織の resourcemanager.projects.create。通常は、プロジェクト作成者のロールによって付与されます。

  • 移行するプロジェクトの resourcemanager.projects.update および resourcemanager.projects.setIAMPolicy。通常は、オーナーのロールによって付与されます。

Google Cloud Console を使用してプロジェクトを移行するには、移行先組織の resourcemanager.organizations.get 権限も必要です。これらの権限がない場合、移行先の組織は Google Cloud Console に表示されません。

プロジェクトの移行を元に戻すことはできません。プロジェクトが組織に関連付けられた後は、ユーザーが自分でプロジェクトを [組織なし] に戻すことや、別の組織に移動することはできません。プロジェクトが組織に関連付けられた後、そのプロジェクトを移動する場合は、Google Cloud サポートにご連絡ください。

Console

組織にプロジェクトを移行するには:

  1. Cloud Console で [IAM と管理] > [設定]ページを開きます。

    [設定] ページを開く

  2. ページの上部にあるプロジェクト選択ツールを選択します。

  3. 組織選択ツールから、[組織なし] を選択します。組織に関連付けられていない場合は、組織選択ツールは表示されないため、この手順は省略できます。

  4. 移行するプロジェクトを選択します。

    プロジェクト選択ツールのスクリーンショット

  5. ページの上部にある [移行] をクリックします。

  6. [組織] プルダウン リストで、プロジェクトの移行先となる組織を選択します。

プロジェクトを組織に追加した後は、ユーザーが単独でこの操作を元に戻すことはできません。

gcloud

組織にプロジェクトを移行するには、以下のコマンドを実行します。

gcloud alpha projects move PROJECT_ID /
    --organization ORGANIZATION_ID

ここで

  • PROJECT_ID は、組織に移動するプロジェクトの ID です。
  • ORGANIZATION_ID は、プロジェクトの移動先となる組織の ID です。

プロジェクトを組織に追加した後は、ユーザーが単独でこの操作を元に戻すことはできません。

API

Resource Manager API を使用して、parent フィールドを組織の組織 ID に設定することで、組織リソースにプロジェクトを移動できます。

組織にプロジェクトを移行するには:

  • projects.get() メソッドを使用して project オブジェクトを取得します。
  • parent フィールドを組織の組織 ID に設定します。
  • projects.update() メソッドを使用して、project オブジェクトを更新します。

設定した parent フィールドは変更できません。

次のコード スニペットは、上記の手順を示しています。

    project = crm.projects().get(projectId=flags.projectId).execute()
    project['parent'] = {
        'type': 'organization',
        'id': flags.organizationId
    }

    project = crm.projects().update(
    projectId=flags.projectId, body=project).execute()

ポリシーの影響に関する注意

プロジェクトをインポートすると、そのプロジェクトにすでに定義されている IAM ポリシーもインポートされます。つまり、プロジェクトが組織に移行されても、移行前にプロジェクトに対する権限を持っていたユーザーは、引き続きその権限を維持するということです。

IAM 権限は継承、追加型であるため、組織レベルで定義された役割がある場合、それらの役割は組織への移行時にプロジェクトに継承されます。たとえば、bob@myorganization.com が組織レベルで定義されたプロジェクト編集者の役割を持つ場合、このユーザーは組織に移行されたすべてのプロジェクトにおいてもこの役割を持つことになります。これは既存のプロジェクト内の要素に悪影響を及ぼすことはありませんが、より多くのユーザーが継承によってアクセス権を得る可能性があります。

同様に、組織のポリシーも下位の階層に継承されます。デフォルトでは、組織の作成時には組織のポリシーは定義されていません。その後組織のポリシーを定義した場合は、プロジェクトを組織に移行する際に、プロジェクトがそのようなポリシーと整合するように注意する必要があります。

既存の請求先アカウントの移行

既存の Cloud 請求先アカウントを持つ G Suite または Cloud Identity のお客様は、そのアカウントを組織に移行できます。Cloud 請求先アカウントを組織に移行しても、プロジェクトのサービスに影響はありません。

請求先アカウントを移行するには、次のロールが必要です。

  • 移行する Cloud 請求先アカウントの請求先アカウント管理者である必要があります。
  • Cloud 請求先アカウントを移行する組織の請求先アカウント作成者である必要があります。
  • 既存の組織から Cloud 請求先アカウントを移行する場合は、Cloud 請求先アカウントを移行する組織の請求先アカウント管理者である必要があります。

これらのロールの付与については、Cloud Billing アクセス制御の概要をご覧ください。

既存の請求先アカウントを組織に移行する手順は次のとおりです。

  1. Cloud Console の [お支払い] ページに移動します。
    [お支払い] ページに移動
  2. [組織の選択] メニューから組織を選択すると、関連する Cloud 請求先アカウントが表示されます。また、どの組織にも関連付けられていない請求先アカウントを表示するには、[組織なし] を選択します。
  3. [請求先アカウント名] で、移行する Cloud 請求先アカウントの名前をクリックします。請求先アカウントの概要ページが開きます。
  4. [お支払い] ナビゲーション メニューで [アカウント管理] をクリックします。
  5. [アカウント管理] ページの上部で、 [組織を変更] をクリックし、Cloud 請求先アカウントを移行する組織を選択します。