Python 2 は、コミュニティによるサポートを終了しました。Python 2 アプリを Python 3 に移行することをおすすめします。

ユーザー認証のオプション

Google では、Google Cloud アプリケーションでユーザーを認証する複数の方法を提供しています。

各メソッドには次のように異なる目的があります。

認証サービス 目的
Firebase Authentication Google、Facebook、Twitter など、複数のユーザー認証オプションを提供します。維持するコードを最小限に抑えつつ、最大数のユーザーをサポートします。
Google ログイン Google ログインは、Gmail や Google Workspace アカウントのログインを提供し、ワンタイム パスワード(OTP)もサポートします。既存のログイン システムの中では、Google 専用アカウントまたは Google アカウントをサポートするうえで最も簡単な方法です。
OAuth 2.0 と OpenID Connect OpenID Connect を使用すると、大部分のカスタマイズで最初から認証トークンを処理し、使用できます。
Google Cloud Identity Platform Identity Platform は、Identity and Access Management 機能を自社アプリケーションに組み込むための顧客 ID とアクセス管理(CIAM)プラットフォームです。このオプションは、独自の ID プロバイダを使用するユーザーに最適です。
Users API App Engine の組み込みの Users API サービスを使用して、Google アカウントや Google Workspace アカウントを認証します。
Users API サービスはおすすめしません。このサービスを使用するアプリは App Engine でのみ実行できます。
Identity-Aware Proxy(IAP) IAP を使用すると、リクエストがアプリケーション リソースに到達する前に、App Engine サービスへのアクセスを制御できます。IAP を使用すると、アプリケーションの一元的な承認レイヤを確立し、署名済みヘッダーまたは App Engine Users API と連携してアプリを保護できます。
この表の他の認証サービスとは異なり、IAP は、アプリに到達する前に認証を実行します。このページの他の方法では、アプリに認証を実装します。

Firebase Authentication

Firebase Authentication は、ユーザーが使用したいすべてのアカウントでのログインをサポートする堅牢で安全性の高いオールインワン認証システムを提供します。Firebase Authentication は、Google、Facebook、Twitter などの連携ログイン方式に加えて、パスワード認証をサポートします。さらに、アプリの成長に伴い、認証システムの簡単なスケーリングを可能にします。

Firebase Authentication は、Google App Engine アプリに対し最も簡単にユーザー認証を設定する方法です。Firebase Authentication についての詳細は、以下をご覧ください。

Google ログイン

ウェブサイトやアプリに Google ログインボタンを表示する場合や、ドメインに Google Workspace の管理コンソールを使用し、そのログイン情報に基づいてユーザーを認証する場合には、Google ログインを使用できます。これは、OAuth 2.0 と OpenID Connect プロトコル対応の Google ログイン クライアント ライブラリです。

Google ログインはウェブアプリiOSAndroid で利用できます。

OAuth 2.0 と OpenID Connect

Google ログインは Google による OAuth 2.0 実装がベースであり、OpenID Connect 仕様に準拠し、OpenID Certified を受けています。

OpenID Connect は OAuth 2.0 プロトコルの上にある ID レイヤで、アプリでこれを使用してユーザー プロフィール情報を取得できます。

Identity Platform

Identity Platform は、ユーザーの登録とログインを管理するカスタマイズ可能なドロップイン ID と認証サービスを提供します。Identity Platform は、さまざまな認証方法(SAML、OIDC、メールアドレスとパスワード、ソーシャル、電話、カスタム認証)に幅広く対応し、あらゆる ID ソリューションと統合できる柔軟性を備えています。Identity Platform は、Google Cloud のグローバル スケール、パフォーマンス、ネットワーク、セキュリティを基盤に構築されており、ほぼすべてのアプリやサービスの要求に応えるよう、エンタープライズ グレードのサポートと SLA を提供します。

Identity Platform は独自のユーザー ID システムを提供します。ドメインですでに Google Workspace を使用していて、そのログインに基づいてユーザーを認証する場合は、Google ログインを使用する必要があります。

Identity Platform と App Engine の統合については、App Engine でのユーザーのログインに関する入門ガイドをご覧ください。

Users API

Users API で、アプリケーションは次のタスクを実行できます。

  • 現在のユーザーのログイン状況を検出します。
  • 適切なログインページにユーザーをリダイレクトします。
  • ユーザーが新しい Google アカウントをまだ作成していない場合、ユーザーにそれを作成するよう要求します。

ユーザーがアプリケーションにログイン済みのときは、アプリケーションがユーザーのメールアドレスにアクセスできます。アプリケーションは現在のユーザーが管理者かどうかを判断することもできるので、アプリケーションの管理者専用ページを簡単に実装できます。

詳細については、Users API の概要をご覧ください。

Identity-Aware Proxy(IAP)

IAP では、着信する外部リクエストに対し、リソースの前に認証と承認のレイヤを追加してアプリケーションを保護します。IAP は、同じプロジェクト内の別の App Engine など、プロジェクト内のアクティビティから保護することはありません。アプリへのアクセスが承認されていないユーザーは、App Engine アプリへのアクセス権限はありません。

IAP で保護されたサービスまたはアプリケーションにアクセスできるのは、適切な Identity and Access Management(IAM)ロールを持つプリンシパルのみです。ユーザーが IAP で保護されたリソースにアクセスしようとすると、IAP が認証チェックと認可チェックを行います。IAP でアプリケーション リソースを保護する方法については、IAP の概要をご覧ください。

IAP は、アプリ全体に対して有効にすることも、アプリの特定のサービスまたはバージョンに対して有効にすることもできます。App Engine リソース用に IAP を構成する方法については、IAP のクイックスタートをご覧ください。