ゲートキーパーは以下に概説されている認可を開始します 。さらに レイヤーを追加することで、ユーザーの アイデンティティと製品を保護するための認証が追加されます。 Auth0アイデンティティプラットフォームは、さまざまなアプリケーションタイプとフレームワークをサポートしています。あなたのアプリケーションが通常のWebアプリ、モバイルアプリ、またはマシン間アプリであっても、Auth0は各タイプに最も安全な認可グラント(ワークフロー)の設定を提供します。認可グラントについてより詳しく知り、あなたのアプリケーションに適したものを選ぶには、以下の記事をお読みください どのOAuth 2.0フローを使用すべきか? 安全なプロトコルをサポートすることに加えて、Auth0アイデンティティプラットフォームでは、あなたのビジネス、技術、顧客基盤に合わせてログインサービスをカスタマイズすることができます。 を使用して、お客様を認証および認可するための独自のAuth0インスタンスを作成できます。ログイン動作の設定、ユーザーデータストアの接続、それらのユーザーの管理、認可グラントの選択、認証要素の確立を行い、シームレスでスケーラブルな製品と印象的なユーザーエクスペリエンスを実現できます。

はじめに

アイデンティティの基礎

Auth0をアプリケーションやAPIに統合するためにIAMの専門家である必要はありませんが、いくつかの重要な概念を知っていれば、ユースケースに適した設定を選択できます。詳しく学ぶには、以下の記事をお読みください アイデンティティとアクセス管理(IAM)の紹介。実装の計画についてまだ疑問がある場合は、以下のセクションで実際のシナリオのウォークスルーを確認してください アーキテクチャシナリオ

Auth0との統合

Auth0との統合を開始するには、初期設定とクイック構成のための対話型の クイックスタートガイド から始めるか、Auth0 Dashboardでアプリケーションを手動で登録することができます。Dashboardでは、テナント(つまりあなたのAuth0インスタンス)を一から作成できます。SDKを使用したい場合、Auth0は各アプリケーションタイプに複数のオプションを提供しています。全ての提供物を見るには、以下に移動してください Auth0ライブラリ Dashboardのテナント設定で一般的な詳細から設定を始めることができます。例えば、ユーザーに表示される名前、会社のロゴ、コールバックURL(認証後にAuth0がユーザーをリダイレクトする場所)などです。私たちの推奨事項は以下を読むことで確認できます テナント設定 テナントを設定したら、アプリケーションまたはAPIを作成して設定できます。以下の記事の指示を出発点として使用できます アプリケーションの作成 または APIの登録

認証

認証の手段はログインフォームです。これはユーザーがあなたのアプリケーションにアクセスするための仲介役です。ユーザーはログインフォームで、ユーザー名やパスワードなどの事前に決められた認証情報を提供し、自身のデジタルアイデンティティを確認します。 Auth0の はカスタマイズ可能なログインフォームで、ブランドに合わせて調整し、安全なアクセスを提供するように設定できます。Universal Loginを使用する利点には以下があります:
  • 生体認証によるログイン
  • 選択肢として認証方法(メール、音声、またはDuo)
  • 機能
  • ローカライゼーションサポート
詳細については、Universal Loginをお読みください。利用可能な機能の詳細については、Universal Login vs. Classic Loginをご覧ください。 ログインフォームを用意したら、ユーザーストアをAuth0に接続できます。既存のデータベースを接続するか、ソーシャル、法的、または企業の(XやAzure Active Directoryなど)を使用できます。新しいユーザーは、設定した接続を使用してサインアップできます。 ログインフォームとユーザーストア接続を用意したら、ユーザーがアプリケーションにログインする際にバックグラウンドで動作するプロトコルを設定できます。最も一般的なプロトコルは、Identity Fundamentalsの記事で確認したOAuth 2.0およびOpenID Connect(OIDC)の仕様に関連しています。 ログイン時に情報を安全に送信するもう1つのプロトコルは、トークンの形式で提供されます。(Auth0の認証API)からのトークンは、エンティティ間で情報を送信します。ユーザーがログインしてアクセスが承認されると、認証APIは使用している認証グラントに応じて、アクセストークン、IDトークン、または両方を送信してセッションを作成します。アクセストークンには、リクエスト元がアプリケーションで持つスコープ(権限)に関する情報が含まれており、IDトークンにはユーザーエクスペリエンスを向上させるためのユーザーメタデータなど、リクエスト元の情報が含まれています。 認証APIからのトークンは、以下の構造を持つJSON Web Tokens(JWTs)です:
  • 署名を含むヘッダー
  • リクエスト元に関する声明と属性を含むペイロード
  • トークンが有効であることを確認する署名
トークンについて詳しく学ぶには、Access TokensID Tokens、またはJSON Web Tokensをお読みください。 SAML(Security Assertion Markup Language)やWS-Fed(Web Service Federation)などの他のプロトコルは、より特定のシステムで使用されます。SAMLは一部のアイデンティティプロバイダーで動作し、WS-FedはMicrosoft製品で使用されます。詳細については、ドキュメントのProtocolsセクションを探索することで学ぶことができます。

ユーザーの管理

ユーザープロファイルとアクセスの管理は時間がかかる場合があります。Auth0インスタンスでユーザーを管理することを選択すれば、いくつかの問題点を解消できます。 Auth0ダッシュボードまたは管理APIを使用して、CRUD操作を簡単に自動化し、ユーザープロファイルをクエリできます。Auth0 Organizationsを使用してユーザーをカテゴリに分類し、管理スタイルに合わせて顧客ベースを整理できます。詳細については、ドキュメントのManage Usersセクションをご覧ください。 ビジネスモデルには、ユーザーのアクセスレベルが含まれている場合があります。ユーザーの一部に読み取り専用の権限を与え、別の一部に編集能力を与えたい場合があるかもしれません。Auth0の Authorization Coreを使用すると、ロールベースのアクセス制御を実装できます。ロールを作成し、ユーザーにロールを割り当て、権限を定義することができます。 ブラウザの動作に基づいてアクセスを管理したい場合、セッションの有効期間を制限できます。セッション、つまり要求元とアプリケーションまたはリソースとの間のインタラクションには、有効期間の制限があります。セッションは、ユーザーがブラウザを閉じたり、ウェブページから離れたりすると終了する可能性があります。アクセストークンを更新するリフレッシュトークンを使用してセッションを延長できます。リフレッシュトークンはダッシュボードで設定できます。詳細については、以下をお読みください:セッションの有効期間制限およびリフレッシュトークンの取得 クッキー(データの文字列)は、セッションと結びつき、認証されたユーザーを表します。クッキーにより、認証されたユーザーはセッションを維持し、再認証を強制されることなくウェブページ間を移動できます。ブラウザが閉じられると、クッキーはブラウザによってクリアされます。

カスタマイズ

あなたのブランドは重要であり、Auth0はログイン体験をあなたのビジネスにより個別化するためのカスタマイズを提供しています。ログインフォームにロゴやカラースキームを追加したり、カスタムドメインを使用してログインURLの所有権を得ることができます。設定の詳細については、以下をお読みください:カスタムドメイン Universal Loginは、多要素認証、デバイスの生体認証を使用したパスワードレス認証、ローカライゼーションなど、ニーズに合わせて認証を設定するための多数の機能を提供します。より詳細なレベルでは、アクションが必要な場合にユーザーが受け取るプロンプトのテキストを調整できます。ユーザーにサインアップを促したり、認証用のデバイスを登録したり、検証のためにユーザーがコードを入力するためのメール/SMSを送信したりするためのプロンプトを設定できます。また、新規ユーザーを歓迎したり、登録を確認したり、パスワードをリセットしたりするためのメールテンプレートを使用して、メールコミュニケーションをカスタマイズすることもできます。詳細については、以下をお読みください:Universal Loginのテキスト要素のカスタマイズおよびメールテンプレートのカスタマイズ また、Auth0 Actionsを使用して特定のイベントを設定することもできます。Actionsは、ランタイム中に実行される安全な関数です。Actionsはパイプラインの異なるポイントでトリガーされ、さまざまな用途があります。ユーザーがサインアップする前にメタデータを追加したり、ユーザーを外部サイトにリダイレクトしたりすることができます。Actionsができることの詳細については、以下をお読みください:Auth0 Actionsの仕組みを理解する

セキュリティ

悪意のある攻撃はいつでも起こる可能性があります。Auth0はいくつかのオプションを提供しています。例えば、をGoogle reCAPTCHA Enterpriseと組み合わせてサイバー攻撃を防ぐことができます。ボット検出の設定の詳細については、以下をお読みください:ボット検出 独自のログインページを使用している場合でも、Auth0ダッシュボードで有効にできる他のセキュリティオプションがあります:
漏洩パスワード検出は、盗まれた認証情報を持つ悪意のある行為者に対するセキュリティ対策です。ブルートフォース攻撃保護は、悪意のあるIPを自動的にブロックし、フラグが立てられたユーザーアカウントに通知を送信することで、ログイン試行回数を制限してターゲットとなるユーザーアカウントを保護します。不審なIPスロットリングは、ブルートフォース攻撃保護が終了した時点から機能し、急速なサインアップやログインを試みるIPアドレスからのトラフィックをブロックします。 その他のセキュリティ対策は、ユーザーの認証方法によって異なります。Universal Loginで多要素認証(MFA)を有効にすると、ユーザーは2つ以上の認証要素を提供する必要があります。Auth0では、未知のデバイスからのログインや、疑わしいIPアドレスからのログインなど、特定の状況下でMFAをトリガーするようにカスタマイズできます。MFAの設定の詳細については、以下をお読みください:アダプティブMFA

デプロイとモニタリング

Auth0インスタンスのテストが完了し、デプロイの準備ができたら、パブリッククラウドまたはプライベートクラウドのオプションを利用できます。利用可能なオプションについて詳しく知るには、デプロイメントオプションをお読みください。マルチテナント対応の環境が必要な場合は、AWS上のプライベートクラウドについて詳しく読むことができます。 デプロイメントを順調に進めるために、事前デプロイメントの推奨事項、デプロイメントチェックリスト、ベストプラクティス、一般的な修正、およびその他のヒントの形でガイダンスを提供し、デプロイメントをできるだけスムーズに行えるようサポートしています。 ユーザーを受け入れる準備ができた本番環境を確立したら、エラー追跡とアラートに注意を払うことができます。System Center Operations Managerを使用して監視し、イベントログを分析ツールにエクスポートすることで、トレンド、ユーザー行動、または問題に関する洞察を得ることができます。