ドメインの所有権を確認する
計画と設計
ドメイン戦略を選択する
- ブランド別: ブランドごとに個別のカスタムドメインを設定する (例:
login.brand1.com,login.brand2.com) - リージョン別: コンプライアンスやパフォーマンスを考慮して、リージョンごとにドメインを分ける (例:
login.us.example.com,login.eu.example.com) - 顧客別: エンタープライズ顧客ごとに専用ドメインを用意する (例:
login.customer1.com,login.customer2.com) - ハイブリッド: 複数の戦略を組み合わせる (例: ブランド + リージョン:
login-us.brand1.com)
デフォルトドメインを設定する
- ドメイン固有の動作を必要としないアプリケーションの設定を簡素化できる
- メール通知のフォールバックを提供できる
- API 呼び出しでドメインを明示的に指定する必要性を減らせる
login.company.com または admin.company.com) を使用してください。
スケールを見据えた計画
- ドメインの割り当てを文書化する: どのアプリケーションがどのドメインを使用しているかを、明確に記録しておきます
- ドメインのパターンを確保する: 将来必要になる可能性のあるドメインを登録しておきます
- 上限を監視する: ドメイン数が利用可能な上限に対してどの程度かを追跡します
- 拡張を見据えて計画する: 追加のドメインにも対応できるようにアーキテクチャを設計します
メタデータを活用して整理しやすくする
brand: ブランド識別子 (例: “BrandA”、“BrandB”)region: 地理的リージョン (例: “us-east”、“eu-west”)environment: 環境の種類 (例: “production”、“staging”)customer_id: 顧客またはテナントの識別子support_email: ドメイン固有のサポート連絡先purpose: ドメインの用途 (例: “customer-portal”、“admin-portal”)
- メールのカスタマイズ: メタデータに基づいてメールテンプレートをカスタマイズ
- Actions のロジック: ドメイン固有の認証ルールを実装
- フィルタリングと検索: 管理ツールでドメインを整理
- レポート: ブランド、リージョン、または顧客ごとに使用状況とパフォーマンスを追跡
セキュリティ
- ドメイン検証: 認証を特定のカスタムドメインのみに制限し、不正なドメイン利用を防ぎます
- 組織の分離: ユーザーが承認済みのドメイン経由でのみ組織にアクセスできるようにします
- 証明書管理: 証明書のライフサイクルを安全に管理します
Actions でのドメイン検証
組織 ベースのアクセス制御
証明書の管理
- 有効期限を監視: 証明書の有効期限に関するアラートを設定します
- 更新を自動化: 自動更新には Auth0 管理の証明書 を使用します
- 自己管理の手順を文書化: 自己管理証明書を使用している場合は、明確な運用手順書を整備します
パフォーマンス
リージョン別ドメインを使用する
- 例:
login-us.example.com,login-eu.example.com,login-ap.example.com
認証時の遅延は、カスタムドメイン名ではなく、Auth0 テナントがどのリージョンにデプロイされているかによって決まります。テナントのリージョンは、ユーザーが所在する地域に基づいて選択してください。
ブランディングとユーザーエクスペリエンス
ブランディングの一貫性を保つ
- Universal Login: ドメインメタデータを使って、ドメインごとにログインページをカスタマイズする
- メールテンプレート: カスタムドメイン変数を使ってメールをパーソナライズする
- アプリケーション UI: アプリケーションのブランディングを認証体験に合わせる
パスキーの管理
- 明確に伝える: パスキーはドメインごとに作成されることをユーザーに明確に伝えます
- 登録を促す: 3回目のログイン後にパスキーの登録を促します
- 登録状況を把握する: ユーザーがどのドメインでパスキーを登録しているかを把握します
- サポートを提供する: パスキー管理に関するわかりやすいドキュメントを提供します
ユーザーとのコミュニケーション
- 事前に伝える: ブランドやポータルによってログインURLが異なる場合があることを説明する
- 利用方法を案内する: どのドメインを使うべきかをユーザーが理解できるようにする
- エラーに適切に対応する: ユーザーが誤ったドメインにアクセスしようとした場合は、わかりやすいエラーメッセージを表示する
- サポートドキュメントを整備する: ドメイン構成についてのわかりやすいドキュメントを維持する
運用と保守
監視とアラート
- 証明書の有効期限: 有効期限の30日前、15日前、7日前にアラートを出す
- ドメイン検証ステータス: 検証失敗を監視する
- 認証の失敗: カスタムドメインごとの失敗を追跡する
- DNSの稼働状況: すべてのカスタムドメインのDNS名前解決を監視する
- APIパフォーマンス: ドメイン操作に関するManagement APIのレイテンシを追跡する
ドキュメント
- ドメイン一覧: すべてのカスタムドメインの一覧 (メタデータと用途を含む)
- アプリケーションの対応関係: どのアプリケーションがどのドメインを使用しているか
- 運用手順書: 一般的な運用作業 (ドメインの追加、証明書の更新、トラブルシューティング) の手順
- アーキテクチャ図: ドメイン構成を視覚的に示した図
- 連絡先情報: 各ドメインの担当チーム/担当者
テスト
- 機能テスト: 各カスタムドメインで認証が正しく行われることを確認する
- 連携テスト: すべてのアプリケーションを、それぞれに割り当てられたカスタムドメインでテストする
- メールテスト: メールで正しいカスタムドメインが使用されていることを確認する
- フェイルオーバーテスト: 既定のドメインへのフォールバックをテストする
- 性能テスト: カスタムドメイン経由の認証に対して負荷テストを実施する
変更管理
- まずステージングで検証する: 非本番環境で変更をテストする
- 段階的に展開する: まずは一部のドメインを対象に変更を展開する
- 注意深く監視する: 展開中に問題が発生しないか確認する
- ロールバック計画を用意する: 必要に応じて変更を元に戻せるようにしておく
- 変更を周知する: 予定している変更を関係者に通知する
よくある落とし穴
ドメイン構造を複雑にしすぎない
- 避けるべきパターン: 想定されるあらゆるバリエーションごとにカスタムドメインを作成する
- より良いアプローチ: まずは中核となる少数のドメインから始め、必要に応じて増やしていく
すべての連携箇所を忘れずに更新する
- アプリケーションのコールバックURL
- ソーシャルプロバイダーのリダイレクトURI
- エンタープライズ接続のエンドポイント
- トークンの検証ロジック
- 監視とアラートのルール
ドキュメント整備をおろそかにしない
- アンチパターン: 組織内の暗黙知に頼る
- よりよいアプローチ: ドメインの割り当て内容、メタデータの意味、運用手順を文書化する
証明書の管理をおろそかにしないでください
- アンチパターン: 証明書の有効期限切れを見過ごすこと
- よりよいアプローチ: 監視と更新のプロセスを自動化すること
認証コンテキストを混在させない
- アンチパターン: 関係のないブランドや顧客で同じカスタムドメインを使い回す
- より良いアプローチ: 異なる認証コンテキストを明確に分けて管理する