メッセージング・エンジンに接続するユーザーの認証
メッセージング・エンジンに接続 できるようユーザーが認証されるように、ユーザー資格情報を検証する必要があります。
手順
- ユーザー・レジストリーを構成します。 Liberty では、以下のタイプのレジストリーがサポートされています。
- QuickStartSecurity (1 ユーザーのみをサポートします)
このオプション は、アプリケーション接続を認証するためにユーザー名とパスワードを 指定する最も簡単な方法です。<quickStartSecurity> エレメントを使用して、Liberty の単純な (1 ユーザーの) セキュリティー・セットアップを使用可能にすることができます。server.xml ファイル内で以下の <quickStartSecurity> エレメントを定義します。
以下の 例では、<quickStartSecurity> エレメントを使用して、 名前が liberty でパスワード が liberty123 の単一ユーザーを定義しています。<quickStartSecurity userName="liberty" userPassword="liberty123"/>
注: server.xml ファイル 内に未加工パスワードが指定されないようにしてください (例えば liberty123)。パスワードをエンコードするには、Liberty で使用可能なセキュリティー・ユーティリティー・ツールを使用します。<WLP_HOME>\wlp\bin>securityUtility encode "liberty123"
パスワードの保護について詳しくは、 securityUtility コマンドを参照してください。
- 基本ユーザー・レジストリー (複数ユーザー、およびユーザー・グループの宣言をサポートします)基本ユーザー・レジストリーを使用してユーザーを認証および許可するように Liberty を構成できます。Liberty サーバー用の server.xml ファイル内で、基本ユーザー・レジストリーをセットアップし、複数のロール・マッピングを構成することができます。注: <basicRegistry> の 構成は <quickStartSecurity> レジストリーをオーバーライドします。
<basicRegistry id="basic" realm="customRealm"> <user name="user1" password="user1pwd" /> <user name="user2" password="user2pwd" /> <user name="user3" password="user3pwd" /> <user name="user4" password="user4pwd" /> <user name="user5" password="user5pwd" /> <user name="user6" password="user6pwd" /> <user name="user7" password="user7pwd" /> <user name="user8" password="user8pwd" /> <group name="Developers"> <member name="user2" /> <member name="user4" /> </group> <group name="Testers"> <member name="user8" /> <member name="user7" /> </group> </basicRegistry>
- Lightweight Directory Access Protocol (LDAP) レジストリー (Microsoft Active Directory や IBM Directory Server など
の外部レジストリー)。認証用に Liberty で LDAP サーバーを構成できます。
<ldapRegistry id="LDAP" realm="SampleLdapIDSRealm" host="ctldap1.austin.ibm.com" port="389" ignoreCase="true" baseDN="o=ibm,c=us" ldapType="IBM Tivoli Directory Server" idsFilters="ibm_dir_server" searchTimeout="8m"> <failoverServers name="failoverLdapServers"> <server host="ralwang.rtp.raleigh.ibm.com" port="389"/> </failoverServers> </ldapRegistry>
注:- LDAP レジストリーで指定されているユーザー名およびパスワード は、いずれも接続ファクトリー内で指定できます。
- server.xml ファイル内 に定義できるレジストリー・タイプは 1 つのみです (基本レジストリーまたは LDAP レジストリーのいずれか)。
- QuickStartSecurity (1 ユーザーのみをサポートします)
- アプリケーション認証を構成します。 server.xml ファイル内に指定されたユーザー・レジストリーに 基づいて、以下のようにアプリケーションを構成できます。構成後、メッセージング・リソースに安全にアクセスするために、認証されたユーザーを、必要なロールに割り当てる必要があります。メッセージング・エンジンに接続するユーザーの許可を参照してください。
- ユーザー名とパスワードを JMS リソース (接続ファクトリー
およびアクティベーション・スペック・プロパティー) 内に指定します。接続ファクトリーを 使用するアプリケーションは、接続ファクトリー内に指定されたユーザー名およびパスワードに 照らして認証されます。
<jmsQueueConnectionFactory jndiName="myQCF" connectionManagerRef="ConMgr4"> <properties.wasJms userName="liberty" password="liberty123" remoteServerAddress="localhost:7276:BootstrapBasicMessaging"> </properties> </jmsQueueConnectionFactory> <connectionManager id="ConMgr4" maxPoolSize="2"/>
上記の 例では、myQCF キュー接続ファクトリーを探す アプリケーションは、構成されたレジストリーに定義されている ユーザー名 liberty およびパスワード liberty123 に照らして、 自動的に認証されます。
注: 指定した接続プロパティーが myQCF をルックアップする対象のパスは、jms/myQCF であり、java:comp/env/jms/myQCF ではありません。
- JMS アプリケーション内にユーザー名とパスワードを指定します。注: JMS アプリケーション内に 指定されたユーザー名およびパスワードは、接続ファクトリー内で定義されたユーザー名およびパスワードをオーバーライドします。アプリケーション は、接続ファクトリー・プロパティーを検索し、資格情報を認証するために ユーザー名とパスワードを渡します。
server.xml -------------------- <jmsQueueConnectionFactory jndiName="myQCF" connectionManagerRef="ConMgr4"> <properties.wasJms remoteServerAddress="localhost:7276:BootstrapBasicMessaging"> </properties> </jmsQueueConnectionFactory> <connectionManager id="ConMgr4" maxPoolSize="2"/> Application snippets ------------------ QueueConnectionFactory qcf = (QueueConnectionFactory) new InitialContext().lookup("myQCF"); QueueConnection qCon = qcf.createQueueConnection(“liberty”, “liberty123”);
- <containerAuthDataRef> エレメントに
ユーザー名とパスワードを指定します。バインディングがリソース参照用の認証別名を res-auth=CONTAINER で 指定しない場合、コンテナー管理認証用のデフォルト認証データが適用可能です。 以下に示すように、<authData> エレメントが定義され、 サービス統合バスによって参照される必要があります。
<authData id="auth1" user="liberty" password="liberty123"/> <jmsQueueConnectionFactory jndiName="myQCF" containerAuthDataRef=”auth1” connectionManagerRef="ConMgr4"> <properties.wasJms/> </jmsQueueConnectionFactory> <connectionManager id="ConMgr4" maxPoolSize="2"/> web.xml ---------- <resource-ref> <res-ref-name>jndi/myQCF</res-ref-name> <res-auth>Container</res-auth> <res-type>javax.jms.QueueConnectionFactory</res-type> <lookup-name>jndi/myQCF</lookup-name> </resource-ref>
- ユーザー名とパスワードを JMS リソース (接続ファクトリー
およびアクティベーション・スペック・プロパティー) 内に指定します。

ファイル名: twlp_msg_sec_authenticate.html