6 既存のWebLogicドメインの構成
- WLSTオンラインを使用した既存のWebLogicドメインの更新
WLSTオンラインではアクティブなWebLogicドメインと対話が行われるため、ドメインへのオンラインの変更はすべて、変更管理プロセスによって制御されます。このプロセスは、データベース・トランザクションと少し似ています。 - WLSTオンラインを使用した既存のWebLogicドメインの更新
WLSTオフラインを使用して、既存のWebLogicドメインを更新できます。 - セキュリティ・データの管理(WLSTオンライン)
WLSTオンラインを使用して、認証プロバイダなどのセキュリティ・データを管理できます。 - アプリケーションのデプロイ
アプリケーションをデプロイするプロセスは、WLSTオフラインを使用するかWLSTオンラインを使用するかによって異なります。
WLSTオンラインを使用した既存のWebLogicドメインの更新
WLSTオンラインではアクティブなWebLogicドメインと対話が行われるため、ドメインへのオンラインの変更はすべて、変更管理プロセスによって制御されます。このプロセスは、データベース・トランザクションと少し似ています。
構成の変更や変更の管理の詳細は、Oracle WebLogic Serverドメインの構成の理解の構成の変更管理のプロセスを参照してください。
表6-1に、WLSTオンラインを使用した既存のWebLogicドメインの更新ステップを示します。
表6-1 既存のWebLogicドメインの更新ステップ(オンライン)
次を行うには... | このコマンドを使用します... | 『WebLogic Server WLSTコマンド・リファレンス』のこの項を参照してください。 |
---|---|---|
編集MBean階層にアクセスする |
edit() このコマンドによって、編集可能な |
|
現在の構成でロックを取得する 構成の変更が進行中であることを示すため、WLSTコマンド・プロンプトの最後に感嘆符(!)が表示されます。 |
startEdit([waitTimeInMillis], [timeoutInMillis], [exclusive]) |
|
WebLogicドメインを修正する |
参照コマンドおよびオンライン編集コマンド |
|
編集を検証する(オプション) |
validate() |
|
変更を保存する |
save() |
|
WebLogicドメイン内のすべてのサーバー上で実行中の構成MBeanに変更を配布する |
activate([timeout], [block]) |
|
構成でのロックを解放する |
stopEdit([defaultAnswer]) |
|
MBean属性に加えた変更がサーバーの再起動を必要とするかどうかを判断する(オプション) |
isRestartRequired([attributeName]) |
例6-1のWLSTオンライン・スクリプトは、WLSTを管理サーバーに接続し、管理対象サーバーを作成する編集セッションを開始してから変更を保存してアクティブ化します。さらに、別の編集セッションを開始してから起動クラスを作成し、新しく作成されたサーバーにそれをターゲット指定します。
例6-1 管理対象サーバーの作成
connect("username","password") edit() startEdit() svr = cmo.createServer("managedServer") svr.setListenPort(8001) svr.setListenAddress("address") save() activate(block="true") startEdit() sc = cmo.createStartupClass("my-startupClass") sc.setClassName("com.bea.foo.bar") sc.setArguments("foo bar") # get the server mbean to target it tBean = getMBean("Servers/managedServer") if tBean != None: print "Found our target" sc.addTarget(tBean) save() activate(block="true") disconnect() exit()
例6-2の対話編集セッションは、開発モードで実行する管理サーバーを本番モードおよびセキュア本番モードに変更しています。セキュア本番モードを有効にするには、ドメインは本番モードである必要があります。
例6-2 本番モードまたはセキュア本番モードへの変更
wls:/offline> connect('username','password') wls:/mydomain/serverConfig> edit() wls:/mydomain/edit> startEdit() Starting an edit session ... Started edit session, please be sure to save and activate your changes once you are done. wls:/mydomain/edit !> cmo.setProductionModeEnabled(true) # Optionally enable secured production mode wls:/mydomain/edit !> cd('SecurityConfiguration/mydomain/SecureMode/mydomain') cmo.setSecureModeEnabled(true) wls:/mydomain/edit !> activate() Activating all your changes, this may take a while ... The edit lock associated with this edit session is released once the activation is completed. The following non-dynamic attribute(s) have been changed on MBeans that require server re-start: MBean Changed : com.bea:Name=AdminServer,Type=WebServerLog,Server=AdminServer, WebServer=AdminServer Attributes changed : RotateLogOnStartup MBean Changed : com.bea:Name=AdminServer,Type=WebServerLog,Server=AdminServer, WebServer=AdminServer Attributes changed : RotateLogOnStartup MBean Changed : com.bea:Name=Domain1,Type=Log Attributes changed : RotateLogOnStartup Activation completed wls:/mydomain/edit> exit()
ノート:
WLSTを使用して管理サーバーを開発モードから本番モードに変更する場合、Java -Xverify
オプション(使用されている場合)は、none
からall
に変更されず、手動でall
に変更して、すべてのクラスが検証されていることを確認する必要があります。また、これにより、既存のboot.properties
ファイルがサーバーの起動時に使用されなくなることはありません。
構成の変更の追跡
WLSTによって開始されたすべての変更について、showChanges
コマンドを使用すると、WLST編集セッションの開始以降、現在の構成に対して行ったすべての変更(サーバーによって暗黙的に実行されたすべてのMBean操作を含む)を表示できます。例6-3を参照してください。
例6-3 変更の表示
connect("username","password") wls:/mydomain/serverConfig> edit() wls:/mydomain/edit> startEdit() Starting an edit session ... Started edit session, please be sure to save and activate your changes once you are done. wls:/mydomain/edit !> cmo.createServer('managed2') [MBeanServerInvocationHandler]mydomain:Name=managed2,Type=Server wls:/mydomain/edit !> cd('Servers/managed2') wls:/mydomain/edit/Servers/managed2 !> cmo.setListenPort(7702) wls:/mydomain/edit/Servers/managed2 !> cmo.setListenAddress("localhost") wls:/mydomain/edit/Servers/managed2 !> showChanges() Changes that are in memory and saved to disc but not yet activated are: All changes that are made but not yet activated are: MBean Changed : com.bea:Name=Len,Type=Domain Operation Invoked : create Attribute Modified : Servers Attributes Old Value : null Attributes New Value : managed2 Server Restart Required : false MBean Changed : com.bea:Name=managed2,Type=Server Operation Invoked : modify Attribute Modified : ListenPort Attributes Old Value : null Attributes New Value : 7702 Server Restart Required : false wls:/mydomain/edit/Servers/managed2 !> save() Saving all your changes ... Saved all your changes successfully. wls:/mydomain/edit !> activate() Activating all your changes, this may take a while ... The edit lock associated with this edit session is released once the activation is completed. Activation completed wls:/mydomain/edit/Servers/managed2>
例6-4のWLSTオンライン・スクリプトは、管理者としてWLSTを実行中のサーバー・インスタンスに接続し、アクティブ化タスクを取得し、そのタスクのユーザーとステータスを出力します。また、行われたすべての変更も出力します。
getActivationTask
関数は、アクティブ化のリクエストに関する情報を提供し、ユーザーが現在行っている、または最近行った変更の状態が反映された、現行のWLSTセッションで最新のActivationTaskMBean
を返します。このインタフェースが提供するメソッドを呼び出すことで、進行中または完了したばかりの最新のアクティブ化タスクに関する情報が取得されます。詳細は、Oracle WebLogic Server MBeanリファレンスのActivationTaskMBeanに関する項を参照してください。
例6-4 アクティブ化タスクのチェック
at = getActivationTask() changes = at.getChanges() newstate = at.getState() print "The user for this Task is "+at.getUser()+ "and the state is:" print newstate print "The changes are:" print changes
変更を元に戻すまたは取り消す
WLSTには、変更を元に戻す、または取り消すために、それぞれ次のコマンドが用意されています。
-
undo
コマンド。保存されていない編集、またはアクティブ化されていない編集を元に戻します。(ディスクに保存されたものも含めて)アクティブ化されていないすべての編集を元に戻すか、または、最後の
save
操作以降に行われたすべての編集を元に戻すかを指定します。WebLogic Scripting Toolコマンド・リファレンスのundoを参照してください。 -
cancelEdit
コマンド。編集ロックを解放し、未保存の変更をすべて破棄します。WebLogic Server WLSTコマンド・リファレンスのcancelEditを参照してください。
変更管理用の追加の操作と属性
前述の項で説明した標準の変更管理コマンドは、ConfigurationManagerMBean
の操作を呼び出す上で便利なコマンドです。ConfigurationManagerMBean
には、そうした操作に加え、編集セッションを記述する属性および操作があります。詳細は、Oracle WebLogic Server MBeanリファレンスのConfigurationManagerMBeanを参照してください。
このMBeanにアクセスするには、WLSTのgetConfigManager
コマンドを使用します。WebLogic Server WLSTコマンド・リファレンスのgetConfigManagerを参照してください。
例6-5のWLSTオンライン・スクリプトは、WLSTを管理者としてサーバー・インスタンスに接続し、変更を加えている現在の編集者が管理者ではないかどうかをチェックして、構成の編集を取り消します。また、このスクリプトはすべての完了したアクティブ化タスクもパージします。このスクリプトを使用すると変更の編集を再開できますが、他の編集者が加えた変更が必要かどうかを検証する必要があります。
例6-5 構成マネージャの使用
connect('adminusername','adminpassword') user = cmgr.getCurrentEditor() if user != "weblogic": cmgr.undo() cmgr.cancelEdit() cmgr.purgeCompletedActivationTasks()
WLSTオフラインを使用した既存のWebLogicドメインの更新
WLSTオフラインを使用して、既存のWebLogicドメインを更新できます。
ノート:
アクティブなWebLogicドメインの構成を管理する際にはWLSTオフラインを使用しないことをお薦めします。オフラインによる編集は、実行中のサーバーによって無視されるので、WLSTオンラインやWebLogic Server管理コンソールなどのJMXクライアントによって上書きされる場合があります。
次の表のコマンドは、既存ドメインの読取り、必要に応じたドメインの更新、およびオフライン・モードでのドメインのクローズに使用されます。このプロセスでは、接続ファクトリのターゲットがサブデプロイメントの場合、updateDomain
コマンドを実行してドメインを再起動した後、default-targeting-enabled
が接続ファクトリに対してtrue
に設定されます。
WLSTオフラインを使用して既存のWebLogicドメインを更新するには、表6-2に示すステップを実行します。
表6-2 既存のWebLogicドメインを更新するステップ(オフライン)
次を行うには... | このコマンドを使用します... | 参照先 |
---|---|---|
更新する既存のWebLogicドメインを開く |
readDomain(domainDirName) |
WebLogic Server WLSTコマンド・リファレンスのreadDomain |
現在のWebLogicドメインを拡張する(オプション) |
selectTemplate(templateName) loadTemplates() |
WebLogic Server WLSTコマンド・リファレンスのselectTemplateおよびloadTemplates |
WebLogicドメインを修正する(オプション) |
参照コマンドおよび編集コマンド |
|
WebLogicドメインを保存する |
updateDomain() |
WebLogic Server WLSTコマンド・リファレンスのupdateDomain |
WebLogicドメインを閉じる |
closeDomain() |
WebLogic Server WLSTコマンド・リファレンスのcloseDomain |
親トピック: 既存のWebLogicドメインの構成
セキュリティ・データの管理(WLSTオンライン)
WLSTオンラインを使用して、認証プロバイダなどのセキュリティ・データを管理できます。
WebLogicセキュリティ・サービスでは、認証プロバイダはユーザーまたはシステム・プロセスの身元を証明するソフトウェア・コンポーネントです。認証プロバイダでは、ID情報を記憶したり、トランスポートしたり、その情報が必要な場合にシステムの様々なコンポーネントで利用できるようにしたりします。
セキュリティ・レルムは、様々な種類の認証プロパティを使用して異なるユーザーおよびグループのセットを管理できます。(Oracle WebLogic Serverセキュリティ・プロバイダの開発の認証プロバイダを参照してください。WLSTを使用すると、次のタイプの認証プロバイダの操作を呼び出すことができます。
-
WebLogic Serverのデフォルト認証プロバイダ
AuthenticatorMBean
。デフォルトでは、セキュリティ・レルムはこの認証プロバイダを使用してユーザーとグループを管理します。 -
weblogic.security.spi.AuthenticationProvider
と任意Authentication SSPI MBeanを拡張したカスタム認証プロバイダ。Oracle WebLogic Serverセキュリティ・プロバイダの開発のSSPI MBeanクイック・リファレンスを参照してください。
AuthenticationProvider
MBeanでサポートされるその他のタスクについては、Oracle WebLogic Server MBeanリファレンスのAuthenticationProviderMBeanを参照してください。
以下の節では、WLSTを使用してユーザーおよびグループを管理するための基本的なタスクについて説明します。
- 編集階層にアクセスすべきかどうかの判断
- ユーザーの作成
- グループへのユーザーの追加
- ユーザーがグループのメンバーであるかどうかの検証
- ユーザーが所属するグループのリスト表示
- セキュリティ・レルムのユーザーとグループのリスト表示
- パスワードの変更
- セキュリティ・レルムでのユーザー・アカウントの保護
- 追加LDAP認証プロバイダの構成
親トピック: 既存のWebLogicドメインの構成
編集階層にアクセスすべきかどうかの判断
セキュリティMBeanの構成の変更にWLSTを使用している場合、編集階層にアクセスして編集セッションを開始する必要があります。たとえば、UserLockoutManagerMBean
のLockoutThreshold
属性の値の変更は、編集階層内から行う必要があります。
セキュリティ・プロバイダの操作を呼び出してセキュリティ・プロバイダのデータ・ストア内のデータを追加、変更、または削除する場合、これらの操作を編集階層内から行うことはできません。かわりに、これらのコマンドは、serverConfig
またはdomainConfig
階層から呼び出します。たとえば、AuthenticatorMBean
MBeanのcreateUser
操作は、編集階層から呼び出すことはできません。WLSTでこの制限を設けているのは、両立不能な変更が生じないようにするためです。たとえば、編集セッションにはアクティブ化されていない変更が含まれる可能性があり、このアクティブ化されていない変更ではセキュリティ機能が取り除かれ、これによってプロバイダのデータへの変更が無効になります。
親トピック: セキュリティ・データの管理(WLSTオンライン)
ユーザーの作成
ユーザーを作成するには、UserEditorMBean.createUser
メソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider
MBeanによって拡張されます。『Oracle WebLogic Server MBeanリファレンス』のUserEditorMBean
のcreateUserメソッドを参照してください。
このメソッドには、3つの入力パラメータが必要です。パスワードは8文字以上で、その内1つは特殊文字または数字にする必要があります。
username password user-description
このコマンドは、編集階層から呼び出すことはできませんが、serverConfig
またはdomainConfig
階層からは呼び出すことができます。
次のWLSTオンライン・スクリプトは、デフォルト認証プロバイダに対してcreateUser
を呼び出します。
例6-6 ユーザーの作成
from weblogic.management.security.authentication import UserEditorMBean
print "Creating a user ..."
atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthentication
Provider("DefaultAuthenticator")
atnr.createUser('new_user','adminpassword','new_admin')
print "Created user successfully"
親トピック: セキュリティ・データの管理(WLSTオンライン)
グループへのユーザーの追加
ユーザーをグループに追加するには、GroupEditorMBean.addMemberToGroup
メソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider
MBeanによって拡張されます。『Oracle WebLogic Server MBeanリファレンス』のaddMemberToGroupメソッドを参照してください。
このメソッドでは、次の2つの入力パラメータが必要です。
groupname username
このコマンドは、編集階層から呼び出すことはできませんが、serverConfig
またはdomainConfig
階層からは呼び出すことができます。
次のWLSTオンライン・スクリプトは、デフォルトの認証プロバイダに対してaddMemberToGroup
を呼び出します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。
例6-7 グループへのユーザーの追加
from weblogic.management.security.authentication import GroupEditorMBean print "Adding a user ..." atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider("DefaultAuthenticator") atnr.addMemberToGroup('Administrators','my_user') print "Done adding a user"
親トピック: セキュリティ・データの管理(WLSTオンライン)
ユーザーがグループのメンバーであるかどうかの検証
ユーザーがグループのメンバーであるかどうかを検証するには、GroupEditorMBean.isMember
メソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider
MBeanによって拡張されます。『Oracle WebLogic Server MBeanリファレンス』のisMemberメソッドを参照してください。
このメソッドでは、次の3つの入力パラメータが必要です。
groupname username boolean
boolean
は、子グループ内を検索するかどうかを指定します。true
を指定した場合、指定したグループまたはその子グループにメンバーが属していればtrue
が返されます。
このコマンドは、編集階層から呼び出すことはできませんが、serverConfig
またはdomainConfig
階層からは呼び出すことができます。
次のWLSTオンライン・スクリプトは、デフォルトの認証プロバイダに対してisMember
を呼び出します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。
例6-8 ユーザーがグループのメンバーであるかどうかの検証
from weblogic.management.security.authentication import GroupEditorMBean user = "my_user" print "Checking if "+user+ " is a Member of a group ... " atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider("DefaultAuthenticator") if atnr.isMember('Administrators',user,true) == 0: print user+ " is not member of Administrators" else: print user+ " is a member of Administrators"
親トピック: セキュリティ・データの管理(WLSTオンライン)
ユーザーが所属するグループのリスト表示
ユーザーまたはグループが含まれるグループのリストを表示するには、MemberGroupListerMBean.listMemberGroups
メソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider
MBeanによって拡張されます。『Oracle WebLogic Server MBeanリファレンス』のMemberGroupListerMBeanのlistMemberGroupsメソッドを参照してください。
このメソッドでは、次の入力パラメータが必要です。
memberUserOrGroupName
memberUserOrGroupName
は既存のユーザーまたはグループの名前を指定します。
このコマンドは、編集階層から呼び出すことはできませんが、serverConfig
またはdomainConfig
階層からは呼び出すことができます。
次のWLSTオンライン・スクリプトは、デフォルトの認証プロバイダに対してlistMemberGroups
を呼び出します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。
例6-9 ユーザーが所属するグループのリスト表示
from weblogic.management.security.authentication import MemberGroupListerMBean print "Listing the member groups ..." atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider ("DefaultAuthenticator") x = atnr.listMemberGroups('my_user') print x
このメソッドは、名前のリストを参照するカーソル値(たとえば、Cursor_16)を返します。NameLister.haveCurrent
、getCurrentName
、およびadvance
の各操作は、返されたリスト内で繰返し実行され、現在のカーソル位置が指し示す名前を取得します。Oracle WebLogic Server MBeanリファレンスのNameListerMBeanを参照してください。
親トピック: セキュリティ・データの管理(WLSTオンライン)
セキュリティ・レルムのユーザーとグループのリスト表示
ユーザー名またはグループ名のリストを確認するには、AuthenticationProvider
インタフェースを介して使用できる一連のメソッドを呼び出します。
-
GroupReaderMBean.listGroups
メソッドおよびUserReaderMBean.listUsers
メソッドは2つの入力パラメータを取ります。1つは検索するユーザーまたはグループ名のパターンで、もう1つは取得する名前の最大数。セキュリティ・レルムにはパターンに一致するユーザー名またはグループ名が数千(またはそれ以上)存在する場合があるので、このメソッドでは名前のリストを指し示すカーソルが返されます。
Oracle WebLogic Server MBeanリファレンスのGroupReaderMBeanのlistGroups操作およびUserReaderMBeanのlistUsers操作を参照してください。
-
NameLister
.haveCurrent
、getCurrentName
、およびadvance
の各操作は、返されたリスト内で繰返し実行され、現在のカーソル位置が指し示す名前を取得します。Oracle WebLogic Server MBeanリファレンスのNameListerMBeanを参照してください。 -
NameLister
.close
操作は、リストのかわりに保持されていたサーバー側リソースをすべて解放します。
これらのコマンドは、編集階層から呼び出すことはできませんが、serverConfig
またはdomainConfig
階層からは呼び出すことができます。
例6-10のWLSTオンライン・スクリプトは、レルム内のすべてのユーザーと、それらのユーザーが属するグループをリスト表示します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。
例6-10 ユーザーおよびグループのリスト表示
from weblogic.management.security.authentication import UserReaderMBean from weblogic.management.security.authentication import GroupReaderMBean realm=cmo.getSecurityConfiguration().getDefaultRealm() atns = realm.getAuthenticationProviders() for i in atns: if isinstance(i,UserReaderMBean): userReader = i cursor = i.listUsers("*",0) print 'Users in realm '+realm.getName()+' are: ' while userReader.haveCurrent(cursor): print userReader.getCurrentName(cursor) userReader.advance(cursor) userReader.close(cursor) for i in atns: if isinstance(i,GroupReaderMBean): groupReader = i cursor = i.listGroups("*",0) print 'Groups in realm are: ' while groupReader.haveCurrent(cursor): print groupReader.getCurrentName(cursor) groupReader.advance(cursor) groupReader.close(cursor)
親トピック: セキュリティ・データの管理(WLSTオンライン)
パスワードの変更
ユーザーのパスワードを変更するには、UserPasswordEditorMBean.changeUserPassword
メソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider
MBeanによって拡張されます。『Oracle WebLogic Server MBeanリファレンス』のchangeUserPasswordメソッドを参照してください。
このコマンドは、編集階層から呼び出すことはできませんが、serverConfig
またはdomainConfig
階層からは呼び出すことができます。
次のWLSTオンライン・スクリプトは、デフォルトの認証プロバイダに対してchangeUserPassword
を呼び出します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。
例6-11 パスワードの変更
from weblogic.management.security.authentication import UserPasswordEditorMBean print "Changing password ..." atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider("DefaultAuthenticator") atnr.changeUserPassword('my_user','my_password','new_password') print "Changed password successfully"
親トピック: セキュリティ・データの管理(WLSTオンライン)
セキュリティ・レルムでのユーザー・アカウントの保護
UserLockoutManagerMBean
には、侵入者からユーザー・アカウントを保護する一連の属性が用意されています。デフォルトでは、これらの属性は最高の保護レベルに設定されています。このユーザー・アカウントの保護レベルを下げることもできます。たとえば、アカウントがロックされるまでの無効なログイン試行回数を増やしたり、ユーザー・アカウントがロックされるまでの無効なログイン試行期間を延ばしたり、ユーザー・アカウントのロック時間を変更したりできます。
UserLockoutManagerRuntimeMBean
により、ロックアウト統計を収集する属性と、ユーザー・ロックアウトを管理する操作が提供されます。たとえば、現在ロックアウトしているユーザーの数や、サーバーの起動以降の無効なログイン試行回数を取得したり、ユーザー・アカウントに対するロックアウトをクリアできます。
ロックアウト構成の詳細は、Oracle WebLogic Server MBeanリファレンスのUserLockoutManagerMBeanインタフェースを参照してください。ロックアウト統計の収集とロックアウト操作の実行については、Oracle WebLogic Server MBeanリファレンスのUserLockoutManagerRuntimeMBeanインタフェースを参照してください。
これらのタスクではMBean属性を編集するため、WLSTでは管理サーバーに接続し、編集階層にナビゲートして、編集セッションを開始する必要がある点に注意してください。
次のタスクでは、UserLockoutManagerRuntimeMBean
メソッドを呼び出す例を示します。
連続する無効なログイン試行回数の設定
次のWLSTオンライン・スクリプトでは、ユーザー・アカウントがロックされるまでの連続する無効なログイン試行回数が設定されます。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。
例6-12 連続する無効なログイン試行回数の設定
from weblogic.management.security.authentication import UserLockoutManagerMBean edit() startEdit() #You have two choices for getting a user lockout manager to configure # 1 - to configure the default realm's UserLockoutManager: ulm=cmo.getSecurityConfiguration().getDefaultRealm().getUserLockoutManager() # 2 - to configure another realm's UserLockoutManager: #ulm=cmo.getSecurityConfiguration().lookupRealm("anotherRealm").getUserLockoutManager() ulm.setLockoutThreshold(3) save() activate()
親トピック: セキュリティ・レルムでのユーザー・アカウントの保護
ユーザー・アカウントのロック解除
次のWLSTオンライン・スクリプトは、ユーザー・アカウントのロックを解除します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。
例6-13 ユーザー・アカウントのロックの解除
from weblogic.management.runtime import UserLockoutManagerRuntimeMBean serverRuntime() ulm=cmo.getServerSecurityRuntime().getDefaultRealmRuntime().getUserLockoutManagerRuntime() #note1 : You can only manage user lockouts for the default realm starting from #when the server was booted (versus other non-active realms). #note2 : If the default realm's user lockout manager's LockoutEnabled attribute #is false, then the user lockout manager's runtime MBean will be null. #That is, you can only manage user lockouts in the default realm if its user #lockout manager is enabled. if ulm != None: ulm.clearLockout("myuser")
親トピック: セキュリティ・レルムでのユーザー・アカウントの保護
追加LDAP認証プロバイダの構成
一部のOracle Fusion Middleware製品のインストール時などの場合には、追加の外部LDAP認証プロバイダをWebLogic Serverセキュリティ・プロバイダに追加する必要があります。これは、WebLogic Server管理コンソールを使用するか(「認証およびIDアサーション・プロバイダの構成」を参照)、またはWLSTを使用するかのいずれかによって実行できます。
例6-14は、WLSTを使用してOracle Internet Directory (OID)認証プロバイダを追加する方法を示します。別種類のLDAP認証プロバイダを追加するには、表6-3
で示されるように、createAuthenticationProviderコマンド内の適切なクラス・タイプを置換します。
ノート:
対応するLDAPサーバーがドメインを起動するユーザーを含む場合の、LDAP認証プロバイダの切替えについては、Oracle WebLogic Serverセキュリティの管理のLDAP認証プロバイダの使用の要件を参照してください。
例6-14 認証プロバイダの追加
connect ('adminUser','adminPassword','t3://'+adminServerHost+':'+adminServerPort) edit() startEdit() cd('/SecurityConfiguration/'+domainName+'/Realms/myrealm') # In the following command, substitute the appropriate class type cmo.createAuthenticationProvider(LDAPProviderName, 'weblogic.security.providers.authentication.OracleInternetDirectoryAuthenticator') cd('/SecurityConfiguration/'+domainName+'/Realms/myrealm/AuthenticationProviders /'+LDAPProviderName) cmo.setControlFlag('SUFFICIENT') cd('/SecurityConfiguration/'+domainName+'/Realms/myrealm/ AuthenticationProviders/'+LDAPProviderName) cmo.setHost(LDAPHost) cmo.setPort(LDAPPort) cmo.setPrincipal(LDAPAdmin) set("Credential",LDAPAdminPassword) cmo.setGroupBaseDN(LDAPGroupBase) cmo.setUserBaseDN(LDAPUserBase) cmo.setUserNameAttribute(usernameattribute) cmo.setUserObjectClass('inetOrgPerson') cd('/SecurityConfiguration/'+domainName+'/Realms/myrealm/AuthenticationProviders /DefaultAuthenticator') cmo.setControlFlag('SUFFICIENT') cd('/SecurityConfiguration/'+domainName+'/Realms/myrealm') set('AuthenticationProviders',jarray.array([ObjectName('Security:Name=myrealm' +LDAPProviderName), ObjectName('Security:Name=myrealmDefaultAuthenticator'), ObjectName('Security:Name=myrealmDefaultIdentityAsserter')], ObjectName)) activate()
表6-3では、各認証プロバイダ・タイプ用に指定するクラス・タイプをリストしています。
表6-3 外部LDAP認証プロバイダのクラス・タイプ
プロバイダ | クラス・タイプ |
---|---|
Oracle Internet Directory |
weblogic.security.providers.authentication.OracleInternetDirectoryAuthenticator |
Oracle Virtual Directory |
weblogic.security.providers.authentication.OracleVirtualDirectoryAuthenticator |
Microsoft AD |
weblogic.security.providers.authentication.ActiveDirectoryAuthenticator |
OpenLDAP |
weblogic.security.providers.authentication.OpenLDAPAuthenticator |
eDirectory |
weblogic.security.providers.authentication.NovellAuthenticator |
SunOne LDAP |
weblogic.security.providers.authentication.IPlanetAuthenticator |
親トピック: セキュリティ・データの管理(WLSTオンライン)
アプリケーションのデプロイ
アプリケーションをデプロイするプロセスは、WLSTオフラインを使用するかWLSTオンラインを使用するかによって異なります。
次の各項では、プロセスについて説明します。
WLSTオンラインを使用したアプリケーションのデプロイ
WLSTがドメインの管理サーバーに接続される際は、deploy
コマンドを使用してアプリケーションをデプロイします。(WebLogic Server WLSTコマンド・リファレンスのdeployを参照してください。)
例6-15のコマンドは、WebLogic Server ExamplesServerドメインのサンプル・アプリケーションをデプロイします。
例6-15 アプリケーションのデプロイ
# Deploying Applications deploy("examplesWebApp","C:/Oracle/Middleware/wlserver/samples/server/examples/build/examplesWebApp")
ノート:
WLSTオンラインを使用してアプリケーションをデプロイする場合は、以下の点に注意してください。
-
デプロイメント操作は、管理サーバーを介して実行される必要があります。WLSTクライアントは、デプロイメント・コマンドを呼び出すために管理サーバーに接続する必要があります。
-
アプリケーションをデプロイするために編集セッションに移動する必要はありません。
アプリケーションをデプロイするためのWLSTの使用については、『Oracle WebLogic Serverへのアプリケーションのデプロイ』のデプロイメント・ツールに関する項を参照してください。
親トピック: アプリケーションのデプロイ
WLSTオフラインを使用したアプリケーションのデプロイ
表6-4に、WLSTオフラインを使用した既存ドメインのアプリケーションのデプロイ・ステップを示します。
表6-4 アプリケーションのデプロイ・ステップ(オフライン)
次を行うには... | このコマンドを使用します... | 参照先 |
---|---|---|
テンプレート・ビルダーを使用してアプリケーション・テンプレートを作成する |
適用なし |
ドメイン・テンプレート・ビルダーを使用したドメイン・テンプレートの作成のドメイン・テンプレート・ビルダーを使用した拡張テンプレートの作成 |
既存のWebLogicドメインまたはテンプレートを開く |
readDomain(domainDirName) |
WebLogic Server WLSTコマンド・リファレンスWebLogic Scripting Toolコマンド・リファレンスのreadDomainおよびreadTemplate |
拡張テンプレートをWebLogicドメインに追加する |
selectTemplate(templateName) loadTemplates() |
WebLogic Server WLSTコマンド・リファレンスのselectTemplateおよびloadTemplates |
WebLogicドメインを保存する |
updateDomain() |
WebLogic Server WLSTコマンド・リファレンスのupdateDomain |
WebLogicドメインを閉じる |
closeDomain() |
WebLogic Server WLSTコマンド・リファレンスのcloseDomain |
addTemplate
コマンドの使用例は、次のサンプルのWLSTスクリプトを参照してください。WL_HOME
は、WebLogic Serverの最上位のインストール・ディレクトリを表します。
WL_HOME
\common\templates\scripts\wlst\clusterMedRecDomain.py
親トピック: アプリケーションのデプロイ