プロジェクト アクセス権の付与

Google Cloud Platform のプロジェクトとリソースに対するアクセス権限を付与、制御するには役割の割り当てを行います。役割は、プロジェクト メンバーとサービス アカウントに割り当てることができます。

サービス アカウントは、App Engine などの Google Cloud サービス ID を表し、他のサービスへのアクセスに使用できます。

適切なアクセス制御の選択

役割をプロジェクト メンバーやサービス アカウントに割り当てることで、GCP プロジェクトに対するアクセスレベルが決定されます。より細かくアクセス権を制御するには、Identity and Access Management(IAM)を使用します。さまざまな App Engine の役割の詳細については、アクセス制御をご覧ください。

一般に「オーナー」、「編集者」、「閲覧者」という基本の役割は使い方が単純です。一方、事前定義された役割にはアクセス権をさらに細かく制御できるオプションが用意されています。App Engine を試してみるだけであれば、プロジェクトに関与するすべての人に「編集者」の役割を付与するのが、アクセス権を制御する上で最も簡単な方法です。手順については、次の権限を設定するをご覧ください。プロジェクトに App Engine アプリケーションを作成し、他のユーザーをプロジェクトに追加できるのは、オーナーのみであることにご注意ください。

プロジェクトでより複雑な役割を設定する手順は次のとおりです。

  1. プロジェクトにアクセスする必要があるさまざまなユーザーの職務をすべて特定します。

  2. 各職務に対応する Google グループをセットアップします。

  3. 各 Google グループに、必要なメンバーを追加します。

  4. 次の権限を設定するの説明に従って、各 Google グループをプロジェクトのメンバーとして追加し、各グループに役割を設定します。

権限を設定する

プロジェクト メンバーの追加と権限の設定をするには:

  1. Google Cloud Platform Console で、[IAM と管理] のプロジェクトの権限ページに移動します。

    [IAM と管理] のプロジェクトの権限ページに移動

  2. [追加] をクリックしてプロジェクトに新しいメンバーを追加し、プルダウン メニューを使ってその役割を設定します。個々のユーザーのメールアドレスを追加できます。また、Google グループを使用してグループの役割を管理している場合は、Google グループのメールアドレス(example-google-group@googlegroups.com)を指定することもできます。

    メンバーの追加のスクリーン ショット

  3. 役割を割り当てます。

App Engine のすべての役割の説明と比較マトリクスを参照し、制限事項について確認するには、アクセス制御に移動します。

プルダウン メニューには、上記の他に App Engine 以外の Google Cloud Platform プロダクトで使用される役割が含まれます。これらの役割の詳細については、事前定義された役割をご覧ください。

IAM の役割を使用してデプロイする

適切な IAM の役割をユーザー アカウントに割り当てることによって、新しいバージョンのアプリを GCP プロジェクトにデプロイする権限を付与できます。

App Engine デプロイ担当者役割は、アプリのデプロイのみを担当するユーザー アカウントに推奨される役割です。App Engine 管理者役割でもアプリをデプロイできますが、その他の権限も付与されています。デプロイする構成ファイルによっては、以下の手順で説明するように、アカウントに追加の役割を付与しなければならない場合があります。

トラフィックの構成

デフォルトでは、App Engine デプロイ担当者の役割を持つユーザー アカウントは、デプロイ先となるアプリのバージョンにかかわらず、トラフィックの移行や分割が許可されていません。ただし、デプロイ先がすでにトラフィックを処理している既存のバージョンである場合、アプリの更新後のバージョンは、更新前のバージョンのトラフィック設定をそのまま受け継ぎます。

たとえば、現在、アプリのバージョン 20201155example がトラフィックを処理しているとします。このとき gcloud app deploy --version 20201155example コマンドを実行すると、バージョンが更新され、既存のバージョンを上書きしてトラフィックの処理を開始します。

ユーザー アカウントがトラフィックの構成を担当する必要がある場合は、App Engine 管理者または App Engine Service 管理者の役割の使用を検討してください。

始める前に

ユーザー アカウントで IAM の役割を使用してアプリをデプロイするには、以下の手順を実施します。

App Engine へデプロイする権限をユーザー アカウントに付与するには:

  1. Google Cloud Platform Console で、[IAM と管理] のプロジェクトの権限ページに移動します。

    権限ページに移動

  2. [追加] をクリックしてユーザー アカウントをプロジェクトに追加し、プルダウン メニューを使用してそのアカウントに設定するすべての役割を選択します。

    • アカウントが App Engine にデプロイできるようにするために必要な役割:
      1. 次のいずれかの役割を設定します。
        • [App Engine] > [App Engine デプロイ担当者] の役割を使用して、アカウントが任意のバージョンのアプリをデプロイできるようにします。
        • アプリとともに dos.yaml ファイルまたは dispatch.yaml ファイルもデプロイできるようにするには、[App Engine] > [App Engine 管理者] の役割を使用します。
        これで、ユーザー アカウントに、Admin API を使用してアプリをデプロイするための適切な権限が付与されました。
      2. App Engine のツールを使用してアプリをデプロイできるようにするには、ユーザー アカウントに [ストレージ] > [ストレージ管理者] の役割を付与する必要があります。これにより、Cloud Storage へアップロードするための権限がツールに付与されます。
    • 省略可。追加の構成変更をアップロードする権限を付与するには、ユーザー アカウントに次の役割を与えます。
      • [Datastore] > [Datastore インデックス管理者] の役割: index.yaml ファイルをアップロードする権限。
      • [Cloud Scheduler] > [Cloud Scheduler 管理者] の役割: cron.yaml ファイルをアップロードする権限。
      • [Cloud Tasks] > [クラウド タスクキュー管理者] の役割: queue.yaml ファイルをアップロードする権限。

これで、ユーザー アカウントは、関連する GCP プロジェクトで App Engine アプリケーションにアプリをデプロイできるようになりました。アプリのデプロイ方法の詳細については、アプリのデプロイをご覧ください。

上記の手順で権限を構成してもアカウントがアプリをデプロイできない場合は、App Engine アプリケーションが作成されていることを確認する必要があります。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

PHP 5 の App Engine スタンダード環境