クラウドサービス

Identity Platform

認証機能を自前で作らずアプリに組み込めるフルマネージド CIAM。サインアップ・ログインに加え多数のプロバイダーと多要素認証へ対応する Identity Platform。AWS Cognito に相当。

中級セキュリティ
最終更新: 2026-07-29公式ドキュメント
3つの要点
TL;DR
  1. 自社アプリのエンドユーザー認証を肩代わりするマネージド CIAM。
  2. メール・SNS・電話・SAML/OIDC・匿名など多様なプロバイダーと MFA に対応。
  3. 発行された ID トークンで API を保護。AWS Cognito に相当し従量課金。

解決する課題

自社アプリやサービスのエンドユーザー認証を、自前で作らずに任せたいときに使います。Cloud IAM が「Google Cloud のリソースに誰がアクセスできるか」を制御するのに対し、Identity Platform は「あなたのアプリにログインするのは誰か」を扱う、いわゆる CIAM(顧客 ID とアクセス管理)です。

  • パスワードのハッシュ保存・リセット・ブルートフォース対策などを自作するとバグと脆弱性の温床になる → マネージドな認証基盤に任せたい
  • Google・Apple・Facebook ログインや、メール・電話番号(SMS)など多様なサインイン方法をまとめて提供したい
  • ログイン後にバックエンド API を保護したい → 検証可能な ID トークン(JWT)で認証状態を引き回したい
  • 金融・行政系などで多要素認証(MFA)やリスクベースの保護を後付けで足したい

対応する AWS のサービスは Amazon Cognito(ユーザープール)です。Firebase Authentication と中身を共有しており、Identity Platform はそこにエンタープライズ向け機能(SAML/OIDC、MFA、マルチテナント、監査ログ等)と SLA を加えた上位版にあたります。

主要概念と用語

  • ユーザー(エンドユーザー): アプリにサインインする一般利用者。Google Cloud にログインする管理者やサービスアカウントとは別物
  • アイデンティティプロバイダー(IdP): 認証の出どころ。メール/パスワード、電話番号(SMS)、フェデレーション系(Google・Apple・Facebook・GitHub 等の OAuth)、企業向けの SAML / OIDC、ゲスト用の匿名認証など
  • ID トークン: 認証成功時に発行される署名付き JWTuid・メール・プロバイダー情報などを含み、バックエンドはこれを検証してユーザーを識別する
  • リフレッシュトークン: 期限切れの ID トークンを再発行するための長期トークン
  • カスタムクレーム: ID トークンに付与できる任意の属性。roletenant などを入れて認可(権限)に使う
  • 多要素認証(MFA): パスワードに加え SMS や TOTP など第二要素を要求する仕組み
  • マルチテナンシー(テナント): 1 プロジェクト内にユーザー集合を論理分割する単位。SaaS で顧客企業ごとにユーザーを分離する用途
  • ブロッキング関数(Blocking Functions): サインアップ/サインイン時に Cloud Functions を割り込ませ、登録の拒否やクレーム付与を行う拡張点

仕様・制限・クォータ

  • グローバルサービスで、ユーザーディレクトリはプロジェクトに紐づく。料金・運用はリージョンに依存しないが、SMS など一部機能の挙動は地域要因を受ける
  • ID トークンは短命(標準で 1 時間程度)。アプリは SDK 経由でリフレッシュトークンを使い自動更新するのが前提
  • 無料枠と上限が用意され、月間アクティブユーザー(MAU)を基準に課金される。SMS(電話認証)など外部コストが伴う機能は別建て課金になりやすい
  • フェデレーション系プロバイダー(Google・Apple 等)は各プロバイダー側の設定・審査・ポリシーに従う必要がある
  • クォータや具体的な料金・トークン有効期限の数値は変動するため、本番設計時は公式ドキュメントで最新値を確認すること
Firebase Auth との関係

Identity Platform と Firebase Authentication は基盤を共有します。クライアント SDK や API はほぼ共通で、SAML/OIDC・MFA・マルチテナント・監査ログ・SLA が必要なら Identity Platform、軽量な利用なら Firebase Auth、と捉えると整理しやすいです。

内部の仕組み

横にスクロール

認証事業者・多要素・テナントを統合し、アプリへ検証済み ID を渡す流れと責任境界を示す図
Identity Platform の顧客認証。SMS や利用者数は費用、厳格化は離脱を招く

クライアント(Web・モバイル)が SDK でサインインを行うと、Identity Platform が IdP との認証フローを仲介し、成功すると署名付き ID トークン(JWT)とリフレッシュトークンを返します。

  1. クライアントが選んだプロバイダーで認証(パスワード照合、OAuth リダイレクト、SMS コード検証など)
  2. 成功すると Identity Platform がユーザーレコードを作成・更新し、uid を確定
  3. ID トークン(JWT)を発行。クライアントはこれを API 呼び出しの Authorization ヘッダに載せる
  4. バックエンドは Admin SDK 等でトークンの署名と有効期限を検証し、uid やカスタムクレームから認可を判断
  5. トークンが切れたらリフレッシュトークンで再発行(再ログイン不要)
認証と認可は別物

ID トークンが有効でも、それは「誰か」を保証するだけです。「何をしてよいか」はアプリ側でカスタムクレームやデータベース上のロールに基づいて判断する必要があります。トークンを信じきって認可を省略しないでください。

設計パターン / ベストプラクティス

  • トークンはサーバー側で必ず検証する: クライアントから来た JWT は Admin SDK で署名・期限・発行者を検証してから信頼する
  • 認可はカスタムクレームで: ロールやテナント ID をカスタムクレームに入れ、API 側はクレームを見て権限を判定する。クレーム付与は信頼できるサーバー側(または ブロッキング関数)で行う
  • SaaS はマルチテナンシーを活用: 顧客企業ごとにテナントを分け、ユーザーや IdP 設定を分離する
  • 企業顧客には SAML / OIDC: 取引先の既存 IdP(社内 SSO)とフェデレーションし、パスワードを自社で持たない
  • 登録時の制御はブロッキング関数で: 許可ドメインのみ登録可にする、初期クレームを付ける、不正登録を弾く、といった処理を割り込ませる
  • 最終的なリソース権限は Cloud IAM 側で: エンドユーザー認証は Identity Platform、Google Cloud リソースの権限は IAM、と役割を分ける

運用・監視

  • Cloud Audit Logs と連携し、ユーザー作成・削除・設定変更などの管理操作を監査できる
  • コンソールのユーザー管理画面でユーザーの一覧・無効化・削除、サインイン方法やテンプレート(確認メール等)の設定を行う
  • 使用量(MAU)を監視し、急増(攻撃や bot 登録)やコスト増を早期に検知する
  • SMS 送信は到達性・コストの観点で監視対象。電話認証は乱用(課金狙いの大量送信)に注意する
  • ユーザーデータのエクスポート / インポート機能で、移行やバックアップ、他環境への複製を行う

コスト

課金は主に月間アクティブユーザー(MAU)ベースで、認証したユーザー数に応じた従量制です。無料枠を超えた分が課金対象となり、料金体系はプロバイダー種別(標準の認証か、フェデレーション/エンタープライズ機能か)で異なる場合があります。

項目課金の考え方備考
基本の認証(MAU)月間アクティブユーザー従量無料枠あり、超過分のみ課金
SAML/OIDC・MFA など上位区分として課金されることがあるエンタープライズ向け機能
電話認証(SMS)送信コストが別途発生地域差・乱用対策に注意
数値は都度確認

無料枠の人数や単価は変動します。設計時は公式の料金ページで最新値を確認し、MAU 見積もりと SMS コストを合わせて試算してください。

セキュリティ

  • 多要素認証(MFA)を有効化し、特に重要操作の前に第二要素を要求する
  • メール確認を必須化し、未確認アドレスでの重要操作を制限する
  • 乱用対策: 電話認証の悪用(課金狙いの大量 SMS)や bot による大量サインアップに備え、レート制限や reCAPTCHA、ブロッキング関数での検証を組み合わせる
  • トークンの取り扱い: ID トークンとリフレッシュトークンを安全に保管し、ログアウト時や侵害時はトークンを失効させる
  • 最小権限: カスタムクレームに過剰な権限を埋め込まず、認可の最終判断はサーバー側のロジックで行う
アンチパターン

クライアントから渡された ID トークンを検証せずに信頼したり、認可判断をフロントエンドだけで完結させるのは危険です。JWT はサーバーで必ず検証し、権限チェックは必ずバックエンドで行ってください。

Well-Architected の観点

  • セキュリティ: 認証の難所(パスワード保管・MFA・トークン署名と検証)をマネージドに委ね、攻撃面を減らせる。フェデレーションで自社にパスワードを持たない構成も取れる
  • 運用: ユーザー管理・監査ログ・テンプレート管理がコンソールと API で完結し、運用負荷が低い
  • 信頼性: フルマネージドで SLA が提供され、スケールはプラットフォーム側が吸収する
  • コスト: MAU 従量で初期費用が小さく、利用量に比例。ただし SMS など外部コストは別管理が必要

試験で問われるポイント

頻出
  • エンドユーザー認証は Identity Platform、Google Cloud リソースの権限は Cloud IAM という役割分担を区別する(混同を狙う設問が出やすい)
  • AWS Cognito(ユーザープール)に相当する CIAM サービスである
  • Firebase Authentication の上位版で、SAML/OIDC・MFA・マルチテナント・監査ログ・SLA が加わる点
  • 認証成功で発行される ID トークン(JWT)はサーバー側で検証して使う。認可はカスタムクレームやアプリ側ロジックで行う
  • 企業顧客の社内 SSO 連携には SAML / OIDC を使う
  • SaaS で顧客ごとにユーザーを分離するなら マルチテナンシー(テナント)

関連サービス・比較

観点Identity Platform(GCP)Amazon Cognito(AWS)
位置づけアプリのエンドユーザー認証(CIAM)ユーザープールによるエンドユーザー認証
発行されるものID トークン(JWT)とリフレッシュトークンID/アクセス/リフレッシュトークン(JWT)
対応プロバイダーメール・電話・SNS・SAML/OIDC・匿名メール・電話・SNS・SAML/OIDC など
多要素認証SMS・TOTP などに対応SMS・TOTP などに対応
テナント分離マルチテナンシー対応ユーザープール分割やテナント設計
クラウド権限制御別サービスの Cloud IAM が担当別サービスの AWS IAM が担当
IAM との違い

名前は似ていますが、Cloud IAM はクラウドリソースへのアクセス制御Identity Platform はアプリ利用者の認証で対象がまったく異なります。両者を併用し、エンドユーザーの認証と、バックエンドが使うサービスアカウントの権限とを分けて設計します。

ハンズオン / CLI例

# プロジェクトで Identity Platform API を有効化
gcloud services enable identitytoolkit.googleapis.com --project=my-project

# メール/パスワード認証を設定するための既定テナント構成を確認
gcloud identity-platform config get --project=my-project

# マルチテナンシー用のテナントを作成(SaaS で顧客ごとに分離する例)
gcloud identity-platform tenants create \
  --display-name="customer-acme" \
  --project=my-project

# 作成済みテナントの一覧を確認
gcloud identity-platform tenants list --project=my-project

Google Cloud Service

Identity Platformを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

セキュリティ・ID

比較で見る軸

クラウド: Google Cloud / カテゴリ: セキュリティ・ID / 難易度: intermediate

導入後に効く点

メール・SNS・電話・SAML/OIDC・匿名など多様なプロバイダーと MFA に対応。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
Google Cloud
カテゴリ
セキュリティ・ID
難易度
intermediate
関連資格
設計柱
security

判断チェックリスト

  • 自社の用途が「セキュリティ・ID / security」に近いか確認する。
  • 強みである「自社アプリのエンドユーザー認証を肩代わりするマネージド CIAM。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

セキュリティ・IDsecurity