第10章 セキュリティー管理リファレンス

10.1. 含まれる認証モジュール

以下の認証モジュールが Enterprise Application Platform に含まれます。これらの一部は許可と認証を処理します。これらでは、通常単語 RoleCode 名に含まれます。
これらのモジュールを設定する場合は、モジュールを参照するために Code 値を使用します。

表10.1 クライアント

コード クライアント
クラス
org.jboss.security.ClientLoginModule
詳細
このログインモジュールは、Enterprise Application Platform がクライアントと対話するときに呼び出し元 ID とクレデンシャルを確立するよう設定されています。これは、実際のサーバー認証に使用されるセキュリティードメインの一部として使用しないでください。

表10.2 クライアントモジュールオプション

オプション タイプ デフォルト 詳細
マルチスレッド ブール値
false
各スレッドが独自のプリンシパルとクレデンシャルストレージを持つ場合は、true に設定します。VM 内のすべてのスレッドが同じ ID とクレデンシャルを共有するよう指定する場合は false に設定します。
password-stacking
useFirstPass または false
false
このログインモジュールが ID として使用する LoginContext に格納された情報を探すよう指定する場合は、useFirstPass に設定します。このオプションは、他のログインモジュールをスタックする場合に使用できます。
restore-login-identity ブール値
false
() メソッドの先頭に示された ID とクレデンシャルを logout() メソッドの呼び出し後に復元する必要がある場合は true に設定します。

表10.3 証明書

コード 証明書
クラス
org.jboss.security.auth.spi.BaseCertLoginModule
詳細
このログインモジュールは、X509 証明書に基づいてユーザーを認証するよう設計されています。この使用例は、Web アプリケーションの CLIENT-CERT 認証です。

表10.4 証明書モジュールオプション

オプション タイプ デフォルト 詳細
securityDomain 文字列
信頼済み証明書を保持するトラストストア用 JSSE 設定を持つセキュリティードメインの名前。
verifier クラス
ログイン証明書の検証に使用する org.jboss.security.auth.certs.X509CertificateVerifier のクラス名。

表10.5 CertificateUsers

コード CertificateUsers
クラス
org.jboss.security.auth.spi.UsersRolesLoginModule
詳細
ユーザー名とパスワード、ユーザー名とロールをそれぞれマップするために 2 つのプロパティーリソースを使用します。

表10.6 CertificateUsers モジュールオプション

オプション タイプ デフォルト 詳細
unauthenticatedIdentity 文字列
認証情報を含まない要求に割り当てる必要があるプリンシパル名を定義します。これにより、保護されていないサーブレットは特定のロールを必要としない EJB でメソッドを呼び出すことができるようになります。このようなプリンシパルでは、ロールが割り当てられず、unchecked permission 制約に関連付けられたセキュアでない EJB または EJB メソッドにのみアクセスできます。
password-stacking
useFirstPass または false
false
このログインモジュールが ID として使用する LoginContext に格納された情報を探すよう指定する場合は、useFirstPass に設定します。このオプションは、他のログインモジュールをスタックする場合に使用できます。
hashAlgorithm 文字列
パスワードをハッシュ化するために使用する java.security.MessageDigest アルゴリズムの名前。デフォルト値はないため、ハッシュを有効にするためにこのオプションを明示的に設定する必要があります。hashAlgorithm が指定された場合は、inputPassword 引数として UsernamePasswordLoginModule.validatePassword に渡す前に CallbackHandler から取得されたクリアテキストパスワードがハッシュ化されます。users.properties ファイルに格納された expectedPassword も、同様にハッシュ化する必要があります。
hashEncoding
base64 または hex
base64
ハッシュ化されたパスワードの文字列形式 (hashAlgorithm も設定された場合)。
hashCharSet 文字列
コンテナーの環境で設定されたデフォルトエンコーディング
クリアテキストパスワードをバイトアレイに変換するために使用されるエンコーディング。
usersProperties
プロパティーファイルまたはリソース
users.properties
ユーザーとパスワード間のマッピングを含むファイル。ファイルの各プロパティーの形式は username=password です。
rolesProperties プロパティーファイルまたはリソース
roles.properties
ユーザーとロール間のマッピングを含むファイル。ファイルの各プロパティーの形式は username=role1,role2,...,roleN です。
ignorePasswordCase ブール値
false
パスワード比較で大文字と小文字の区別を無視するかどうか。これは、ハッシュ化されたパスワードが大文字であるか小文字であるかが重要でない、ハッシュ化パスワードエンコーディングの場合に役に立ちます。
principalClass クラス
プリンシパル名として String 引数を取るコンストラクターを含む Principal 実装クラス。
roleGroupSeparator
単一の文字
. (単一の期間)
rolesGroup ファイルでユーザー名とロールグループ名を区別するために使用される文字。
defaultUsersProperties 文字列
defaultUsers.properties
使用するリソースまたはファイルの名前 (usersProperties ファイルが見つからない場合)。
defaultRolesProperties 文字列
defaultRoles.properties
使用するリソースまたはファイルの名前 (rolesProperties ファイルが見つからない場合)。
hashUserPassword ブール値
true
ユーザーが入力したパスワードをハッシュ化するかどうか (hashAlgorithm が指定された場合)。デフォルトで true に設定されます。
hashStorePassword ブール値
true
getUsersPassword() から返されたストアパスワードをハッシュ化するかどうか (hashAlgorithm が指定された場合)。
digestCallback classname
ソルト値などのプレ/ポストダイジェストコンテンツを含む org.jboss.crypto.digest.DigestCallback 実装のクラス名。hashAlgorithm が指定された場合にのみ使用されます。
storeDigestCallback classname
ストアパスワードをハッシュ化するソルト値などのプレ/ポストダイジェストコンテンツを含む org.jboss.crypto.digest.DigestCallback 実装のクラス名。hashStorePassword が true であり、hashAlgorithm が指定された場合にのみ使用されます。
callback.option... なし なし
callback.option. の前に指定されたすべてのオプションは、DigestCallback.init(Map) メソッドに渡されます。入力されたユーザー名は、常に javax.security.auth.login.name オプションを介して渡され、入力/ストアパスワードは、javax.security.auth.login.password オプションを介して digestCallback または storeDigestCallback に渡されます。

表10.7 CertificateRoles

コード CertificateRoles
クラス
org.jboss.security.auth.spi.CertRolesLoginModule
詳細
このログインモジュールは、Certificate ログインモジュールを拡張して、プロパティーファイルからロールマッピング機能を追加します。同じすべてのオプションを Certificate ログインモジュールとして取得し、これらのオプションを追加します。

表10.8 CertificateRoles モジュールオプション

オプション タイプ デフォルト 詳細
rolesProperties 文字列
roles.properties
各ユーザーに割り当てるロールを含むリソースまたはファイルの名前。ロールプロパティーファイルの形式は username=role1,role2 である必要があります。ここで、username は、証明書の DN であり、すべての等記号やスペース文字をエスケープします。次の例が正しい形式です。
CN\=unit-tests-client,\ OU\=Red\ Hat\ Inc.,\ O\=Red\ Hat\ Inc.,\ ST\=North\ Carolina,\ C\=US=JBossAdmin
defaultRolesProperties 文字列
defaultRoles.properties
rolesProperties ファイルが見つからない場合に使用するリソースまたはファイルの名前。
roleGroupSeparator 単一の文字
. (単一の期間)
ロールプロパティーファイルでどの文字をロールグループセパレーターとして使用するか。

表10.9 データベース

コード データベース
クラス
org.jboss.security.auth.spi.DatabaseServerLoginModule
詳細
認証とロールマッピングをサポートする JDBC ベースのログインモジュール。これは、次の定義を使用して、2 つの論理テーブルに基づきます。
  • Principals: PrincipalID (text), Password (text)
  • Roles: PrincipalID (text), Role (text), RoleGroup (text)

表10.10 データベースモジュールオプション

オプション タイプ デフォルト 詳細
dsJndiName JNDI リソース
認証情報を保持する JNDI リソースの名前。このオプションは必須です。
principalsQuery SQL ステートメント
select Password from Principals where PrincipalID=?
プリンシパルに関する情報を取得するために準備された SQL クエリー。
rolesQuery SQL ステートメント
select Role, RoleGroup from Roles where PrincipalID=?
ロールに関する情報を取得するために準備された SQL クエリー。

表10.11 DatabaseCertificate

コード DatabaseCertificate
クラス
org.jboss.security.auth.spi.DatabaseCertLoginModule
詳細
このログインモジュールは、Certificate ログインモジュールを拡張して、データベーステーブルからロールマッピング機能を追加します。同じオプションと次の追加オプションが存在します。

表10.12 DatabaseCertificate モジュールオプション

オプション タイプ デフォルト 詳細
dsJndiName JNDI リソース
認証情報を保持する JNDI リソースの名前。このオプションは必須です。
rolesQuery SQL ステートメント
select Role,RoleGroup from Roles where PrincipalID=?
ロールをマップするために実行される SQL 準備ステートメント。これは、select Role, RoleGroup from Roles where PrincipalID=? と同じである必要があります。ここで、Role はロール名であり、RoleGroup 列の値は常に R が大文字である Roles. である必要があります。
suspendResume ブール値
true
データベース操作中に既存の JTA トランザクションを一時停止するかどうか。

表10.13 Identity

コード Identity
クラス
org.jboss.security.auth.spi.IdentityLoginModule
詳細
モジュールオプションで指定されたプリンシパルをモジュールに対して認証されたサブジェクトと関連付けます。使用される Principal クラスのタイプは org.jboss.security.SimplePrincipal. です。プリンシパルオプションが指定されない場合は、名前が guest のプリンシパルが使用されます。

表10.14 Identity モジュールオプション

オプション タイプ デフォルト 詳細
プリンシパル 文字列
guest
プリンシパルに使用する名前。
ロール カンマ区切りの文字列リスト
サブジェクトに割り当てられるロールのカンマ区切りリスト。

表10.15 Ldap

コード Ldap
クラス
org.jboss.security.auth.spi.LdapLoginModule
詳細
ユーザー名とパスワードが、JNDI LDAP プロバイダーを使用してアクセスできる LDAP サーバーに格納された場合に、LDAP サーバーに対して認証します。多くのオプションは、LDAP プロバイダーまたは環境によって決定されるため、必須ではありません。

表10.16 Ldap モジュールオプション

オプション タイプ デフォルト 詳細
java.naming.factory.initial クラス名
com.sun.jndi.ldap.LdapCtxFactory
InitialContextFactory 実装クラス名。
java.naming.provider.url
ldap:// URL
####
LDAP サーバー用 URL。
java.naming.security.authentication
nonesimple、または SASL メカニズムの名前
simple
LDAP サーバーにバインドするために使用するセキュリティーレベル。
java.naming.security.protocol トランスポートプロトコル
指定されない場合は、プロバイダーによって決定されます。
SSL などの、セキュアアクセスに使用するトランスポートプロトコル。
java.naming.security.principal 文字列
サービスに対する呼び出し元を認証するプリンシパルの名前。これは、以下に示された他のプロパティーから構築されます。
java.naming.security.credentials クレデンシャルタイプ
認証スキームにより使用されるクレデンシャルのタイプ。一部の例には、ハッシュ化されたパスワード、クリアテキストパスワード、キー、または証明書が含まれます。このプロパティーが指定されない場合は、動作がサービスプロバイダーにより決定されます。
principalDNPrefix 文字列
ユーザー DN を形成するユーザー名に追加されるプレフィックス。ユーザーにユーザー名の指定を要求したり、principalDNPrefix と principalDNSuffix を使用して完全修飾 DN を構築したりできます。
principalDNSuffix 文字列
ユーザー DN を形成するユーザー名に追加されるサフィックス。ユーザーにユーザー名の指定を要求したり、principalDNPrefix と principalDNSuffix を使用して完全修飾 DN を構築したりできます。
useObjectCredential ブール値
JAAS PasswordCallback を使用した char[] パスワードではなく Callback の org.jboss.security.auth.callback.ObjectCallback タイプを使用した不透明なオブジェクトとしてクレデンシャルを取得するかどうか。これにより、non-char[] クレデンシャル情報を LDAP サーバーに渡すことができるようになります。
rolesCtxDN 完全修飾 DN
ユーザーロールを検索するコンテキスト用完全修飾 DN。
userRolesCtxDNAttributeName 属性
ユーザーロールを検索するコンテキスト用 DN を含むユーザーオブジェクトの属性。これは、rolesCtxDN と異なるため、ユーザーのロールを検索するコンテキストは各ユーザーに対して一意になることがあります。
rolesAttributeID 属性
roles
ユーザーロールを含む属性の名前。
rolesAttributeIsDN ブール値
false
roleAttributeID にロールオブジェクトの完全修飾 DN が含まれるかどうか。false の場合は、ロール名がコンテキスト名の roleNameAttributeId 属性の値から取得されます。Active Directory などの特定のディレクトリースキーマでは、この属性を true に設定する必要があります。
rolesNameAttributeID 属性
group
ロール名を含む roleCtxDN コンテキスト内の属性の名前。roleAttributeIsDN プロパティーが true に設定された場合、このプロパティーはロールオブジェクトの名前属性を見つけるために使用されます。
uidAttributeID 属性
uid
ユーザー ID に対応する UserRolesAttributeDN の属性の名前。これは、ユーザーロールを見つけるために使用されます。
matchOnUserDN ブール値
false
ユーザーロールの検索でユーザーの完全識別 DN またはユーザー名のみに一致するかどうか。true の場合、完全 userDN は一致する値として使用されます。false の場合は、ユーザー名のみが uidAttributeName 属性に対して一致する値として使用されます。
allowEmptyPasswords ブール値
true
空白のパスワードを許可するかどうか。ほとんどの LDAP サーバーでは、空白のパスワードが匿名ログイン試行として扱われます。空のパスワードを拒否するには、これを false に設定します。

表10.17 LdapExtended

コード LdapExtended
クラス
org.jboss.security.auth.spi.LdapExtLoginModule
詳細
検索を使用してバインドユーザーと関連するロールを見つける別の LDAP ログインモジュール実装。ロールクエリーは再帰的に DN に従い、階層ロール構造をナビゲートします。同じ java.naming オプションを Ldap モジュールとして使用し、Ldap モジュールの他のオプションの代わりに次のオプションを使用します。
認証は 2 つのステップで行われます。
  1. LDAP サーバーに対する初期バインドは、bindDN および bindCredential オプションを使用して行われます。bindDN は、baseCtxDN および rolesCtxDN ツリーの両方でユーザーとロールを検索できるユーザーです。認証するユーザー DN は、baseFilter 属性で指定されたフィルターを使用して問い合わされます。
  2. 結果となるユーザー DN は、InitialLdapContext 環境 Context.SECURITY_PRINCIPAL としてユーザー DN を使用して LDAP サーバーにバインドすることにより認証されます。Context.SECURITY_CREDENTIALS プロパティーは、コールバックハンドラーにより取得された String パスワードに設定されます。

表10.18 LdapExtended モジュールオプション

オプション タイプ デフォルト 詳細
baseCtxDN 完全修飾 DN
ユーザー検索を開始する最上位コンテキストの固定 DN。
BindDN 完全修飾 DN
ユーザーおよびロールクエリーのために LDAP サーバーに対してバインドするために使用される DN。この DN は baseCtxDN および rolesCtxDN の値に対する読み取りおよび検索パーミッションを必要とします。
bindCredential 文字列、オプションで暗号化
bindDN のパスワード。これは、jaasSecurityDomain が指定された場合に暗号化できます。
jaasSecurityDomain JMX ObjectName
bindCredential を暗号化するために使用する JaasSecurityDomain の JMX ObjectName。パスワードの暗号化形式は、JaasSecurityDomain.encrypt64(byte[]) メソッドにより返された形式です。また、org.jboss.security.plugins.PBEUtils クラスを使用して暗号化形式を生成することもできます。
baseFilter LDAP フィルター文字列
認証するユーザーのコンテキストを見つけるために使用される検索フィルター。ログインモジュールコールバックから取得された入力ユーザー名/userDN が、{0} 式が使用されたフィルターに置換されます。検索フィルターの一般的な例は (uid={0}) です。
rolesCtxDN 完全修飾 DN
ユーザーロールを検索するコンテキストの固定 DN。これは、実際のロールが存在する DN ではなく、ユーザーロールを含むオブジェクトが存在する DN です。たとえば、Active Directory サーバーでは、これは、ユーザーアカウントが存在する DN です。
roleFilter LDAP フィルター文字列
認証済みユーザーと関連付けられたロールを検索するために使用される検索フィルター。ログインモジュールコールバックから取得された入力ユーザー名/userDN が {0} 式が使用されたフィルターに置換されます。認証済み userDN は、{1} が使用されたフィルターに置換されます。入力ユーザー名に一致する検索フィルター例は、(member={0}) です。認証済み userDN に一致する代わりの例は (member={1}) です。
roleAttributeIsDN ブール値
false
roleAttributeID にロールオブジェクトの完全修飾 DN が含まれるかどうか。false の場合は、ロール名がコンテキスト名の roleNameAttributeId 属性の値から取得されます。Active Directory などの特定のディレクトリースキーマでは、この属性を true に設定する必要があります。
roleNameAttributeID 属性
group
ロール名を含む roleCtxDN コンテキスト内の属性の名前。roleAttributeIsDN プロパティーが true に設定された場合、このプロパティーはロールオブジェクトの名前属性を見つけるために使用されます。
distinguishedNameAttribute 属性
distinguishedName
ユーザーの DN を含むユーザーエントリーの属性の名前。これは、ユーザー自身の DN に正しいユーザーマッピングを防ぐ特殊文字 (バックスラッシュなど) が含まれる場合に、必要になることがあります。属性が存在しない場合は、エントリーの DN が使用されます。
roleRecursion 整数
0
ロール検索が一致するコンテキストで行われる再帰のレベル数。再帰を無効にするには、これを 0 に設定します。
searchTimeLimit 整数
10000 (10 秒)
ユーザー/ロール検索のタイムアウト (ミリ秒単位)。
searchScope
次のいずれか: OBJECT_SCOPE, ONELEVEL_SCOPE, SUBTREE_SCOPE
SUBTREE_SCOPE
使用する検索スコープ。
allowEmptyPasswords ブール値
true
空白のパスワードを許可するかどうか。ほとんどの LDAP サーバーでは、空白のパスワードが匿名ログイン試行として扱われます。空のパスワードを拒否するには、これを false に設定します。

表10.19 RoleMapping

コード RoleMapping
クラス
org.jboss.security.auth.spi.RoleMappingLoginModule
詳細
認証プロセスの結果であるロールを宣言ロールに対してマップします。このモジュールは、セキュリティードメインに追加する場合に optional とフラグ付けする必要があります。

表10.20 RoleMapping モジュールオプション

オプション タイプ デフォルト 詳細
rolesProperties プロパティーファイルまたはリソース
roles.properties
ロールを置換ロールに対してマップするプロパティーファイルまたはリソースの名前。形式は original_role=role1,role2,role3 になります。
replaceRole ブール値
false
現在のロールを追加するか、現在のロールを、マップされたロールに置き換えるか。true に設定された場合は、置き換えられます。

表10.21 RunAs

コード RunAs
クラス
Class: org.jboss.security.auth.spi.RunAsLoginModule
詳細
run as ロールを、認証のログイン段階の間スタックにプッシュし、コミットまたはアボート段階でスタックから run as ロールをポップするヘルパーモジュール。このログインモジュールは、セキュアな EJB にアクセスするログインモジュールなどの、認証を実行するためにセキュアなリソースにアクセスする必要がある他のログインモジュール用ロールを提供します。run as ロールを確立する必要があるログインモジュールの前に、RunAsLoginModule を設定する必要があります。

表10.22 RunAs オプション

オプション タイプ デフォルト 詳細
roleName ロール名。
nobody
ログイン段階で run as ロールとして使用するロールの名前。

表10.23

コード Simple
クラス
org.jboss.security.auth.spi.SimpleServerLoginModule
詳細
テスト目的でセキュリティーを素早くセットアップするモジュール次の単純なアルゴリズムが実装されます。
  • パスワードが null である場合は、ユーザーを認証し、guest の ID と guest のロールを割り当ています。
  • それ以外の場合に、パスワードがユーザーと等しいときは、ユーザー名に等しい IDと and および guest ロールを割り当てます。
  • さもないと、認証に失敗します。
Simple モジュールオプション

Simpleモジュールにはオプションがありません。

表10.24

コード RoleMapping
クラス
詳細

表10.25

コード ConfiguredIdentity
クラス
org.picketbox.datasource.security.ConfiguredIdentityLoginModule
詳細
モジュールオプションで指定されたプリンシパルをモジュールに対して認証されたサブジェクトに関連付けます。使用される Principal クラスのタイプは org.jboss.security.SimplePrincipal です。

表10.26 ConfiguredIdentity モジュールオプション

オプション タイプ デフォルト 詳細
プリンシパル プリンシパルの名前。
guest
モジュールに対して認証されるサブジェクトに関連付けられるプリンシパル。

表10.27 SecureIdentity

コード SecureIdentity
クラス
org.picketbox.datasource.security.SecureIdentityLoginModule
詳細
このモジュールは、レガシーのために提供されます。このモジュールを使用すると、パスワードを暗号化し、暗号化されたパスワードを最適なプリンシパルで使用します。アプリケーションが SecureIdentity を使用する場合は、パスワード vault メカニズムを代わりに使用することを検討してください。

表10.28 モジュールオプション

オプション タイプ デフォルト 詳細
username 文字列 none 認証のユーザー名
password 暗号化文字列 none
認証に使用するパスワード。パスワードを暗号化するには、コマンドラインで直接モジュールを使用します。
java org.picketbox.datasource.security.SecureIdentityLoginModule password_to_encrypt
このコマンドの結果をモジュールオプションの値フィールドに貼り付けます。
managedConnectionFactoryName JCA リソース none
データソース用 JCA 接続ファクトリーの名前。

表10.29 PropertiesUsers

コード PropertiesUsers
クラス
org.jboss.security.auth.spi.PropertiesUsersLoginModule
詳細
認証用ユーザー名およびパスワードを格納するプロパティーファイルを使用します。認証 (ロールマッピング) は提供されません。このモジュールは、テスト向けに限定されます。

表10.30 PropertiesUsers モジュールオプション

オプション タイプ デフォルト 詳細
プロパティー Java プロパティーファイルまたはリソース。 none
認証に使用するユーザー名とクリアテキストパスワードを含むプロパティーファイル。

表10.31

コード SimpleUsers
クラス
org.jboss.security.auth.spi.SimpleUsersLoginModule
詳細
このログインモジュールは、ユーザー名とクリアテキストパスワードを Java プロパティーファイルに格納します。これは、テスト用に提供され、本番稼働環境には適しません。

表10.32 SimpleUsers モジュールオプション

オプション タイプ デフォルト 詳細
username 文字列 none 認証に使用するユーザー名。
password 文字列 none 認証に使用するクリアテキストパスワード。

表10.33 LdapUsers

コード LdapUsers
クラス
org.jboss.security.auth.spi.LdapUsersLoginModule
詳細

表10.34 Kerberos

コード Kerberos
クラス
com.sun.security.auth.module.Krb5LoginModule
詳細
GSSAPI を使用して Kerberos ログイン認証を実行します。このモジュールは、Sun Microsystems により提供された API のセキュリティーフレームワークの一部です。詳細については、http://docs.oracle.com/javase/1.4.2/docs/guide/security/jaas/spec/com/sun/security/auth/module/Krb5LoginModule.html を参照してください。このモジュールは、認証とロールのマッピングを処理する別のモジュールと組み合わせる必要があります。

表10.35 モジュールオプション

オプション タイプ デフォルト 詳細
storekey
true または false のブール値
false
KerberosKey をサブジェクトのプライベートクレデンシャルに追加するかどうか。
doNotPrompt
true または false のブール値
false
true に設定された場合、ユーザーはパスワードを要求されません。
useTicketCache
true または false のブール値
false
true の場合、GTG はチケットキャッシュから取得されます。false の場合、チケットキャッシュは使用されません。
ticketcache Kerberos チケットキャッシュを表すファイルまたはリソース。
デフォルト値は、使用するオペレーティングシステムによって異なります。
  • Red Hat Enterprise Linux / Solaris: /tmp/krb5cc_uid。オペレーティングシステムの UID 数値を使用します。
  • Microsoft Windows Server: Local Security Authority (LSA) API を使用してチケットキャッシュを見つけます。
チケットキャッシュの場所。
useKeyTab
true または false のブール値
false keytab からプリンシパルのキーを取得するかどうか。
keytab Kerberos keytab を表すファイルまたはリソース。
オペレーティングシステムの Kerberos 設定ファイルの場所または /home/user/krb5.keytab
keytab の場所。
プリンシパル 文字列 none
プリンシパルの名前。これは、host/testserver.acme.com などの単純なユーザー名またはサービス名のいずれかになります。これは、keytab からプリンシパルを取得する代わり、または keytab に複数のプリンシパルが含まれる場合に使用します。
useFirstPass
true または false のブール値
false
Whether to retrieve the username and password from the module's shared state, using javax.security.auth.login.name および javax.security.auth.login.password をキーとして使用して、モジュールの共有状態からユーザー名とパスワードを取得するかどうか。認証が失敗した場合、再試行は行われません。
tryFirstPass
true または false のブール値
false
useFirstPass と同じです。ただし、認証が失敗した場合、モジュールは CallbackHandler を使用して新しいユーザー名とパスワードを取得します。2 番目の認証が失敗した場合、失敗は読み出し元アプリケーションに報告されます。
storePass
true または false のブール値
false
モジュールの共有状態でユーザー名とパスワードを格納するかどうか。これは、キーが共有状態にすでにある場合、または認証に失敗した場合は、行われません。
clearPass
true または false のブール値
false
これを true に設定して、認証段階が完了した後に供給状態からユーザー名とパスワードを削除します。
時間制約のため、このファイルの残りは、フォーマットせずに提供されます。これは、後で修正されます。
SPNEGOUsers 
org.jboss.security.negotiation.spnego.SPNEGOLoginModule 
説明: Active Directory サーバーまたは SPNEGO をサポートする他の環境に対する SPNEGO 認証を許可するモジュール。 SPNEGO は、Kerberos クレデンシャルにも対応しています。このモジュールは、認証とロールマッピングを処理する別のモジュールと組み合わせる必要があります。
オプション:
	オプション: storeKey
	値: true | false
	デフォルト:
	説明: キーを格納するかどうか。

	オプション: useKeyTab
	値: true | false
	デフォルト:
	説明: キーテーブルを使用するかどうか。

	オプション: プリンシパル
	値: Kerberos 認証用プリンシパル
	デフォルト:
	説明: 認証用プリンシパルの名前。

	オプション: keyTab
	値: ファイルまたはリソースの名前。
	デフォルト:
	説明: キーテーブルの場所。

	オプション: doNotPrompt
	値: true | false
	デフォルト:
	説明: 

	オプション: debug
	値: true | false
	デフォルト: false
	説明: デバッグ情報を記録するかどうか。
AdvancedLdap 
org.jboss.security.negotiation.AdvancedLdapLoginModule 
説明: 
オプション:
	オプション:
	値:
	デフォルト:
	説明:

AdvancedADLdap 
org.jboss.security.negotiation.AdvancedADLoginModule 
説明: 
オプション:
	オプション:
	値:
	デフォルト:
	説明:
コード: UsersRoles 
クラス: org.jboss.security.auth.spi.UsersRolesLoginModule 
説明: Java プロパティーファイルからロードされる複数のユーザーとユーザーロールをサポートする単純なログインモジュール
オプション: 
	オプション: usersProperties
	値: ファイルまたはリソースの名前 
	デフォルト: users.properties
	説明: ユーザーとパスワードのマッピングを含むファイルまたはリソース。

	オプション: rolesProperties
	値: ファイルまたはリソースの名前
	デフォルト: roles.properties
	説明: ユーザーとパスワードのマッピングを含むファイルまたはリソース。ファイルの形式は username=role1,role2,role3 です。

	オプション: password-stacking
	値: useFirstPass / false
	デフォルト: false
	説明: このログインモジュールが ID として使用する LoginContext に格納された情報を検索するよう指定する場合は、useFirstPass に設定されます。このオプションは、他のログインモジュールをこのモジュールとスタックする場合に使用できます。

	オプション: hashAlgorithm
	値: 文字列
	デフォルト:
	説明: パスワードをハッシュ化するために使用する java.security.MessageDigest アルゴリズム。デフォルト値はないため、ハッシュを有効にするにはこのオプションを明示的に設定する必要があります。hashAlgorithm が指定された場合、CallbackHandler から取得されたクリアテキストパスワードは、UsernamePasswordLoginModule.validatePassword に inputPassword 引数として渡される前にハッシュ化されます。同様に、users.properties ファイルに格納された expectedPassword は、ハッシュ化する必要があります。

	オプション: hashEncoding
	値: "base64" / "hex"
	デフォルト: "base64"
	説明: ハッシュ化されたパスワードの文字列形式 (hashAlgorithm も設定された場合)。

	オプション: hashCharset
	値: 文字列
	デフォルト: コンテナーの環境のデフォルトエンコーディングセット。
	説明: クリアテキストパスワードをバイトアレイに変換するために使用されるエンコーディング。 

	オプション: unauthenticatedIdentity
	値: プリンシパル名
	デフォルト:
	説明: 認証情報を含まない要求に割り当てる必要があるプリンシパル名を定義します。これにより、保護されていないサーブレットが特定のロールを必要としない EJB でメソッドを呼び出すことができるようになります。このようなプリンシパルではロールが割り当てられず、unchecked permission 制約に関連付けられたセキュアでない EJB または EJB メソッドにのみアクセスできます。
カスタム認証モジュール

認証モジュールは、org.jboss.security.LoginModule の実装です。カスタム認証モジュールの作成の詳細については、API ドキュメンテーションを参照してください。