このモジュールは、OpenSSO の認証サービス全般に対してベースとなるものです。特定の認証モジュールインスタンスを使用する前に、このモジュールを登録して設定する必要があります。コアモジュールでは、管理者は、OpenSSO のデフォルト認証モジュールで特に設定されていない値に適用されるデフォルト値を定義できます。コア属性にはグローバル属性とレルム属性があります。属性は次のとおりです。
OpenSSO プラットフォーム内で設定され、どのレルムでも利用できる認証モジュールの Java クラスを指定します。AMLoginModule SPI または JAAS LoginModule SPI を実装して、カスタム認証モジュールを記述できます。詳細は、『OpenSSO Developer's Guide』を参照してください。新しいサービスを定義するには、新しい各認証サービスの完全クラス名 (パッケージ名を含む) を指定するテキスト文字列をこのフィールドに入力する必要があります。
特定のクライアントでサポートされている認証モジュールのリストを指定します。形式は次のとおりです。
clientType | module1,module2,module3
この属性は、クライアントディテクションが有効になっているときに機能します。
特定の LDAP サーバーおよびポートで使用される最大および最小の接続プールを指定します。この属性は、LDAP およびメンバーシップ認証サービス専用です。形式は次のとおりです。
host:port:min:max
注 – この接続プールは、serverconfig.xml で構成される SDK 接続プールとは異なります。
すべての LDAP 認証モジュール設定で使用されるデフォルトの最小および最大接続プールを指定します。ホストおよびポートのエントリが「LDAP 接続のプールサイズ」属性に存在する場合、LDAP 接続のデフォルトプールサイズの最小値および最大値の設定は使用されません。
このオプションを使用すると、ユーザープロファイルのオプションを指定することができます。オプションは次のとおりです。
正常に認証されるためには、ユーザーが OpenSSO とともにインストールされた、SSOToken を発行する認証サービス用ローカル Directory Server 内にプロファイルを持っている必要があることを指定します。
認証が成功した場合で、ユーザープロファイルがまだ存在していないときに、認証サービスによってユーザープロファイルを作成することを指定します。作成後、SSOToken が発行されます。ユーザープロファイルは、OpenSSO とともにインストールされたローカル Directory Server 内に作成されます。
認証が成功した場合に、認証サービスによって「ユーザーエイリアスリスト」属性を持ったユーザープロファイルを作成することを指定します。
認証が成功した場合に、SSOToken を発行する認証サービスに対して、ユーザープロファイルが不要であることを指定します。
これが有効になっている場合は、すべてのリモート認証要求で呼び出し元のアイデンティティーを検証するためにアプリケーションの SSOToken が要求されるため、アプリケーションに関連付けられた有効なユーザー名とパスワードの値が OpenSSO の設定情報に提供されます。
これが有効になっている場合は、ログイン処理中に使用されるポストプロセス認証プラグインのインスタンスが OpenSSO セッションに保存されます。あとでログアウトが起動されると、これらのインスタンスの onLogout メソッドが呼び出されます。この属性が有効になっていない場合は、ログイン処理のポストプロセスインスタンスが保存されません。ポストプロセスプラグインの新しいインスタンスは、ログアウトが起動され、onLogout メソッドが呼び出されたときに作成されます。
これが有効になっている場合は、認証処理中に使用される認証モジュールのすべてのインスタンスが OpenSSO セッションに保存されます。あとでログアウトが起動されると、同じインスタンスで logout/destroyModulestate メソッドが呼び出されます。この属性が有効になっていない場合は、ログアウト処理の認証モジュールインスタンスが保存されません。ログアウト時に認証モジュールのメソッドは呼び出されません。
管理者専用の認証サービスを定義します。この属性は、管理者とエンドユーザーの認証モジュールを別々のものにする必要がある場合に使用できます。この属性で設定されたモジュールは、OpenSSO コンソールがアクセスされたときに適用されます。次に例を示します。
http://servername.port/console_deploy_uri
このフィールドは、動的作成が選択されている場合に、プロファイルがユーザープロファイル機能で作成された新しいユーザーに割り当てるロールを指定します。デフォルト値は存在しません。管理者は、新しいユーザーに割り当てられるロールの DN を指定する必要があります。
注 – 指定するロールは、認証を構成するレルムの下にあることが必要です。このロールは、OpenSSO ロールまたは LDAP ロールにすることができますが、フィルタロールにすることはできません。
ユーザーに特定のサービスを自動的に割り当てる場合は、ユーザープロファイルの「必要なサービス」属性を設定する必要があります。
このオプションは、ユーザーがブラウザを再起動したときに認証セッションに戻れるかどうかを指定します。ユーザーセッションは「持続 Cookie モードを有効」にすれば保持できます。「持続 Cookie モードを有効」にすると、ユーザーセッションは持続 Cookie の期限が切れるか、ユーザーが意図的にログアウトするまで期限切れにはなりません。有効期限は「Cookie の最大持続時間」で指定します。デフォルトでは、「持続 Cookie モード」が無効になっており、認証サービスはメモリーの Cookie だけを使用します。
注 – 持続 Cookie は、クライアントがログイン URL の iPSPCookie=yes パラメータを使用して明示的に要求する必要があります。
持続 Cookie の期限が切れるまでの間隔を指定します。この間隔は、ユーザーのセッションの認証が成功したときに始まります。最大値は 2147483647 (秒) です。このフィールドには、最大値よりも小さい任意の整数値を入力できます。
ユーザー認証が成功したあと、ユーザーのプロファイルを検索します。このフィールドは、最初の LDAP 属性に対する検索で一致するユーザープロファイルを見つけられなかった場合に、次に検索する LDAP 属性を指定します。この属性は主に、認証モジュールから返されたユーザーアイデンティティーがユーザーネーミング属性で指定したものと異なる場合に使用します。たとえば、RADIUS サーバーが abc1234 を返しても、ユーザー名が abc である場合があります。この属性のデフォルト値はありません。
このフィールドは有効な LDAP 属性をすべて受け入れます (たとえば、cn)。
認証サービスが使用するデフォルトの言語サブタイプを指定します。デフォルト値は en_US です。有効な言語サブタイプのリストについては、「サポートされている言語ロケール」を参照してください。
別のロケールを使用するには、最初にそのロケールのすべての認証テンプレートを作成する必要があります。次に、それらのテンプレートの新しいディレクトリを作成する必要があります。詳細については、『管理ガイド』の「ログイン URL パラメータ」を参照してください。
組織の認証モジュールを設定します。デフォルトの認証モジュールは LDAP です。
ユーザーが最初の認証に失敗した場合、2 回目の認証を試行できるかどうかを指定します。この属性を選択すると、ロックアウトが有効になり、ユーザーは 1 回だけ認証を行うことができます。デフォルトでは、ロックアウト機能は無効になっています。この属性は、ロックアウト関連属性および通知属性とともに機能します。
「ログイン失敗時のロックアウト間隔」で定義された時間内に、ユーザーが認証を試みることができる回数を定義します。この回数を超えると、ユーザーはロックアウトされます。
ログイン失敗回数を加算する時間を分単位で指定します。指定した時間内にログインに失敗した数だけ、失敗の回数が加算されていきます。そうでない場合は、ロックアウト回数がリセットされます。
ユーザーのロックアウトが発生した場合に通知を受け取る電子メールアドレスを指定します。複数の電子メールアドレスに通知を送信する場合、スペースで各アドレスを区切ります。英語以外のロケールの場合の形式は次のとおりです。
email_address|locale|charset
認証の失敗回数がここで定義した値に達すると、OpenSSO は次に失敗するとそのユーザーがロックアウトされるという警告メッセージを発信します。
メモリーロックを有効にします。デフォルトでは、ロックアウトのメカニズムによって、「ロックアウト属性名」で定義されたユーザープロファイルが無効になります (ログインの失敗後)。ログイン失敗時のロックアウト持続時間の値が 0 より大きい場合、メモリーロックとユーザーアカウントは指定された時間 (分) の間ロックされます。
この属性は、連続したロックアウトのたびにログイン失敗時のロックアウト持続時間に乗算される値を定義します。たとえば、ログイン失敗時のロックアウト持続時間が 3 分に設定され、ロックアウト持続時間の乗数値が 2 に設定されている場合、ユーザーはアカウントから 6 分間ロックアウトされます。
ロックアウトで設定される LDAP 属性を指定します。この属性に対するロックアウトが有効になるように「ロックアウト属性値」の値を変更する必要があります。デフォルトでは、OpenSSO コンソールのロックアウト属性名は空です。ユーザーがロックアウトされたときに、「ログイン失敗時のロックアウト持続時間」が 0 に設定されている場合、デフォルトの実装では、LDAP 属性 inetuserstatus に対して inactive が設定されるようになっています。
ここでは、「ロックアウト属性名」で定義された属性に対してロックアウトを有効にするか無効にするかを指定します。デフォルトの実装では、LDAP 属性 inetuserstatus に対して inactive が設定されるようになっています。
このフィールドは、認証の成功後にユーザーをリダイレクトする URL を指定する複数の値のリストを受け付けます。HTML のデフォルトタイプとなっている URL の値だけを指定できますが、この属性の形式は clientType|URL です。デフォルト値は /amserver/console です。
このフィールドは、認証の失敗後にユーザーをリダイレクトする URL を指定する複数の値のリストを受け付けます。HTML のデフォルトタイプとなっている URL の値だけを指定できますが、この属性の形式は clientType|URL です。
ログインの成功または失敗後に実行する認証後プロセスをカスタマイズするための Java クラス名を指定します。次に例を示します。
com.abc.authentication.PostProcessClass
Java クラスは次の Java インタフェースを実装する必要があります。
com.sun.identity.authentication.spi.AMPostAuthProcessInterface
さらに、クラスの場所を示すパスを Web サーバーの Java Classpath 属性に追加する必要があります。
この属性は、メンバーシップ認証モジュールによって使用されます。この属性フィールドが有効になっている場合、すでにユーザー ID が存在していれば、自己登録プロセス中にメンバーシップモジュールによって特定ユーザーのユーザー ID が生成可能です。このユーザー ID は、「プラグイン可能なユーザー名ジェネレータクラス」で指定された Java クラスから生成されます。
「ユーザー ID 生成モード」が有効になっている場合にユーザー ID を生成するための Java クラス名を指定します。
OpenSSO の検索対象となるアイデンティティーのタイプを一覧表示します。
認証 SPI を拡張することで、認証プロセス中に発生したユーザーの状態変化に対するコールバックメカニズムを提供します。サポートされている状態変化は、次のとおりです。
アカウントロックアウトイベントは、任意の認証モジュールで利用できます。この機能は、「ログイン失敗時のロックアウトモード」属性を使って設定できます。
LDAP 認証モジュールタイプ経由でしか利用できません。これは、パスワード変更機能を利用できるのは、そのモジュールだけであるからです。
この属性を有効にすると、失敗したログイン試行の情報を、複数の OpenSSO インスタンスが共有するアイデンティティーリポジトリで共有できるようになります。たとえば、特定の配備に対して使用されるアイデンティティーリポジトリが Directory Server である場合、無効な試行は sunAMAuthInvalidAttemptsData に格納されます (これは sunAMAuthAccountLockout オブジェクトクラスに属する)。データは次のような形式で格納されます。
<InvalidPassword><InvalidCount></InvalidCount><LastInvalidAt></LastInvalidAt><LockedoutAt></LockedoutAt><ActualLockoutDuration></ActualLockoutDuration></InvalidPassword>
この情報は各ユーザーに対して Directory Server で維持されます。無効な試行が発生するたびに、<InvalidCount> が増加します。
この属性を有効にすると、ユーザーがモジュールベースの認証を通じて認証できるようになります。この属性が有効でない場合、モジュールベースのログインは許可されません。module=<module_instance_name> によるすべてのログイン試行は、ログイン失敗の結果になります。
これにより、(データストアに保存されている) 認証ユーザープロファイルからユーザーの SSOToken へのセッションプロパティーとして属性を設定できます。形式は次のとおりです。
UserProfile_Attribute|Session_Attribute_name
Session_Attribute_name が指定されていない場合は、セッションのプロパティー名がユーザープロファイル属性の値として取得されます。すべてのセッション属性には、クライアント SDK から編集できないようにするための am.protected プレフィックスが含まれています。
認証レベルの値は、認証の信頼度を示します。ユーザーが認証を受けると、この値がセッションの SSO トークンに格納されます。ユーザーがアクセスを望むアプリケーションに SSO トークンが提供されると、そのアプリケーションは格納されている値を使用して、ユーザーにアクセスを許可するのに十分なレベルかどうかを判別できます。SSO トークンに格納されている認証レベルが必要な最小値に満たない場合、アプリケーションはユーザーにより高い認証レベルのサービスで認証を再度受けるよう要求することがあります。
認証レベルは、レルムの特定の認証テンプレート内で設定する必要があります。ここで説明する「デフォルト認証レベル」の値は、特定のレルムの認証テンプレートの「認証レベル」フィールドに認証レベルが指定されていない場合だけ適用されます。デフォルト認証レベルのデフォルト値は 0 です。この属性の値は OpenSSO が使用するものではなく、どの外部アプリケーションでもその値の使用を選択すれば使用できます。