付録A 参照資料
A.1. 含まれる認証モジュール
以下の認証モジュールは JBoss EAP 6 に含まれています。これらの一部は承認と認証を処理します。これらには通常、
Code
の名前内に Role
という単語が含まれます。
これらのモジュールを設定する場合は、
Code
値またはフルネーム(パッケージ修飾)名を使用してモジュールを参照します。
認証モジュール
コード | RealmDirect
|
クラス | org.jboss.as.security.RealmDirectLoginModule
|
説明 |
セキュリティーレルムと直接インターフェースするログインモジュール実装。このログインモジュールを使用すると、バッキングストアとのすべての対話をレルムに委譲できます。これにより、複製された同期された定義が必要なくなります。リモーティング呼び出しおよび管理インターフェースに使用されます。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
realm |
string
| ApplicationRealm
|
必要なレルムの名前。
|
コード | Client
|
クラス | org.jboss.security.ClientLoginModule
|
説明 |
このログインモジュールは、JBoss EAP 6 がクライアントとして動作するときに呼び出し元のアイデンティティーおよびクレデンシャルを確立するように設計されています。サーバー認証に使用されるセキュリティードメインの一部として使用しないでください。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
multi-threaded | true または false
| false
|
各スレッドに独自のプリンシパルおよび認証情報ストレージがある場合は true に設定されます。仮想マシンのすべてのスレッドが同じアイデンティティーおよび認証情報を共有することを示すには、false に設定します。
|
password-stacking
| useFirstPass or false
| false
| UseFirstPass に設定して、このログインモジュールがアイデンティティーとして使用する LoginContext に保存されている情報を検索することを示します。このオプションは、このログインモジュールと他のログインモジュールをスタックする際に使用できます。
|
restore-login-identity
| true または false
| false
| login() メソッド開始時に表示される ID および認証情報が logout() メソッドの呼び出し後に復元される場合は true に設定します。
|
コード | Remoting
|
クラス | org.jboss.as.security.remoting.RemotingLoginModule
|
説明 |
このログインモジュールは、現在認証中の要求が Remoting 接続上で受信された要求であるかどうかを確認するために使用されます。Remoting 接続上で受信された要求である場合、Remoting 認証プロセス中に作成されたアイデンティティーが使用され、現在の要求に関連付けられます。リクエストが Remoting 接続に到達しなかった場合、このモジュールは何もせず、JAAS ベースのログインが次のモジュールに続行できるようにします。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
password-stacking | useFirstPass or false
| false
| useFirstPass の値は、このログインモジュールが、最初にアイデンティティーの LoginContext に保存されている情報を検索することを示しています。このオプションは、このログインモジュールと他のログインモジュールをスタックする際に使用できます。
|
principalClass
|
完全修飾クラス名
|
none
|
プリンシパル名に String 引数を取るコンストラクターが含まれる
Principal 実装クラス。
|
unauthenticatedIdentity
|
プリンシパル名。
|
none
|
認証情報を含まない要求に割り当てられるプリンシパル名を定義します。これを使用すると、保護されていないサーブレットは特定ロールを必要としない EJB でメソッドを呼び出すことができます。このようなプリンシパルには関連付けられたロールがなく、
unchecked permission 制約に関連付けられたセキュアでない EJB または EJB メソッドのみにアクセスできます。
|
コード | Certificate
|
クラス | org.jboss.security.auth.spi.BaseCertLoginModule
|
説明 |
このログインモジュールは、
X509 Certificates に基づいてユーザーを認証するように設計されています。このユースケースは、web アプリケーションの CLIENT-CERT 認証です。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
securityDomain
| string | その他
|
信頼できる証明書を保持するトラストストアの JSSE 設定を持つセキュリティードメインの名前。
|
verifier
| class |
none
|
ログイン証明書の検証に使用する
org.jboss.security.auth.certs.X509CertificateVerifier のクラス名。
|
コード | CertificateRoles
|
クラス | org.jboss.security.auth.spi.CertRolesLoginModule
|
説明 |
このログインモジュールは、Certificate ログインモジュールを拡張して、プロパティーファイルからロールマッピング機能を追加します。Certificate ログインモジュールと同じオプションをすべて取得し、以下のオプションを追加します。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
rolesProperties
| string | roles.properties
|
各ユーザーに割り当てるロールを含むリソースまたはファイルの名前です。ロールプロパティーファイルの形式は
username=role1,role2 である必要があります。username は証明書の DN、任意の = (等しい)およびスペース文字をエスケープします。正しい形式の例を以下に示します。
CN\=unit-tests-client,\ OU\=Red\ Hat\ Inc.,\ O\=Red\ Hat\ Inc.,\ ST\=North\ Carolina,\ C\=US |
defaultRolesProperties
| string | defaultRoles.properties
| rolesProperties ファイルが見つからない場合にフォールバックするリソースまたはファイルの名前。
|
roleGroupSeparator
| 1 文字 | . (1 ピリオド)
| rolesProperties ファイルでロールグループセパレーターとして使用する文字。
|
コード | Database |
クラス | org.jboss.security.auth.spi.DatabaseServerLoginModule
|
説明 |
認証およびロールマッピングをサポートする JDBC ベースのログインモジュール。これは、以下の定義を持つ 2 つの論理テーブルに基づいています。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
digestCallback
| 完全修飾クラス名 |
none
|
入力パスワードをハッシュ化するソルトなどのプレ/ポストダイジェストコンテンツを含む
DigestCallback 実装のクラス名。hashAlgorithm が指定されている場合にのみ使用されます。
|
dsJndiName
| JNDI リソース | java:/DefaultDS
|
認証情報を格納している JNDI リソースの名前。このオプションは必須です。
|
hashAlgorithm
| 文字列 |
プレーンパスワードを使用
|
パスワードをハッシュ化するために使用されるメッセージダイジェストアルゴリズム。サポートされるアルゴリズムは Java セキュリティープロバイダーによって異なりますが、
MD5 、SHA-1、および がサポートされます。
|
hashCharset
| 文字列 |
プラットフォームのデフォルトのエンコーディング
|
パスワードをバイトアレイに変換するときに使用する文字セット/エンコーディングの名前。これには、サポートされるすべての Java 文字セット名が含まれます。
|
hashEncoding
| 文字列 |
Base64
|
使用する文字列エンコーディング形式。
|
ignorePasswordCase
| boolean |
false
|
パスワードの比較で大文字と小文字を無視するかどうかを示すフラグ。
|
inputValidator
| 完全修飾クラス名 |
none
|
クライアントによって提供されるユーザー名およびパスワードを検証するために使用される InputValidator 実装のインスタンス。
|
principalsQuery
| 準備済み SQL ステートメント | Principals から Password from PrincipalID=? を選択します。
|
プリンシパルに関する情報を取得するための準備済み SQL クエリー。
|
rolesQuery
| 準備済み SQL ステートメント |
none
|
ロールに関する情報を取得するための準備済み SQL クエリー。これは
、Role、RoleGroup from Roles where PrincipalID=? を選択 します。ここで、Role はロール名で、RoleGroup 列の値は常に大文字の R または CallerPrincipal を持つ Roles である必要があります。
|
storeDigestCallback
| 完全修飾クラス名 |
none
|
ストア/予想されるパスワードをハッシュ化するソルトなどのプレまたはポストダイジェストコンテンツを含む
DigestCallback 実装のクラス名。hashStorePassword または hashUserPassword が true で、hashAlgorithm が指定されている場合にのみ使用されます。
|
suspendResume
| boolean |
true
|
データベースの操作中に既存の JTA トランザクションを一時停止するかどうか。
|
throwValidatorError
| boolean |
false
|
検証エラーがクライアントへ公開されるべきかどうかを示すフラグ。
|
transactionManagerJndiName
| JNDI リソース |
java:/TransactionManager
|
ログインモジュールによって使用されるトランザクションマネージャーの JNDI 名。
|
コード | DatabaseCertificate
|
クラス | org.jboss.security.auth.spi.DatabaseCertLoginModule
|
説明 |
このログインモジュールは Certificate ログインモジュールを拡張して、データベーステーブルからロールマッピング機能を追加します。これには、同じオプションと、以下の追加オプションがあります。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
dsJndiName
| JNDI リソース | java:/DefaultDS
|
認証情報を格納している JNDI リソースの名前。このオプションは必須です。
|
rolesQuery
| 準備済み SQL ステートメント | select Role,RoleGroup from Roles where PrincipalID=?
|
ロールをマッピングするために実行される SQL の準備済みステートメント。これは
、Role、RoleGroup from Roles where PrincipalID=? と同等である必要があります。ここで、Role はロール名で、RoleGroup 列の値は常に大文字の R または CallerPrincipal を持つ Roles である必要があります。
|
suspendResume
| true または false
| true
|
データベースの操作中に既存の JTA トランザクションを一時停止するかどうか。
|
コード | Identity
|
クラス | org.jboss.security.auth.spi.IdentityLoginModule
|
説明 |
モジュールオプションで指定されたプリンシパルをモジュールに対して認証されたサブジェクトに関連付けます。使用される Principal クラスのタイプは
org.jboss.security.SimplePrincipal です。プリンシパルオプションが指定されていない場合は、guest の名前を持つプリンシパルが使用されます。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
principal
| 文字列 | guest
|
プリンシパルに使用する名前。
|
roles
| カンマ区切りの文字列リスト |
none
|
サブジェクトに割り当てられるロールのカンマ区切りの一覧。
|
コード | Ldap
|
クラス | org.jboss.security.auth.spi.LdapLoginModule
|
説明 |
JNDI LDAP プロバイダーを使用してアクセス可能な LDAP サーバーにユーザー名とパスワードを保存する際に、LDAP サーバーに対して認証を行います。オプションの多くは LDAP プロバイダーまたは環境によって決定されるため、必須ではありません。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
java.naming.factory.initial
| クラス名 | com.sun.jndi.ldap.LdapCtxFactory
| InitialContextFactory 実装クラス名。
|
java.naming.provider.url
| ldap:// URL
| java.naming.security.protocol の値が SSL 、ldap://localhost:636 の場合は になります。 ldap://localhost:389
|
LDAP サーバーの URL。
|
java.naming.security.authentication
| SASL メカニズムの名前なし、シンプル 、または SASL メカニズムの名前
| simple
|
LDAP サーバーにバインドするために使用するセキュリティーレベル。
|
java.naming.security.protocol
| トランスポートプロトコル |
指定されていない場合、プロバイダーによって決定されます。
|
SSL や TLS などのセキュアなアクセスに使用するトランスポートプロトコル。
|
java.naming.security.principal
| string |
none
|
サービスへの呼び出し元を認証するためのプリンシパルの名前。これは、以下で説明されているその他のプロパティーから構築されます。
|
java.naming.security.credentials
| 認証情報のタイプ |
none
|
認証スキームによって使用される認証情報のタイプ。ハッシュ化されたパスワード、クリアテキストのパスワード、キー、証明書などが例となります。このプロパティーが指定されていない場合、この動作はサービスプロバイダーによって決定されます。
|
principalDNPrefix
| string |
|
ユーザー DN を形成するユーザー名に追加されるプレフィックス。ユーザーに対しユーザー名を要求し、
principalDNPrefix および principalDNSuffix を使用して完全修飾 DN を構築できます。
|
principalDNSuffix
| string |
|
ユーザー DN を形成するユーザー名に追加されるサフィックス。ユーザーに対しユーザー名を要求し、
principalDNPrefix および principalDNSuffix を使用して完全修飾 DN を構築できます。
|
useObjectCredential
| true または false
|
false
|
JAAS PasswordCallback を使用した
char[] パスワードではなく Callback の org.jboss.security.auth.callback.ObjectCallback タイプを使用して、不透明なオブジェクトとしてクレデンシャルを取得するかどうか。これにより、非char[] 認証情報情報を LDAP サーバーに渡すことができます。
|
rolesCtxDN
| 完全修飾 DN |
none
|
ユーザーロールを検索するコンテキストの完全修飾 DN。
|
userRolesCtxDNAttributeName
|
属性
|
none
|
ユーザーロールを検索するコンテキストの DN を含むユーザーオブジェクトの属性です。ユーザーのロールを検索するコンテキストはユーザーごとに一意となる可能性がある点で、
rolesCtxDN とは異なります。
|
roleAttributeID
| 属性 | roles
|
ユーザーロールを含む属性の名前。
|
roleAttributeIsDN
| true または false
| false
| roleAttributeID にロールオブジェクトの完全修飾 DN が含まれるかどうか。false の場合、ロール名はコンテキスト名の roleNameAttributeId 属性の値から取得されます。Microsoft Active Directory などの特定のディレクトリースキーマでは、この属性を true に設定する必要があります。
|
roleNameAttributeID
| 属性 | name
|
ロール名を含む
roleCtxDN コンテキスト内の属性の名前。roleAttributeIsDN プロパティーが true に設定されている場合、このプロパティーはロールオブジェクトの名前属性の検索に使用されます。
|
uidAttributeID
| 属性 | uid
|
ユーザー ID に対応する
UserRolesAttributeDN の属性の名前。これは、ユーザーロールの特定に使用されます。
|
matchOnUserDN
| true または false
| false
|
ユーザーロールの検索がユーザーの完全識別 DN で一致するか、またはユーザー名のみに一致するかどうか。
true の場合、完全なユーザー DN が match 値として使用されます。false の場合、uidAttributeName 属性に対する一致値としてユーザー名のみが使用されます。
|
allowEmptyPasswords
| true または false
| false
|
空のパスワードを許可するかどうか。ほとんどの LDAP サーバーは、空のパスワードを匿名ログイン試行として処理します。空のパスワードを拒否するには、これを
false に設定します。
|
コード | LdapExtended
|
クラス | org.jboss.security.auth.spi.LdapExtLoginModule
|
説明 |
検索を使用してバインドユーザーと関連のロールを検索する別の LDAP ログインモジュール実装。ロールは再帰的にクエリーを行い、DN に従って階層的なロール構造を移動します。これは Ldap モジュールと同じ
java.naming オプションを使用し、Ldap モジュールの他のオプションの代わりに以下のオプションを使用します。
認証は 2 つの手順で行われます。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
baseCtxDN
| 完全修飾 DN |
none
|
ユーザーの検索を開始するため、トップレベルのコンテキストの固定 DN です。
|
bindCredential
| 文字列、オプションで暗号化 |
none
|
詳細は、『JBoss EAP の『アプリケーションセキュリティーガイド』』 を参照してください。
|
bindDN
| 完全修飾 DN |
none
|
ユーザーおよびロールクエリーの LDAP サーバーに対してバインドするために使用される DN です。この DN には、
baseCtxDN および rolesCtxDN の値に対する読み取りおよび検索パーミッションが必要です。
|
baseFilter
| LDAP フィルター文字列 |
none
|
認証するユーザーのコンテキストを見つけるために使用される検索フィルター。
{0} 式を使用しているフィルターに、入力ユーザー名またはログインモジュールコールバックから取得した userDN が置換されます。検索フィルターの一般的な例は (uid={0}) です。
|
rolesCtxDN
| 完全修飾 DN |
none
|
ユーザーロールを検索するためのコンテキストの固定 DN です。これは、実際のロールがである DN ではなく、ユーザーロールを含むオブジェクトがある DN です。たとえば、Microsoft Active Directory サーバーでは、これは、ユーザーアカウントが存在する DN です。
|
roleFilter
| LDAP フィルター文字列 |
none
|
認証済みユーザーと関連付けられたロールを検索するために使用される検索フィルター。
{0} 式を使用しているフィルターに、入力ユーザー名またはログインモジュールコールバックから取得した userDN が置換されます。{1} が使用されると、認証された userDN がフィルターに置き換わります。入力ユーザー名に一致する検索フィルター例は (member={0}) です。認証済み userDN に一致する他の例は (member={1}) です。
|
roleAttributeIsDN | true または false
| false
| roleAttributeID にロールオブジェクトの完全修飾 DN が含まれるかどうか。false の場合、ロール名はコンテキスト名の roleNameAttributeId 属性の値から取得されます。Microsoft Active Directory などの特定のディレクトリースキーマでは、この属性を true に設定する必要があります。
|
defaultRole
|
ロール名
|
none
|
認証された全ユーザーに対して含まれるロール
|
parseRoleNameFromDN
| true または、以下を実行します。 false
| false
|
クエリーによって返された DN に roleNameAttributeID が含まれるかどうかを示すフラグ。
true に設定すると、DN は roleNameATtributeID に対してチェックされます。false に設定すると、DN は roleNameATtributeID に対してチェックされません。このフラグは LDAP クエリーのパフォーマンスを向上できます。
|
parseUsername
| true または、以下を実行します。 false
| false
|
DN がユーザー名に対して解析されるかどうかを示すフラグ。
true に設定すると、DN はユーザー名に対して解析されます。false に設定すると、DN はユーザー名に対して解析されません。このオプションは、usernameBeginString および usernameEndString とともに使用されます。
|
usernameBeginString
|
string
|
none
|
ユーザー名を公開するため、DN の最初から削除される文字列を定義します。このオプションは、
usernameEndString と併用されます。
|
usernameEndString
|
string
|
none
|
ユーザー名を公開するため、DN の最後から削除される文字列を定義します。このオプションは、
usernameBeginString と併用されます。
|
roleNameAttributeID
| 属性 | name
|
ロール名を含む
roleCtxDN コンテキスト内の属性の名前。roleAttributeIsDN プロパティーが true に設定されている場合、このプロパティーはロールオブジェクトの名前属性の検索に使用されます。
|
distinguishedNameAttribute
| 属性 | distinguishedName
|
ユーザーの DN を含むユーザーエントリーの属性の名前。これは、ユーザー自身の DN に正しいユーザーマッピングを妨げる特殊文字(バックスラッシュなど)が含まれる場合に必要になることがあります。属性が存在しない場合は、エントリーの DN が使用されます。
|
roleRecursion
| integer | 0
|
ロール検索の再帰レベルの数は、一致するコンテキストの下に続きます。再帰を無効にするには、これを
0 に設定します。
|
searchTimeLimit
| integer | 10000 (10 秒)
|
ユーザーまたはロールの検索のタイムアウト (ミリ秒単位)。
|
searchScope
| OBJECT_SCOPE、ONELEVEL_SCOPE、SUBTREE_SCOPE のいずれか。
| SUBTREE_SCOPE
|
使用する検索範囲。
|
allowEmptyPasswords
| true または false
| false
|
空のパスワードを許可するかどうか。ほとんどの LDAP サーバーは、空のパスワードを匿名ログイン試行として処理します。空のパスワードを拒否するには、これを false に設定します。
|
referralUserAttributeIDToCheck
|
属性
|
none
|
紹介を使用しない場合、このオプションは無視することができます。リファーラルを使用し、ロールオブジェクトがリファーラル内部にある場合、このオプションは特定のロール(例:
member )に対して定義されたユーザーが含まれる属性名を示します。ユーザーはこの属性名の内容に対して確認されます。このオプションが設定されていないとチェックは常に失敗するため、ロールオブジェクトはリファーラルツリーに保存できません。
|
コード | RoleMapping
|
クラス | org.jboss.security.auth.spi.RoleMappingLoginModule
|
説明 |
認証プロセスの最終結果であるロールを宣言型ロールにマッピングします。このモジュールは、セキュリティードメインに追加する際に、
任意 としてフラグ付けする必要があります。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
rolesProperties
| プロパティーファイルまたはリソースの完全修飾ファイルパスまたは完全修飾ファイル名。 | none
|
ロールを置換ロールにマップするプロパティーファイルまたはリソースの完全修飾ファイルパスまたはファイル名。フォーマットは、以下のようになります。
original_role=role1,role2,role3
|
replaceRole
| true または false
| false
|
現在のロールを追加するか、マップされたロールに現在のロールを置き換えるか。
true に設定した場合は、置き換えられます。
|
備考
rolesProperties
モジュールオプションは RoleMapping に必要です。
コード | RunAs
|
クラス | org.jboss.security.auth.spi.RunAsLoginModule
|
説明 |
認証のログインフェーズの間に
run as ロールをスタックにプッシュするヘルパーモジュール。コミットまたはアボートフェーズで run as ロールをスタックにポップします。このログインモジュールは、セキュアな EJB にアクセスするログインモジュールなど、セキュアなリソースにアクセスするためにセキュアなリソースにアクセスする必要のある他のログインモジュールのロールを提供します。RunAsLoginModule run as ロールを確立する必要があるログインモジュールの前に設定する必要があります。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
roleName
| ロール名 | nobody
|
ログインフェーズで
run as ロールとして使用するロールの名前。
|
principalName
| プリンシパル名 | nobody
|
ログインフェーズで
run as プリンシパルとして使用するプリンシパルの名前。指定されていない場合は、デフォルトの nobody が使用されます。
|
principalClass
| 完全修飾クラス名 |
none
|
プリンシパル名に String 引数を取るコンストラクターが含まれる
Principal 実装クラス。
|
コード | Simple
|
クラス | org.jboss.security.auth.spi.SimpleServerLoginModule
|
説明 |
テスト目的でセキュリティーを素早くセットアップするためのモジュール。以下の単純なアルゴリズムを実装します。
|
Simple
モジュールオプション
Simple
モジュールにはオプションがありません。
コード | ConfiguredIdentity
|
クラス | org.picketbox.datasource.security.ConfiguredIdentityLoginModule
|
説明 |
モジュールオプションで指定されたプリンシパルをモジュールに対して認証されたサブジェクトに関連付けます。使用される Principal クラスのタイプは
org.jboss.security.SimplePrincipal です。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
username
| string | none | 認証のユーザー名 |
password
| 暗号化文字列 | "" |
認証に使用するパスワード。パスワードを暗号化するには、コマンドラインで直接モジュールを使用します。
このコマンドの結果をモジュールオプションの値フィールドに貼り付けます。デフォルト値は空の文字列です。
|
principal
| プリンシパルの名前 | none
|
モジュールに対して認証されたサブジェクトに関連付けられるプリンシパル。
|
コード | SecureIdentity
|
クラス | org.picketbox.datasource.security.SecureIdentityLoginModule
|
説明 |
このモジュールはレガシー目的のために提供されます。これにより、パスワードを暗号化してから、暗号化されたパスワードを静的プリンシパルで使用できます。アプリケーションが
SecureIdentity を使用する場合は、パスワード vault メカニズムを代わりに使用することを検討してください。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
username
| string | none | 認証のユーザー名 |
password
| 暗号化文字列 | "" |
認証に使用するパスワード。パスワードを暗号化するには、コマンドラインで直接モジュールを使用します。
このコマンドの結果をモジュールオプションの値フィールドに貼り付けます。デフォルト値は空の文字列です。
|
managedConnectionFactoryName
| JCA リソース | none |
データソースの JCA 接続ファクトリーの名前。
|
コード | PropertiesUsers
|
クラス | org.jboss.security.auth.spi.PropertiesUsersLoginModule
|
説明 |
プロパティーファイルを使用して、認証用のユーザー名とパスワードを保存します。承認(ロールマッピング)は提供されません。このモジュールは、テストにのみ適しています。
|
コード | SimpleUsers
|
クラス | org.jboss.security.auth.spi.SimpleUsersLoginModule
|
説明 |
このログインモジュールは、
module-option を使用してユーザー名とクリアテキストのパスワードを保存します。module-option 'sname and value 属性は、ユーザー名とパスワードを指定します。これはテスト用にのみ含まれており、実稼働環境には適していません。
|
コード | LdapUsers
|
クラス | org.jboss.security.auth.spi.LdapUsersLoginModule
|
説明 | LdapUsers モジュールは、ExtendedLDAP モジュールおよび AdvancedLdap モジュールに置き換えられました。
|
コード | Kerberos
|
クラス | com.sun.security.auth.module.Krb5LoginModule .IBM JDK では、クラス名は com.ibm.security.auth.module.Krb5LoginModule です。
|
説明 |
GSSAPI を使用して Kerberos ログイン認証を実行します。このモジュールは、Sun Microsystems によって提供される API のセキュリティーフレームワークの一部です。詳細は、を参照してください http://docs.oracle.com/javase/7/docs/jre/api/security/jaas/spec/com/sun/security/auth/module/Krb5LoginModule.html。このモジュールは、認証およびロールマッピングを処理する別のモジュールとペアにする必要があります。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
storekey
| true または false
| false | KerberosKey をサブジェクトのプライベート認証情報に追加するかどうか。
|
doNotPrompt
| true または false
| false | true に設定すると、キャッシュ、キータブ、または共有状態から認証情報を取得できない場合、ユーザーはパスワードを要求されません。
|
useTicketCache
| true または false のブール値
| false | true の場合、TGT はチケットキャッシュから取得されます。false の場合、チケットキャッシュは使用されません。
|
ticketcache
| Kerberos チケットキャッシュを表すファイルまたはリソース。これが設定され ている場合は、UseTicketCache も true に設定する必要があります。設定エラーが返されます。 |
デフォルトは使用するオペレーティングシステムによって異なります。
| チケットキャッシュの場所。 |
useKeyTab
| true または false
| false | キーテーブルファイルからプリンシパルのキーを取得するかどうか。 |
keytab
| Kerberos keytab を表すファイルまたはリソース。 |
オペレーティングシステムの Kerberos 設定ファイルの場所、または
/home/ユーザー/krb5.keytab の場所
| キーテーブルファイルの場所。 |
principal
| string | none |
プリンシパルの名前。これは、単純なユーザー名または
host/testserver.acme.com などのサービス名のいずれかになります。キーテーブルからプリンシパルを取得する場合、またはキーテーブルに複数のプリンシパルが含まれる場合には、このパラメーターを使用します。
|
useFirstPass
| true または false
| false | 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 に設定します。
|
コード | SPNEGO
|
クラス | org.jboss.security.negotiation.spnego.SPNEGOLoginModule
|
説明 |
Microsoft Active Directory サーバーまたは SPNEGO をサポートするその他の環境への SPNEGO 認証を許可します。SPNEGO には Kerberos 認証情報を保持することもできます。このモジュールは、認証とロールマッピングを処理する別のモジュールとペアにする必要があります。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
serverSecurityDomain
| string
| Null .
|
Kerberos ログインモジュールを介してサーバーサービスの ID を取得するために使用されるドメインを定義します。このプロパティーを設定する必要があります。
|
removeRealmFromPrincipal
| boolean
| false
|
さらなる処理を行う前に Kerberos レルムをプリンシパルから削除する必要があることを指定します。
|
usernamePasswordDomain
| string
| null
|
Kerberos が失敗した場合にフェイルオーバーログインとして使用する必要のある設定内の別のセキュリティードメインを指定します。
|
コード | AdvancedLdap |
クラス | org.jboss.security.negotiation.AdvancedLdapLoginModule
|
説明 |
SASL や JAAS セキュリティードメインの使用など、追加機能を提供するモジュール。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
bindAuthentication
|
string
|
none
|
ディレクトリーサーバーへのバインドに使用する SASL 認証のタイプ。
|
java.naming.provider.url
| string
| java.naming.security.protocol の値が SSL 、ldap://localhost:686 の場合は になります。 ldap://localhost:389
|
ディレクトリーサーバーの URI。
|
baseCtxDN
|
完全修飾 DN
|
none
|
検索のベースとして使用する識別名。
|
baseFilter
|
LDAP 検索フィルターを表す文字列。
|
none
|
検索結果を絞り込むために使用するフィルター。
|
roleAttributeID
|
LDAP 属性を表す文字列値。
|
none
|
承認ロールの名前が含まれる LDAP 属性です。
|
roleAttributeIsDN
| true または false
| false
|
ロール属性が識別名 (DN) であるかどうか。
|
roleNameAttributeID
|
LDAP 属性を表す文字列。
|
none
|
実際のロール属性が含まれる
RoleAttributeId 内に含まれる属性。
|
recurseRoles
| true または false
| false
| RoleAttributeId でロールを再帰的に検索するかどうか。
|
referralUserAttributeIDToCheck
|
属性
|
none
|
紹介を使用しない場合、このオプションは無視することができます。リファーラルを使用し、ロールオブジェクトがリファーラル内部にある場合、このオプションは特定のロール(例:
member )に対して定義されたユーザーが含まれる属性名を示します。ユーザーはこの属性名の内容に対して確認されます。このオプションが設定されていないとチェックは常に失敗するため、ロールオブジェクトはリファーラルツリーに保存できません。
|
コード | AdvancedADLdap |
クラス | org.jboss.security.negotiation.AdvancedADLoginModule
|
説明 |
このモジュールは
AdvancedLdap ログインモジュールを拡張し、Microsoft Active Directory に関連する追加のパラメーターを追加します。
|
コード | UsersRoles |
クラス | org.jboss.security.auth.spi.UsersRolesLoginModul
|
説明 |
2 つの異なるプロパティーファイルに格納された複数のユーザーおよびユーザーロールをサポートする簡単なログインモジュール。
|
オプション | Type | デフォルト | 説明 |
---|---|---|---|
usersProperties
|
ファイルまたはリソースへのパス。
| users.properties
|
ユーザー/パスワード間のマッピングが含まれるファイルまたはリソースです。ファイルの形式は
username=password です。
|
rolesProperties
|
ファイルまたはリソースへのパス。
| roles.properties
|
ユーザー/ ロール間のマッピングが含まれるファイルまたはリソースです。ファイルの形式は、以下のようになります。
username=role1,role2,role3
|
password-stacking
| useFirstPass or false
| false
| useFirstPass の値は、このログインモジュールが ID の LoginContext に保存されている情報を参照することを示します。このオプションは、このログインモジュールと他のログインモジュールをスタックする際に使用できます。
|
hashAlgorithm
|
パスワードハッシュアルゴリズムを表す文字列。
| none
|
パスワードのハッシュ化に使用する
java.security.MessageDigest アルゴリズムの名前。デフォルトがないため、ハッシュを有効にするには、このオプションを明示的に設定する必要があります。hashAlgorithm を指定すると、CallbackHandler から取得したクリアテキストのパスワードが UsernamePasswordLoginModule.validatePassword 引数として inputPassword に渡される前にハッシュ化されます。users.properties ファイルに保存されているパスワードは正確にハッシュ化する必要があります。
|
hashEncoding
| base64 または hex
| base64
|
hashAlgorithm も設定されている場合、ハッシュ化されたパスワードの文字列形式。
|
hashCharset
|
string
|
コンテナーのランタイム環境に設定されるデフォルトのエンコーディング
|
クリアテキストのパスワードをバイトアレイに変換するために使用されるエンコーディング。
|
unauthenticatedIdentity
|
プリンシパル名
|
none
|
認証情報を含まない要求に割り当てられるプリンシパル名を定義します。これを使用すると、保護されていないサーブレットは特定ロールを必要としない EJB でメソッドを呼び出すことができます。このようなプリンシパルには関連するロールがなく、
チェックされていないパーミッション 制約に関連付けられたセキュアでない EJB または EJB メソッドのみにアクセスできます。
|
カスタム認証モジュール
認証モジュールは、javax.security.auth.spi.LoginModule
の実装です。カスタム認証モジュールの作成に関する詳細は、API ドキュメントを参照してください。