検索

付録A 参照資料

download PDF

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

以下の認証モジュールは JBoss EAP 6 に含まれています。これらの一部は承認と認証を処理します。これらには通常、Code の名前内に Role という単語が含まれます。
これらのモジュールを設定する場合は、Code 値またはフルネーム(パッケージ修飾)名を使用してモジュールを参照します。

認証モジュール

表A.1 RealmDirect
コード
RealmDirect
クラス
org.jboss.as.security.RealmDirectLoginModule
説明
セキュリティーレルムと直接インターフェースするログインモジュール実装。このログインモジュールを使用すると、バッキングストアとのすべての対話をレルムに委譲できます。これにより、複製された同期された定義が必要なくなります。リモーティング呼び出しおよび管理インターフェースに使用されます。
表A.2 RealmDirect モジュールオプション
オプション Type デフォルト 説明
realm
string
ApplicationRealm
必要なレルムの名前。
表A.3 Client
コード
Client
クラス
org.jboss.security.ClientLoginModule
説明
このログインモジュールは、JBoss EAP 6 がクライアントとして動作するときに呼び出し元のアイデンティティーおよびクレデンシャルを確立するように設計されています。サーバー認証に使用されるセキュリティードメインの一部として使用しないでください。
表A.4 Client モジュールオプション
オプション 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 に設定します。
表A.5 Remoting
コード
Remoting
クラス
org.jboss.as.security.remoting.RemotingLoginModule
説明
このログインモジュールは、現在認証中の要求が Remoting 接続上で受信された要求であるかどうかを確認するために使用されます。Remoting 接続上で受信された要求である場合、Remoting 認証プロセス中に作成されたアイデンティティーが使用され、現在の要求に関連付けられます。リクエストが Remoting 接続に到達しなかった場合、このモジュールは何もせず、JAAS ベースのログインが次のモジュールに続行できるようにします。
表A.6 Remoting モジュールオプション
オプション Type デフォルト 説明
password-stacking
useFirstPass or false
false
useFirstPass の値は、このログインモジュールが、最初にアイデンティティーの LoginContext に保存されている情報を検索することを示しています。このオプションは、このログインモジュールと他のログインモジュールをスタックする際に使用できます。
principalClass
完全修飾クラス名
none
プリンシパル名に String 引数を取るコンストラクターが含まれる Principal 実装クラス。
unauthenticatedIdentity
プリンシパル名。
none
認証情報を含まない要求に割り当てられるプリンシパル名を定義します。これを使用すると、保護されていないサーブレットは特定ロールを必要としない EJB でメソッドを呼び出すことができます。このようなプリンシパルには関連付けられたロールがなく、unchecked permission 制約に関連付けられたセキュアでない EJB または EJB メソッドのみにアクセスできます。
表A.7 Certificate
コード
Certificate
クラス
org.jboss.security.auth.spi.BaseCertLoginModule
説明
このログインモジュールは、X509 Certificates に基づいてユーザーを認証するように設計されています。このユースケースは、web アプリケーションの CLIENT-CERT 認証です。
表A.8 Certificate モジュールオプション
オプション Type デフォルト 説明
securityDomain
string
その他
信頼できる証明書を保持するトラストストアの JSSE 設定を持つセキュリティードメインの名前。
verifier
class
none
ログイン証明書の検証に使用する org.jboss.security.auth.certs.X509CertificateVerifier のクラス名。
表A.9 CertificateRoles
コード
CertificateRoles
クラス
org.jboss.security.auth.spi.CertRolesLoginModule
説明
このログインモジュールは、Certificate ログインモジュールを拡張して、プロパティーファイルからロールマッピング機能を追加します。Certificate ログインモジュールと同じオプションをすべて取得し、以下のオプションを追加します。
表A.10 CertificateRoles モジュールオプション
オプション 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 ファイルでロールグループセパレーターとして使用する文字。
表A.11 Database
コード Database
クラス
org.jboss.security.auth.spi.DatabaseServerLoginModule
説明
認証およびロールマッピングをサポートする JDBC ベースのログインモジュール。これは、以下の定義を持つ 2 つの論理テーブルに基づいています。
  • Principals: PrincipalID (text), Password (text)
  • Roles: PrincipalID (text), Role (text), RoleGroup (text)
表A.12 Database モジュールオプション
オプション Type デフォルト 説明
digestCallback
完全修飾クラス名
none
入力パスワードをハッシュ化するソルトなどのプレ/ポストダイジェストコンテンツを含む DigestCallback 実装のクラス名。hashAlgorithm が指定されている場合にのみ使用されます。
dsJndiName
JNDI リソース
java:/DefaultDS
認証情報を格納している JNDI リソースの名前。このオプションは必須です。
hashAlgorithm
文字列
プレーンパスワードを使用
パスワードをハッシュ化するために使用されるメッセージダイジェストアルゴリズム。サポートされるアルゴリズムは Java セキュリティープロバイダーによって異なりますが、MD5SHA-1、および SHA- 256 がサポートされます。
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 または hashUserPasswordtrue で、hashAlgorithm が指定されている場合にのみ使用されます。
suspendResume
boolean
true
データベースの操作中に既存の JTA トランザクションを一時停止するかどうか。
throwValidatorError
boolean
false
検証エラーがクライアントへ公開されるべきかどうかを示すフラグ。
transactionManagerJndiName
JNDI リソース
java:/TransactionManager
ログインモジュールによって使用されるトランザクションマネージャーの JNDI 名。
表A.13 DatabaseCertificate
コード
DatabaseCertificate
クラス
org.jboss.security.auth.spi.DatabaseCertLoginModule
説明
このログインモジュールは Certificate ログインモジュールを拡張して、データベーステーブルからロールマッピング機能を追加します。これには、同じオプションと、以下の追加オプションがあります。
表A.14 DatabaseCertificate モジュールオプション
オプション 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 トランザクションを一時停止するかどうか。
表A.15 Identity
コード
Identity
クラス
org.jboss.security.auth.spi.IdentityLoginModule
説明
モジュールオプションで指定されたプリンシパルをモジュールに対して認証されたサブジェクトに関連付けます。使用される Principal クラスのタイプは org.jboss.security.SimplePrincipal です。プリンシパルオプションが指定されていない場合は、guest の名前を持つプリンシパルが使用されます。
表A.16 Identity モジュールオプション
オプション Type デフォルト 説明
principal
文字列
guest
プリンシパルに使用する名前。
roles
カンマ区切りの文字列リスト
none
サブジェクトに割り当てられるロールのカンマ区切りの一覧。
表A.17 Ldap
コード
Ldap
クラス
org.jboss.security.auth.spi.LdapLoginModule
説明
JNDI LDAP プロバイダーを使用してアクセス可能な LDAP サーバーにユーザー名とパスワードを保存する際に、LDAP サーバーに対して認証を行います。オプションの多くは LDAP プロバイダーまたは環境によって決定されるため、必須ではありません。
表A.18 Ldap モジュールオプション
オプション Type デフォルト 説明
java.naming.factory.initial
クラス名
com.sun.jndi.ldap.LdapCtxFactory
InitialContextFactory 実装クラス名。
java.naming.provider.url
ldap:// URL
java.naming.security.protocol の値が SSLldap://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 に設定します。
表A.19 LdapExtended
コード
LdapExtended
クラス
org.jboss.security.auth.spi.LdapExtLoginModule
説明
検索を使用してバインドユーザーと関連のロールを検索する別の LDAP ログインモジュール実装。ロールは再帰的にクエリーを行い、DN に従って階層的なロール構造を移動します。これは Ldap モジュールと同じ java.naming オプションを使用し、Ldap モジュールの他のオプションの代わりに以下のオプションを使用します。
認証は 2 つの手順で行われます。
  1. LDAP サーバーへの最初のバインドは、bindDN および bindCredential オプションを使用して行われます。bindDN は、ユーザーとロールの baseCtxDN ツリーと rolesCtxDN ツリーの両方を検索できる LDAP ユーザーです。認証するユーザー DN は、baseFilter 属性で指定されたフィルターを使用してクエリーされます。
  2. ユーザー DN を InitialLdapContext 環境 Context.SECURITY_PRINCIPAL として使用して、生成されるユーザー DN は LDAP サーバーにバインドされ、認証されます。Context.SECURITY_CREDENTIALS プロパティーは、コールバックハンドラーが取得した String パスワードに設定されます。
表A.20 LdapExtended モジュールオプション
オプション 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)に対して定義されたユーザーが含まれる属性名を示します。ユーザーはこの属性名の内容に対して確認されます。このオプションが設定されていないとチェックは常に失敗するため、ロールオブジェクトはリファーラルツリーに保存できません。
表A.21 RoleMapping
コード
RoleMapping
クラス
org.jboss.security.auth.spi.RoleMappingLoginModule
説明
認証プロセスの最終結果であるロールを宣言型ロールにマッピングします。このモジュールは、セキュリティードメインに追加する際に、任意 としてフラグ付けする必要があります。
表A.22 RoleMapping モジュールオプション
オプション Type デフォルト 説明
rolesProperties
プロパティーファイルまたはリソースの完全修飾ファイルパスまたは完全修飾ファイル名。
none
ロールを置換ロールにマップするプロパティーファイルまたはリソースの完全修飾ファイルパスまたはファイル名。フォーマットは、以下のようになります。 original_role=role1,role2,role3
replaceRole
true または false
false
現在のロールを追加するか、マップされたロールに現在のロールを置き換えるか。true に設定した場合は、置き換えられます。
備考
rolesProperties モジュールオプションは RoleMapping に必要です。
表A.23 RunAs
コード
RunAs
クラス
org.jboss.security.auth.spi.RunAsLoginModule
説明
認証のログインフェーズの間に run as ロールをスタックにプッシュするヘルパーモジュール。コミットまたはアボートフェーズで run as ロールをスタックにポップします。このログインモジュールは、セキュアな EJB にアクセスするログインモジュールなど、セキュアなリソースにアクセスするためにセキュアなリソースにアクセスする必要のある他のログインモジュールのロールを提供します。RunAsLoginModule run as ロールを確立する必要があるログインモジュールの前に設定する必要があります。
表A.24 RunAs オプション
オプション Type デフォルト 説明
roleName
ロール名
nobody
ログインフェーズで run as ロールとして使用するロールの名前。
principalName
プリンシパル名
nobody
ログインフェーズで run as プリンシパルとして使用するプリンシパルの名前。指定されていない場合は、デフォルトの nobody が使用されます。
principalClass
完全修飾クラス名
none
プリンシパル名に String 引数を取るコンストラクターが含まれる Principal 実装クラス。
表A.25 Simple
コード
Simple
クラス
org.jboss.security.auth.spi.SimpleServerLoginModule
説明
テスト目的でセキュリティーを素早くセットアップするためのモジュール。以下の単純なアルゴリズムを実装します。
  • パスワードが null の場合、ユーザーを認証し guest のアイデンティティーと guest のロールを割り当てます。
  • パスワードがユーザーと同じ場合は、ユーザー名と adminguest の両ロールに等しいアイデンティティーを割り当てます。
  • そうしないと、認証に失敗します。

Simple モジュールオプション

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

表A.26 ConfiguredIdentity
コード
ConfiguredIdentity
クラス
org.picketbox.datasource.security.ConfiguredIdentityLoginModule
説明
モジュールオプションで指定されたプリンシパルをモジュールに対して認証されたサブジェクトに関連付けます。使用される Principal クラスのタイプは org.jboss.security.SimplePrincipal です。
表A.27 ConfiguredIdentity モジュールオプション
オプション Type デフォルト 説明
username
string none 認証のユーザー名
password
暗号化文字列 ""
認証に使用するパスワード。パスワードを暗号化するには、コマンドラインで直接モジュールを使用します。
java org.picketbox.datasource.security.SecureIdentityLoginModule password_to_encrypt
このコマンドの結果をモジュールオプションの値フィールドに貼り付けます。デフォルト値は空の文字列です。
principal
プリンシパルの名前
none
モジュールに対して認証されたサブジェクトに関連付けられるプリンシパル。
表A.28 SecureIdentity
コード
SecureIdentity
クラス
org.picketbox.datasource.security.SecureIdentityLoginModule
説明
このモジュールはレガシー目的のために提供されます。これにより、パスワードを暗号化してから、暗号化されたパスワードを静的プリンシパルで使用できます。アプリケーションが SecureIdentity を使用する場合は、パスワード vault メカニズムを代わりに使用することを検討してください。
表A.29 SecureIdentity モジュールオプション
オプション Type デフォルト 説明
username
string none 認証のユーザー名
password
暗号化文字列 ""
認証に使用するパスワード。パスワードを暗号化するには、コマンドラインで直接モジュールを使用します。
java org.picketbox.datasource.security.SecureIdentityLoginModule password_to_encrypt
このコマンドの結果をモジュールオプションの値フィールドに貼り付けます。デフォルト値は空の文字列です。
managedConnectionFactoryName
JCA リソース none
データソースの JCA 接続ファクトリーの名前。
表A.30 PropertiesUsers
コード
PropertiesUsers
クラス
org.jboss.security.auth.spi.PropertiesUsersLoginModule
説明
プロパティーファイルを使用して、認証用のユーザー名とパスワードを保存します。承認(ロールマッピング)は提供されません。このモジュールは、テストにのみ適しています。
表A.31 SimpleUsers
コード
SimpleUsers
クラス
org.jboss.security.auth.spi.SimpleUsersLoginModule
説明
このログインモジュールは、module-option を使用してユーザー名とクリアテキストのパスワードを保存します。module-option 'sname and value 属性は、ユーザー名とパスワードを指定します。これはテスト用にのみ含まれており、実稼働環境には適していません。
表A.32 LdapUsers
コード
LdapUsers
クラス
org.jboss.security.auth.spi.LdapUsersLoginModule
説明
LdapUsers モジュールは、ExtendedLDAP モジュールおよび AdvancedLdap モジュールに置き換えられました。
表A.33 Kerberos
コード
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。このモジュールは、認証およびロールマッピングを処理する別のモジュールとペアにする必要があります。
表A.34 Kerberos モジュールオプション
オプション Type デフォルト 説明
storekey
true または false
false
KerberosKey をサブジェクトのプライベート認証情報に追加するかどうか。
doNotPrompt
true または false
false
true に設定すると、キャッシュ、キータブ、または共有状態から認証情報を取得できない場合、ユーザーはパスワードを要求されません。
useTicketCache
true または falseのブール値
.
false
true の場合、TGT はチケットキャッシュから取得されます。false の場合、チケットキャッシュは使用されません。
ticketcache
Kerberos チケットキャッシュを表すファイルまたはリソース。これが設定され ている場合は、UseTicketCachetrue に設定する必要があります。設定エラーが返されます。
デフォルトは使用するオペレーティングシステムによって異なります。
  • Red Hat Enterprise Linux / Solaris: /tmp/krb5cc_uid (オペレーティングシステムの UID 数値を使用)。
  • Microsoft Windows Server の場合: Local Security Authority (LSA) API を使用してチケットキャッシュを見つけます。
チケットキャッシュの場所。
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 に設定します。
表A.35 SPNEGO
コード
SPNEGO
クラス
org.jboss.security.negotiation.spnego.SPNEGOLoginModule
説明
Microsoft Active Directory サーバーまたは SPNEGO をサポートするその他の環境への SPNEGO 認証を許可します。SPNEGO には Kerberos 認証情報を保持することもできます。このモジュールは、認証とロールマッピングを処理する別のモジュールとペアにする必要があります。
表A.36 SPNEGO モジュールオプション
オプション Type デフォルト 説明
serverSecurityDomain
string
Null.
Kerberos ログインモジュールを介してサーバーサービスの ID を取得するために使用されるドメインを定義します。このプロパティーを設定する必要があります。
removeRealmFromPrincipal
boolean
false
さらなる処理を行う前に Kerberos レルムをプリンシパルから削除する必要があることを指定します。
usernamePasswordDomain
string
null
Kerberos が失敗した場合にフェイルオーバーログインとして使用する必要のある設定内の別のセキュリティードメインを指定します。
表A.37 AdvancedLdap
コード AdvancedLdap
クラス
org.jboss.security.negotiation.AdvancedLdapLoginModule
説明
SASL や JAAS セキュリティードメインの使用など、追加機能を提供するモジュール。
表A.38 AdvancedLdap モジュールオプション
オプション Type デフォルト 説明
bindAuthentication
string
none
ディレクトリーサーバーへのバインドに使用する SASL 認証のタイプ。
java.naming.provider.url
string
java.naming.security.protocol の値が SSLldap://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)に対して定義されたユーザーが含まれる属性名を示します。ユーザーはこの属性名の内容に対して確認されます。このオプションが設定されていないとチェックは常に失敗するため、ロールオブジェクトはリファーラルツリーに保存できません。
表A.39 AdvancedADLdap
コード AdvancedADLdap
クラス
org.jboss.security.negotiation.AdvancedADLoginModule
説明
このモジュールは AdvancedLdap ログインモジュールを拡張し、Microsoft Active Directory に関連する追加のパラメーターを追加します。
表A.40 UsersRoles
コード UsersRoles
クラス
org.jboss.security.auth.spi.UsersRolesLoginModul
説明
2 つの異なるプロパティーファイルに格納された複数のユーザーおよびユーザーロールをサポートする簡単なログインモジュール。
表A.41 UsersRoles モジュールオプション
オプション 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 ドキュメントを参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.