ユーザー認証
Gluuサーバーのユーザー認証の処理は、非常に柔軟に設計されています。 ユーザー名/パスワードは、デフォルトの” basic”認証形式です。 ワンタイムパスコード(OTP)、U2Fセキュリティキー、Gluuの無料U2Fモバイルアプリ、Super Gluuなどの強力な認証方式を実装すると、アカウントのセキュリティを強化できます。
認証インターセプションスクリプト
Gluuサーバーは、インターセプションススクリプトを利用してユーザー認証プロセスを容易にします。 インターセプトスクリプトは、認証メカニズムの適用方法と、ログイン時に表示されるページを指定します。
Gluuサーバーには、次のような多数の認証メカニズム用のインターセプションススクリプトが含まれています。
- FIDO U2F
- TOTP/HOTP
- Super Gluu
- Duo Security
- Social Login
Gluuがデフォルトで配布するインターセプトスクリプトをカスタマイズして拡張することも、あるいは、独自のビジネス要件を補助する目的で、新しく認証用スクリプトを書くこともできます。 例えば、スクリプトを拡張して、不正スコア、ロケーション、ブラウザプロファイリングなどの状況的な情報に基づいて追加の認証手順を実装することも可能です。
デフォルトの認証メカニズム
oxTrustで、Configuration > Manage Authentication > Default Authenticationに移動して、2つのユースケースのデフォルトの認証メカニズムを指定します。
- default_acr:ユーザーをGluuサーバーにサインインさせるすべてのアプリケーションに提示されるデフォルトの認証メカニズム。 アプリケーションがOpenID Connectのacr_valuesパラメータを使用して別の形式の認証を要求しない限り、ユーザはこのフィールドで指定された認証の形式を受け取る。
- oxTrust_acr:oxTrust管理GUIにアクセスしようとする人に提示するための認証形式
要件に応じて、両方のフィールドを同じ認証メカニズムで設定したり、ユースケースごとに異なるメカニズムを選択することができます。
さらに、OpenID Connect acr_valueを使用して、特定のアプリケーションで特定の認証形式を要求することもできます。
基本認証
Gluuは基本認証がデフォルトであり、ローカルGluu LDAPに対するユーザー名とパスワード認証になります。 LDAP同期が設定されている場合、既存のバックエンドLDAPサーバを認証用に使用することも可能です。
2要素認証(2FA)
Gluuには、以下の2FA形式のインターセプションスクリプトが含まれています。
- U2F
- Super Gluu
- OTP apps
- SMS OTP
- Duo Security
- Certificate Authentication
2FA資格情報管理
2要素認証を実施する場合、ユーザーが資格情報を登録、削除、管理するための方法が必要になります。 ユーザーや組織にとって2要素認証のエクスペリエンスをより良くするため、GluuサーバーはCredential Managerと呼ばれる新しいオープンソースアプリケーションをサポートするようになりました。
Credential Managerは、ユーザーがGluuサーバーで2要素認証資格情報を管理するために使用できる、無料、もしくは低価格で利用可能な、ユーザーフレンドリーなアプリケーションです。
ソーシャルログイン
ソーシャルログインをサポートしたい場合、Gluuサーバーのインストール中に、Passport.jsをインストールに含めるオプションが表示されますので、Passport.jsをGluu サーバーに組み込みます。
Passportは、Facebook、LinkedIn、およびGitHubを含む多くの人気な消費者IDPで、ソーシャルログインをサポートするためのcrowdソースアプローチを提供します。 ソーシャルログインを正規化するだけでなく、ユーザー要求の標準マッピングを提供しますので、新しいユーザーをGluuサーバーに動的に登録することができます。
複数認証のメカニズム
Gluuサーバーは、複数の認証メカニズムを同時にサポートしています。標準のOpenID Connectリクエストパラメータacr_valueを使用すると、Webおよびモバイルアプリケーション(クライアント)が特定の種類の認証を要求できるようになります。
oxTrustで、Configuration > Manage Authentication > Default Authenticationに移動して、該当する各認証インターセプションスクリプトのEnabledボックスをオンにします。 変更を保存するには、ページ下部のUpdateボタンをクリックします。
既定では、ユーザーは上記の既定の認証メカニズムを取得します。 ただし、OpenID Connectのacr_valuesパラメータを使用すると、Webクライアントとモバイルクライアントは有効な認証メカニズムを要求できます。
各認証メカニズムには、どのように安全で厳格であるかを示す「レベル」ランクが割り当てられています。 「レベル」が高いほど、スクリプトによって表されるより信頼性の高いメカニズムです。同時に同じGluuインスタンスでいくつかのメカニズムを有効にすることはできますが、特定のユーザーのセッションでは、そのうちの1つだけを現在のセッションとして設定できます(id_tokenのacrクレームとして返されます)。初期セッションが作成された後、RPからの新しい許可要求が別の認証方法を指定する場合、その「レベル」はこのセッションに現在関連付けられているメソッドのレベルと比較されます。要求されたメソッドの「レベル」がそれより低いか等しい場合、何も変更されず、通常のSSO動作が観察されます。それより高い場合(つまり、より安全な方法が要求された場合)、既存のセッションのコンテキストを使用してそのような要求を処理することはできず、ユーザーは再認証して続行する必要があります。成功した場合、新しいセッションがその要求されたメカニズムに関連付けられます。
アカウントロックアウトポリシー
既定のGluuサーバー配布には、基本的なアカウントロックアウトポリシーを実装するためのインターセプションスクリプトが含まれています。このポリシーは、一定回数連続して失敗したログイン試行後にユーザーのアカウントを無効にします。
ログインページのカスタマイズ
「操作ガイド」の「設計のカスタマイズ」セクションで、Gluuサーバーのログインページのルック&フィールをカスタマイズする方法を学びます。
認証復帰
新しい認証フローとメソッドは、ロックアウトの可能性を減らすために、常に別のブラウザでテストする必要があります。