はじめに
アイデンティティの基礎
Auth0をアプリケーションやAPIに統合するためにIAMの専門知識を身につける必要はありませんが、いくつかの主要なコンセプトを押さえておくと、ユースケースに合わせた適切な構成を選択できます。詳細は、「IDおよびアクセス管理(IAM)について」の記事をお読みください。実装の計画に関してまだご不明な点がある場合は、実際のシナリオを使って詳しく説明している「アーキテクチャシナリオ」のセクションをご覧ください。Auth0との統合
Auth0との統合を始めるにあたり、初期セットアップと素早い構成に役立つインタラクティブなQuickstartガイドを利用するか、Auth0 Dashboardでアプリケーションを手動登録するかを選べます。Dashboardではさらに、テナントを作成するか、一からAuth0インスタンスを作成する方法があります。SDKを使用したい場合は、各アプリケーションタイプに応じたオプションからお選びください。Auth0ライブラリーですべての選択肢をご覧いただけます。 まずはDashboardのテナント設定で、ユーザーに表示される名前、会社のロゴ、コールバックURL、認証後にAuth0がユーザーをリダイレクトする場所など、一般的な詳細を構成することから始めましょう。推奨される構成は「テナント設定」で確認できます。 テナントをセットアップし終えたら、アプリケーションまたはAPIの作成と構成に取りかかります。出発点として、「アプリケーションの作成」または「APIを登録する」の記事にある手順を参考にしてください。認証
認証の手段となるのが、ユーザーがアプリケーションにアクセスするための仲立ちとなるログインフォームです。ユーザーは事前に定められたユーザー名やパスワードなどの資格情報をログインフォームに入力して、自らのデジタルIDを確認します。 Auth0のユニバーサルログインは、ブランドに合わせてカスタマイズし、安全なアクセスを提供するよう構成できるログインフォームです。ユニバーサルログインには以下のような利点があります。- 生体認証を使用したパスワードレスログイン
- メールや音声、Duoなどの多要素認証の選択肢
- シングルサインオン()機能
- ローカリゼーションのサポート
- 署名を含むヘッダー
- 要求者に関するステートメントと属性を含むペイロード
- トークンが有効であることを確認する署名
ユーザーの管理
ユーザープロファイルとアクセスの管理には時間がかかります。そこでAuth0インスタンスでユーザーを管理すると、悩みの種をいくつか取り除くことができます。 Auth0 DashboardまたはManagement APIで、CRUD操作を簡単に自動化し、ユーザープロファイルを照会できます。また、Auth0 Organizationsでユーザーをカテゴリー分けし、管理スタイルに合わせて顧客ベースを整理できます。詳細は、当社ドキュメントの「ユーザーの管理」をご覧ください。 ビジネスモデルによって、ユーザーのアクセスがレベル分けされている場合があります。たとえば、一部のユーザーには読み取り専用のアクセス許可を、別のユーザーには編集のアクセス許可を与えるというようにです。Auth0のAuthorization Coreでは、Role-based Access Controlを実装できます。ロールを作成し、ユーザーに割り当てて、アクセス許可を定義します。さらに堅牢な認可モデルが必要な場合には、Fine-Grained Authorization(FGA)を使用します。では認可ポリシーを決定するためのオプションが豊富にあり、ユーザーとリソースとの関係、ユーザーのロール、またはユーザーやリソースの属性に基づいて、ユーザーにリソースへのアクセスを許可できます。 ブラウザーの動作に基づいてアクセスを管理する場合は、セッションのライフタイムを制限できます。セッション、つまり要求元のエンティティーとアプリケーションまたはリソース間のインタラクションには、ライフタイムの制限があります。セッションは、ユーザーがブラウザーを閉じるか、Webページ外に移動する際に終了できます。セッションを延長するには、アクセストークンを更新するリフレッシュトークンを使います。リフレッシュトークンはDashboardで構成します。詳細は、「セッションライフタイムの制限」と「リフレッシュトークンの取得」をお読みください。 Cookie(データの文字列)はセッションに結び付けられ、認証されたユーザーを表します。Cookieを使用すると、認証されたユーザーはセッションを維持し、再認証を求められることなくWebページ間を移動できます。ブラウザーが閉じると、Cookieはブラウザーによって消去されます。カスタマイズ
ブランドは重要です。Auth0ではログインエクスペリエンスをビジネスに合わせてパーソナライズできるようカスタマイズ機能を提供しています。ロゴとカラースキームをログインフォームに追加したり、カスタムドメインを使用してログインURLの所有権を得たりすることができます。構成の詳細については、「カスタムドメイン」をお読みください。 ユニバーサルログインには、ニーズに合わせて認証を構成する、多要素認証やデバイスの生体認証によるパスワードレス認証、ローカリゼーションといった、さまざまな機能が備わっています。さらに細かいレベルでは、ユーザーにアクションの完了を求める際に表示するプロンプトのテキストを調整することができます。また、ユーザーがサインアップする、認証用のデバイスを登録する、またはユーザーが確認のために入力するコードをメール/SMSに送信するためのプロンプトを構成することができます。さらに、新規ユーザーへのウェルカムメールや、登録の確認メール、パスワードのリセットメールなどのカスタマイズにはメールテンプレートをご用意しています。詳細は、「ユニバーサルログインのテキスト要素をカスタマイズする」と「メールテンプレートをカスタマイズする」をお読みください。 他にも、Auth0 Actionsを使って特定のイベントを構成することが可能です。アクションはランタイム中に実行される安全な関数です。アクションはパイプラインのさまざまなポイントでトリガーされ、多様な用途があります。たとえば、ユーザーがサインアップする前にメタデータを追加したり、ユーザーを外部サイトにリダイレクトすることができます。アクションの役割については、「Auth0 Actionsの仕組みを理解する」をお読みください。セキュリティ保護
悪意ある攻撃はいつ起こるか予想できません。Auth0ではサイバー攻撃を防ぐために、Google reCAPTCHA Enterpriseを活用したボット検知など、さまざまな攻撃防御オプションを提供しています。ボット検知の構成の詳細は、「ボット検知」をお読みください。 独自のログインページを使用している場合でも、Auth0ではAuth0 Dashboardで有効にできるその他のセキュリティオプションをご用意しています。- 侵害されたパスワードの検出
- 総当たり攻撃防御
- 不審なIPのスロットリング