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 | Users API は、Google アカウントと Google Workspace アカウントの認証に使用される以前のバンドル サービスの 1 つです。この組み込み 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 についての詳細は、以下をご覧ください。
Firebase ウェブ チュートリアルは、ID プロバイダとしての Google へのユーザーのログインを含む、ウェブサイトで Firebase を使用する方法にフォーカスします。
Firebase のクイックスタート アプリは、連携ログインとユーザー名 / パスワードを使ったログインの例を使用して、プラットフォームで Firebase を統合する方法を示します。サンプルでは、JavaScript SDK を使用した Firebase Authentication に加え、iOS と Android での認証方法を示しています。
Google ログイン
ウェブサイトやアプリで Google ログインボタンを使用したり、ドメインに Google 管理コンソールを使用しており、そのログインに基づいてユーザーを認証する場合、Google ログインを使用できます。Google ログインは、OAuth 2.0 と OpenID Connect プロトコルに基づくログイン クライアント ライブラリです。
Google ログインはウェブアプリ、iOS、Android で利用できます。
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 のクイックスタートをご覧ください。