#### コア

このモジュールは、OpenSSO の認証サービス全般に対してベースとなるものです。特定の認証モジュールインスタンスを使用する前に、このモジュールを登録して設定する必要があります。コアモジュールでは、管理者は、OpenSSO のデフォルト認証モジュールで特に設定されていない値に適用されるデフォルト値を定義できます。コア属性にはグローバル属性とレルム属性があります。属性は次のとおりです。

- 「プラグイン可能な認証モジュールクラス」

- 「クライアント用にサポートされている認証モジュール」

- 「LDAP 接続のプールサイズ」

- 「LDAP 接続のデフォルトプールサイズ」

- 「ユーザープロファイル」

- 「管理者認証設定」

- 「動的ユーザープロファイル作成のデフォルトロール」

- 「持続 Cookie モード」

- 「Cookie の最大持続時間」

- 「エイリアス検索属性名」

- 「デフォルト認証ロケール」

- 「組織認証設定」

- 「ログイン失敗時のロックアウトモード」

- 「ログイン失敗が右の回数に達したらロックアウト」

- 「ログイン失敗回数を加算する間隔」

- 「ロックアウト通知を送信する電子メールアドレス」

- 「ユーザーに警告を出すまでの失敗回数」

- 「ログイン失敗時のロックアウト持続時間」

- 「ロックアウト属性名」

- 「ロックアウト属性値」

- 「ログイン成功時に返すデフォルトの URL」

- 「ログイン失敗時に返すデフォルトの URL」

- 「認証ポストプロセスクラス」

- 「ユーザー ID 生成モード」

- 「プラグイン可能なユーザー名ジェネレータクラス」

- 「アイデンティティータイプ」

- 「プラグイン可能なユーザー状態イベントクラス」

- 「無効な試行をデータストアに格納する」

- 「モジュールベースの認証」

- 「デフォルト認証レベル」

##### プラグイン可能な認証モジュールクラス

OpenSSO プラットフォーム内で設定され、どのレルムでも利用できる認証モジュールの Java クラスを指定します。AMLoginModule SPI または JAAS LoginModule SPI を実装して、カスタム認証モジュールを記述できます。詳細は、『OpenSSO Developer's Guide』を参照してください。新しいサービスを定義するには、新しい各認証サービスの完全クラス名 (パッケージ名を含む) を指定するテキスト文字列をこのフィールドに入力する必要があります。

##### クライアント用にサポートされている認証モジュール

特定のクライアントでサポートされている認証モジュールのリストを指定します。形式は次のとおりです。

`clientType | module1,module2,module3`

この属性は、クライアントディテクションが有効になっているときに機能します。

##### LDAP 接続のプールサイズ

特定の LDAP サーバーおよびポートで使用される最大および最小の接続プールを指定します。この属性は、LDAP およびメンバーシップ認証サービス専用です。形式は次のとおりです。

`host:port:min:max`

注 – この接続プールは、`serverconfig.xml` で構成される SDK 接続プールとは異なります。

##### LDAP 接続のデフォルトプールサイズ

すべての 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 だけを使用します。

注 – 持続 Cookie は、クライアントがログイン URL の iPSPCookie=yes パラメータを使用して明示的に要求する必要があります。

##### Cookie の最大持続時間

持続 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

このフィールドは、認証の成功後にユーザーをリダイレクトする URL を指定する複数の値のリストを受け付けます。HTML のデフォルトタイプとなっている URL の値だけを指定できますが、この属性の形式は `clientType|URL` です。デフォルト値は /amserver/console です。

##### ログイン失敗時に返すデフォルトの URL

このフィールドは、認証の失敗後にユーザーをリダイレクトする URL を指定する複数の値のリストを受け付けます。HTML のデフォルトタイプとなっている URL の値だけを指定できますが、この属性の形式は `clientType|URL` です。

##### 認証ポストプロセスクラス

ログインの成功または失敗後に実行する認証後プロセスをカスタマイズするための Java クラス名を指定します。次に例を示します。

`com.abc.authentication.PostProcessClass`

Java クラスは次の Java インタフェースを実装する必要があります。

`com.sun.identity.authentication.spi.AMPostAuthProcessInterface`

さらに、クラスの場所を示すパスを Web サーバーの Java Classpath 属性に追加する必要があります。

##### ユーザー ID 生成モード

この属性は、メンバーシップ認証モジュールによって使用されます。この属性フィールドが有効になっている場合、すでにユーザー ID が存在していれば、自己登録プロセス中にメンバーシップモジュールによって特定ユーザーのユーザー ID が生成可能です。このユーザー ID は、「プラグイン可能なユーザー名ジェネレータクラス」で指定された Java クラスから生成されます。

##### プラグイン可能なユーザー名ジェネレータクラス

「ユーザー ID 生成モード」が有効になっている場合にユーザー ID を生成するための Java クラス名を指定します。

##### アイデンティティータイプ

OpenSSO の検索対象となるアイデンティティーのタイプを一覧表示します。

##### プラグイン可能なユーザー状態イベントクラス

認証 SPI を拡張することで、認証プロセス中に発生したユーザーの状態変化に対するコールバックメカニズムを提供します。サポートされている状態変化は、次のとおりです。

`account lockout`

  アカウントロックアウトイベントは、任意の認証モジュールで利用できます。この機能は、「ログイン失敗時のロックアウトモード」属性を使って設定できます。

`password change`

  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 が使用するものではなく、どの外部アプリケーションでもその値の使用を選択すれば使用できます。