TL

Cloud Service

Identity Platform

アプリにユーザー認証(サインアップ・ログイン)を提供する Google Cloud のフルマネージド CIAM サービス。多数のプロバイダと多要素認証に対応し、AWS Cognito に相当。

中級セキュリティ
最終更新: 2026-06-14公式ドキュメント ↗
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、と捉えると整理しやすいです。

内部の仕組み

クライアント(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