ユーザーの認証

Google では、Cloud Platform アプリケーションでアプリのユーザーを認証する複数の方法を提供しています。各メソッドには次のように異なる目的があります。

認証サービス 目的
Firebase Authentication 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 プロバイダを使用するユーザーに最適です。
Identity-Aware Proxy IAP を使用すると、リクエストがアプリケーション リソースに到達する前に、フレキシブル環境アプリケーションへのアクセスを制御できます。IAP を使用すると、アプリケーションの一元的な承認レイヤを確立し、署名済みヘッダーでアプリを保護します。

この表の他の認証サービスとは異なり、IAP はアプリが到達する前に認証を行います。このページの他のオプションでは、アプリに認証を実装します。

Firebase Authentication

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

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

  • Firebase ウェブ チュートリアルは、ID プロバイダとしての Google へのユーザーのログインを含む、ウェブサイトで Firebase を使用する方法にフォーカスします。

  • Firebase Quickstart Apps は、連携ログインとユーザー名 / パスワードを使ったログインの例を使用して、プラットフォームで Firebase を統合する方法を示します。サンプルでは、JavaScript SDK を使用した Firebase Authentication に加え、iOSAndroid での認証方法を示しています。

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 を受けています。OAuth 2.0 を使用すると、Identity-Aware Proxy(IAP)で保護されたリソースにプログラムで認証を実装できます。

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 でのユーザーのログインに関する入門ガイドをご覧ください。

Identity-Aware Proxy(IAP)

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

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

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