ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Scripting Tool
12c リリース1 (12.1.1)
B65932-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

6 既存のWebLogicドメインの構成

この章では、オンラインおよびオフラインの両方でWebLogic Scripting Tool (WLST)を使用し、既存のWebLogicドメインを更新する方法について説明します。

この章の内容は以下のとおりです。

WLSTオンラインを使用した既存のWebLogicドメインの更新

WLSTオンラインではアクティブなWebLogicドメインと対話が行われるため、ドメインへのオンラインの変更はすべて、変更管理プロセスによって制御されます。このプロセスは、データベース・トランザクションと少し似ています。構成の変更や変更の管理の詳細は、Oracle WebLogic Serverドメインの構成の理解の構成の変更管理のプロセスに関する項を参照してください。

表6-1に、WLSTオンラインを使用した既存のWebLogicドメインの更新手順を示します。

表6-1 既存のWebLogicドメインの更新手順(オンライン)

次を行うには... このコマンドを使用します... 詳細は、WebLogic Scripting Toolコマンド・リファレンスの次の項を参照

編集MBean階層にアクセスする

edit()

このコマンドによって、編集可能なDomainMBeanである編集MBean階層のルートにWLSTが配置されます。

「edit」

現在の構成でロックを取得する

構成の変更が進行中であることを示すため、WLSTコマンド・プロンプトの最後に感嘆符(!)が表示されます。

startEdit([waitTimeInMillis],
[timeoutInMillis], [exclusive])

「startEdit」

WebLogicドメインを修正する

参照コマンドおよびオンライン編集コマンド

「参照コマンド」

「編集コマンド」

編集を検証する(オプション)

validate()

「validate」

変更を保存する

save()

「save」

WebLogicドメイン内のすべてのサーバー上で実行中の構成MBeanに変更を配布する

activate([timeout], [block])

「activate」

構成でのロックを解放する

stopEdit([defaultAnswer])

「stopEdit」

MBean属性に加えた変更がサーバーの再起動を必要とするかどうかを判断する(オプション)

isRestartRequired([attributeName])

「isRestartRequired」


例6-1のWLSTオンライン・スクリプトは、WLSTを管理サーバーに接続し、管理対象サーバーを作成する編集セッションを開始してから変更を保存してアクティブ化します。さらに、別の編集セッションを開始してから起動クラスを作成し、新しく作成されたサーバーにそれをターゲット指定します。

例6-2の対話編集セッションは、開発モードで実行する管理サーバーを本番モードに変更しています。

例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 本番モードへの変更

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)
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によって開始されたすべての変更について、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 Scripting Toolコマンド・リファレンスのcancelEditに関する項を参照してください。

変更管理用の追加の操作と属性

前述の項で説明した標準の変更管理コマンドは、ConfigurationManagerMBeanの操作を呼び出す上で便利なコマンドです。ConfigurationManagerMBeanには、そうした操作に加え、編集セッションを記述する属性および操作があります。詳細は、Oracle WebLogic Server MBeanリファレンスのConfigurationManagerMBeanに関する項を参照してください。

このMBeanにアクセスするには、WLSTのgetConfigManagerコマンドを使用します。WebLogic Scripting Toolコマンド・リファレンスのgetConfigManagerに関する項を参照してください。

例6-5のWLSTオンライン・スクリプトは、WLSTを管理者(weblogic)としてサーバー・インスタンスに接続し、変更を加えている現在の編集者が管理者ではないかどうかをチェックして、構成の編集を取り消します。また、このスクリプトはすべての完了したアクティブ化タスクもパージします。このスクリプトを使用すると変更の編集を再開できますが、他の編集者が加えた変更が必要かどうかを検証する必要があります。

例6-5 構成マネージャの使用

connect('weblogic','welcome1')
user = cmgr.getCurrentEditor()
if user != "weblogic":
    cmgr.undo()
    cmgr.cancelEdit()
cmgr.purgeCompletedActivationTasks()

WLSTオフラインを使用した既存のWebLogicドメインの更新

WLSTオフラインを使用して既存のWebLogicドメインを更新するには、表6-2に示す手順を実行します。


注意:

アクティブなWebLogicドメインの構成を管理する際にはWLSTオフラインを使用しないことをお薦めします。オフラインによる編集は、実行中のサーバーによって無視されるので、WLSTオンラインやWebLogic Server管理コンソールなどのJMXクライアントによって上書きされる場合があります。

次の表のコマンドは、既存ドメインの読取り、必要に応じたドメインの更新、およびオフライン・モードでのドメインのクローズに使用されます。このプロセスでは、接続ファクトリのターゲットがサブデプロイメントの場合、updateDomainコマンドを実行してドメインを再起動した後、default-targeting-enabledが接続ファクトリに対してtrueに設定されます。


表6-2 既存のWebLogicドメインを更新する手順(オフライン)

次を行うには... このコマンドを使用します... 詳細については、以下を参照

更新する既存のWebLogicドメインを開く

readDomain(domainDirName)

WebLogic Scripting Toolコマンド・リファレンスのreadDomain

現在のWebLogicドメインを拡張する(オプション)

addTemplate(templateFileName)

WebLogic Scripting Toolコマンド・リファレンスのaddTemplate

WebLogicドメインを修正する(オプション)

参照コマンドおよび編集コマンド

構成階層情報の参照(オフライン)

「WebLogicドメインの編集(オフライン)」

WebLogicドメインを保存する

updateDomain()

WebLogic Scripting Toolコマンド・リファレンスのupdateDomain

WebLogicドメインを閉じる

closeDomain()

WebLogic Scripting Toolコマンド・リファレンスのcloseDomain


セキュリティ・データの管理(WLSTオンライン)

WebLogicセキュリティ・サービスでは、認証プロバイダはユーザーまたはシステム・プロセスの身元を証明するソフトウェア・コンポーネントです。認証プロバイダでは、ID情報を記憶したり、トランスポートしたり、その情報が必要な場合にシステムの様々なコンポーネントで利用できるようにしたりします。

セキュリティ・レルムは、様々な種類の認証プロパティを使用して異なるユーザーおよびグループのセットを管理できます。『Oracle WebLogic Serverセキュリティ・プロバイダの開発』の「認証プロバイダ」を参照してください。WLSTを使用すると、次のタイプの認証プロバイダの操作を呼び出すことができます。

以下の節では、WLSTを使用してユーザーおよびグループを管理するための基本的なタスクについて説明します。

AuthenticationProvider MBeanでサポートされるその他のタスクについては、Oracle WebLogic Server MBeanリファレンスのAuthenticationProviderMBeanに関する項を参照してください。

編集階層にアクセスすべきかどうかの判断

セキュリティMBeanの構成の変更にWLSTを使用している場合、編集階層にアクセスして編集セッションを開始する必要があります。たとえば、UserLockoutManagerMBeanLockoutThreshold属性の値の変更は、編集階層内から行う必要があります。

セキュリティ・プロバイダの操作を呼び出してセキュリティ・プロバイダのデータ・ストア内のデータを追加、変更、または削除する場合、これらの操作を編集階層内から行うことはできません。かわりに、これらのコマンドは、serverConfigまたはdomainConfig階層から呼び出します。たとえば、AuthenticatorMBean MBeanのcreateUser操作は、編集階層から呼び出すことはできません。WLSTでこの制限を設けているのは、両立不能な変更が生じないようにするためです。たとえば、編集セッションにはアクティブ化されていない変更が含まれる可能性があり、このアクティブ化されていない変更ではセキュリティ機能が取り除かれ、これによってプロバイダのデータへの変更が無効になります。

ユーザーの作成

ユーザーを作成するには、UserEditorMBean.createUserメソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider MBeanによって拡張されます。詳細は、Oracle WebLogic Server MBeanリファレンスのUserEditorMBeancreateUserメソッドに関する項を参照してください。

このメソッドには、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','welcome1','new_admin')
print "Created user successfully"

グループへのユーザーの追加

ユーザーをグループに追加するには、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"

ユーザーがグループのメンバーであるかどうかの検証

ユーザーがグループのメンバーであるかどうかを検証するには、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"

ユーザーが所属するグループのリスト表示

ユーザーまたはグループが含まれるグループのリストを表示するには、MemberGroupListerMBean.listMemberGroupsメソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider MBeanによって拡張されます。詳細は、Oracle WebLogic Server MBeanリファレンスの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.haveCurrentgetCurrentName、およびadvanceの各操作は、返されたリスト内で繰返し実行され、現在のカーソル位置が指し示す名前を取得します。『Oracle WebLogic Server MBeanリファレンス』NameListerMBeanに関する項を参照してください。

セキュリティ・レルムのユーザーとグループのリスト表示

ユーザー名またはグループ名のリストを確認するには、AuthenticationProviderインタフェースを介して使用できる一連のメソッドを呼び出します。

  • GroupReaderMBean.listGroupsメソッドおよびUserReaderMBean.listUsersメソッドは2つの入力パラメータを取ります。1つは検索するユーザーまたはグループ名のパターンで、もう1つは取得する名前の最大数。

    セキュリティ・レルムにはパターンに一致するユーザー名またはグループ名が数千(またはそれ以上)存在する場合があるので、このメソッドでは名前のリストを指し示すカーソルが返されます。

    詳細は、Oracle WebLogic Server MBeanリファレンスのGroupReaderMBeanのlistGroups操作に関する項とUserReaderMBeanのlistUsers操作に関する項を参照してください。

  • NameLister.haveCurrentgetCurrentName、および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)

パスワードの変更

ユーザーのパスワードを変更するには、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"

セキュリティ・レルムでのユーザー・アカウントの保護

UserLockoutManagerMBeanには、侵入者からユーザー・アカウントを保護する一連の属性が用意されています。デフォルトでは、これらの属性は最高の保護レベルに設定されています。このユーザー・アカウントの保護レベルを下げることもできます。たとえば、アカウントがロックされるまでの無効なログイン試行回数を増やしたり、ユーザー・アカウントがロックされるまでの無効なログイン試行期間を延ばしたり、ユーザー・アカウントのロック時間を変更したりできます。

UserLockoutManagerRuntimeMBeanにより、ロックアウト統計を収集する属性と、ユーザー・ロックアウトを管理する操作が提供されます。たとえば、現在ロックアウトしているユーザーの数や、サーバーの起動以降の無効なログイン試行回数を取得したり、ユーザー・アカウントに対するロックアウトをクリアできます。

ロックアウト構成の詳細は、Oracle WebLogic Server MBeanリファレンスのUserLockoutManagerMBeanに関する項を参照してください。ロックアウト統計の収集とロックアウト操作の実行については、Oracle WebLogic Server MBeanリファレンスのUserLockoutManagerRuntimeMBeanインタフェースに関する項を参照してください。

次のタスクでは、UserLockoutManagerRuntimeMBeanメソッドを呼び出す例を示します。

これらのタスクではMBean属性を編集するため、WLSTでは管理サーバーに接続し、編集階層にナビゲートして、編集セッションを開始する必要がある点に注意してください。

連続する無効なログイン試行回数の設定

次の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 外部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がドメインの管理サーバーに接続される際は、deployコマンドを使用してアプリケーションをデプロイします。WebLogic Scripting Toolコマンド・リファレンスのデプロイに関する項を参照してください。

例6-15のコマンドは、WebLogic Server ExamplesServerドメインのサンプル・アプリケーションをデプロイします。

例6-15 アプリケーションのデプロイ

# Deploying Applications

deploy("examplesWebApp","C:/Oracle/Middleware/wlserver_12.1/samples/server/examples/build/examplesWebApp")

注意:

WLSTオンラインを使用してアプリケーションをデプロイする場合は、以下の点に注意してください。
  • デプロイメント操作は、管理サーバーを介して実行される必要があります。WLSTクライアントは、デプロイメント・コマンドを呼び出すために管理サーバーに接続する必要があります。

  • アプリケーションをデプロイするために編集セッションに移動する必要はありません。


アプリケーションをデプロイするためのWLSTの使用については、『Oracle WebLogic Serverへのアプリケーションのデプロイ』の「デプロイメント・ツール」を参照してください。

WLSTオフラインを使用したアプリケーションのデプロイ

表6-4に、WLSTオフラインを使用した既存ドメインのアプリケーションのデプロイ手順を示します。

表6-4 アプリケーションのデプロイ手順(オフライン)

次を行うには... このコマンドを使用します... 詳細については、以下を参照

テンプレート・ビルダーを使用してアプリケーション・テンプレートを作成する

適用なし

『ドメイン・テンプレート・ビルダーによるドメイン・ンプレートの作成』


既存のWebLogicドメインまたはテンプレートを開く

readDomain(domainDirName)

WebLogic Scripting Toolコマンド・リファレンスのreadDomainおよびreadTemplate

アプリケーション・テンプレートをWebLogicドメインに追加する

addTemplate(templateFileName)

WebLogic Scripting Toolコマンド・リファレンスのaddTemplate

WebLogicドメインを保存する

updateDomain()

WebLogic Scripting Toolコマンド・リファレンスのupdateDomain

WebLogicドメインを閉じる

closeDomain()

WebLogic Scripting Toolコマンド・リファレンスのcloseDomain


addTemplateコマンドの使用例については、次のサンプルWLSTスクリプトを参照してください。

WL_HOME\common\templates\scripts\wlst\clusterMedRecDomain.py。ここで、WL_HOMEは、WebLogic Serverの最上位のインストール・ディレクトリです。