エンドユーザーとして認証

ほとんどの状況で、Google Cloud Platform(GCP)API に対する認証用のサービス アカウントを使用することをおすすめします。ある状況においては、ユーザーに直接認証してもらうことが必要な場合があります。次に例を示します。

  • アプリケーションのエンドユーザーに代わってリソースにアクセスする必要がある場合。たとえば、アプリケーションのユーザーに属する Google BigQuery データセットにアプリケーションがアクセスする必要がある場合などです。

  • アプリケーションではなく自分自身で認証する必要がある場合。たとえば、Cloud Resource Manager API は、特定のユーザーが所有するプロジェクトの作成と管理が可能であるため、代わりにプロジェクトを作成するユーザーとして認証する必要があります。

このガイドでは、エンドユーザー認証情報について説明します。アプリケーションへのユーザーの認証については説明しません。その使用例については、Firebase 認証をおすすめします。

エンドユーザーの認証情報を取得

アプリケーションがユーザーの代わりにリソースにアクセスする必要がある場合、そのアプリケーションはユーザーに同意画面を提示します。ユーザーがアクセスを許可すると、アプリケーションは承認サーバーから認証情報を要求します。認証情報によって、アプリケーションはユーザーの代わりにリソースにアクセスできます。

このプロセスは OAuth 2.0 と呼ばれるプロトコルです。

OAuth 2.0 フロー
アプリ
ユーザーの同意
ユーザーデータ

OAuth 2.0 と、この使用例向けにアプリケーションをセットアップする方法については、OAuth 2.0 をご覧ください。

ユーザー リソースへのアクセスの要求

GCP API への認証にサービス アカウントを使用すると、GCP はすべての API にアクセスできるサービス アカウントを自動的に認証します。エンドユーザーとして認証する場合は、OAuth スコープを手動で指定する必要があります。OAuth スコープにより、アプリケーションがエンドユーザーの代わりに実行できる操作が制限されます。たとえば、これらの操作には Cloud Storage からの読み込みや、GCP プロジェクトの管理などが含まれます。

使用可能な OAuth スコープの詳細については、特定の API ページをご覧ください。たとえば、Compute Engine API に disks.get() メソッドを使用する場合は、これらの OAuth スコープのいずれかを設定する必要があります。使用例に基づいて必要な最小スコープを設定します。

プロジェクト リソースへのアクセスの許可と制限

エンドユーザー認証情報を使用してプロジェクト内のリソースにアクセスする場合は、プロジェクト内のリソースへのユーザー アクセス権を付与する必要があります。Google Cloud Identity and Access Management(Cloud IAM)に役割を設定することで、GCP でこれを行います。

ユーザーがアクセスできるリソースを制限することができます。これは、所有するプロジェクトのリソースにユーザーがアクセスできるようにしている場合が特に該当します。ユーザーが必要とする最低限の権限に従って役割を設定します。

各サービスには一連の Cloud IAM の役割があります。代わりにカスタムの役割を作成する場合に選択することができます。詳細については、役割についてカスタムの役割の作成と管理をご覧ください。

次のステップ

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

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