第10章 セキュリティー管理リファレンス
10.1. 含まれる認証モジュール
Role
が Code
名に含まれます。
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 つの論理テーブルに基づきます。
|
表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 | none 、simple 、または 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 つのステップで行われます。
|
表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
|
詳細 |
テスト目的でセキュリティーを素早くセットアップするモジュール次の単純なアルゴリズムが実装されます。
|
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 |
認証に使用するパスワード。パスワードを暗号化するには、コマンドラインで直接モジュールを使用します。
このコマンドの結果をモジュールオプションの値フィールドに貼り付けます。
|
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 チケットキャッシュを表すファイルまたはリソース。 |
デフォルト値は、使用するオペレーティングシステムによって異なります。
| チケットキャッシュの場所。 |
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 ドキュメンテーションを参照してください。