この章では、Sashユーティリティの使用について説明します。この章の内容は次のとおりです。
Sapphire Shell(Sash)は、Oracle Database、XDMS(XML Document Management Server)およびRADIUSサーバーにOCMSユーザーをプロビジョニングするための、コマンドライン・ユーティリティです。Sashのコマンドライン・プロンプト(sash#
)から、またはMBeanを使用して、ユーザーをプロビジョニングできます。
OCMSデプロイ用のユーザー・プロビジョニング・リポジトリとして、Oracle Internet Database(OID)を使用する方法は、「ユーザー・リポジトリとしてのOracle Internet Directoryの構成」を参照してください。
Linuxシステムでは、OCMSを起動および停止するスクリプトと同じフォルダに、Sash起動スクリプト(launch_sash.sh
)があります。
OCMSでは、コマンドラインからSashを起動するための、次のようなショートカットが提供されています。
launch_sash.sh
(UNIXの場合)
launch_sash.bat
(Windowsの場合)
このショートカットは、OC4J OCMSインストールのORACLE_HOME/sdp/binにあります。
デフォルトでは、SashはOCMSのローカル・インスタンスに接続します。必要に応じて、このデフォルト動作を無効にし、OC4Jの外部インスタンスまたはOracle Application Serverの別のインスタンスにSashを接続できます。
Sashは、RMIを通してOCMSサーバーに接続します。例11-1は、ホストIPアドレスが10.0.0.234であるサーバーにSashを接続する方法です。
OC4Jに接続するときには、ユーザー名とパスワードの入力を求められます。ユーザー名は、OC4J管理者に対するものと同じです(oc4jadmin)。パスワードも、OC4J管理者のパスワードと同じです。ログインに成功すると、Sashのコマンド・プロンプト(sash
)が表示されます。ログインに失敗すると、エラー・メッセージが表示されます。
Oracle Application Serverの外部インスタンスにSashを接続するには、--ias
オプションを指定し、次に-- port
を追加してその後にOPMN(Oracle Process and Management and Notification)サーバーのポート番号を指定します。例11-2は、Oracle Application Serverの外部インスタンスにSashを接続する方法です。
ポートを指定しない場合、デフォルト・ポートは6003になります。
サーバーに接続するときには、管理者のユーザー名とパスワードを入力します。
ヒント: OPMNのリクエスト・ポートは、ORACLE_HOME/opmn/confのopmn.xml 構成ファイルで構成されています。 |
Sashのコマンドは、2つのグループに分かれています。1つはシステム・オブジェクトを作成、削除および更新するコマンドで、もう1つはシステムに情報を問い合せるコマンドです。
help
と入力すると、サーバーで使用できるすべてのコマンドのリストが表示されます(表11-1を参照)。コマンドのリストは、サーバーにデプロイされているコマンドにより異なります。
表11-1 Sashのコマンド
コマンド | 説明 | 別名 | サブコマンド |
---|---|---|---|
|
認証に使用するプライベート通信IDを追加および削除します。 |
なし |
次のサブコマンドがあります。
|
|
プライベートIDと関連付けられたパブリックIDを追加および削除します。 |
|
次のサブコマンドがあります。
|
|
ユーザー・アカウント管理用のコマンドが含まれます。このコマンドを使用すると、アカウントを、アクティブ、ロックまたは一時的アカウントとして設定できます。 |
なし |
次のサブコマンドがあります。
|
|
システム内のロールの種類とユーザー・ロールを管理します。 |
なし |
サブコマンドには |
|
ロールの種類を管理します。 |
なし |
次のサブコマンドがあります。
|
|
ユーザーのロールを管理します。 |
なし |
次のサブコマンドがあります。
|
credentials |
資格証明を管理します。 |
なし |
次のサブコマンドがあります。
|
|
ユーザーの基本アカウントを作成できます。 |
なし |
なし。「identity addコマンドでのユーザーの作成」を参照してください。 |
特定のコマンドのサブコマンドを表示するには、help <command>
と入力します。たとえば、account
コマンドに対してhelp
を入力すると(help account
)、account
コマンドで使用可能なサブコマンドの概要が表示されます(例11-3を参照)。
例11-3 特定のコマンドのヘルプ情報の取得
*** Description **** Contains commands for management of user accounts. In an account you can set if the account is active, locked or if it perhaps should be a temporarily account. Aliases: [no aliases] Syntax: account Sub-commands: # Adds a new account to the system account add uid=<string> [ active=<true|false> ] [ locked=<true|false> ] [ accountExpiresAt=<accountExpiresAt> ] [ tempAccount=<true|false> ] [ description=<string> ] [ lockExpiresAt=<lockExpiresAt> ] [ currentFailedLogins=<integer> ] # Deletes an account account delete uid=<string> # Updates an account account update uid=<string> [ active=<true|false> ] [ locked=<true|false> ] [ accountExpiresAt=<accountExpiresAt> ] [ tempAccount=<true|false> ] [ description=<string> ] [ lockExpiresAt=<lockExpiresAt> ] [ currentFailedLogins=<integer> ] # Retrieve information about a particular account account info uid=<string>
help <command>
と入力して表示される情報には、コマンド・グループの概要だけでなく、コマンドの別名(ある場合)も含まれます。たとえば、例11-3のaccountコマンドの概要では、[no aliases]
(別名なし)と示されています。
注意: account 、role 、role system 、role user 、privateIdentity 、publicIdentity およびidentity とともに使用するdelete コマンドには、次の別名があります。
|
コマンドの中には、パラメータを必要とするものがあります。たとえば、help role system add
と入力すると、次のように表示されて、add
コマンドにはロールの名前と、オプションで説明を設定するためのコマンドが必要であることが示されます。
role system add name=<string> [description=<string>]
注意: [description=<string>] のように、オプションのコマンドは大カッコ[...] で囲まれています。 |
必須のパラメータを省略した場合、または認識できないパラメータを渡した場合は、警告が表示されます。
ここでは、publicIdentity
コマンドとprivateIdentity
コマンドについて、およびこれらと組み合せて表11-1のサブコマンドadd
、account
、role
およびcredentials
を使用して、Oracle Databaseにユーザー・アカウントをプロビジョニングする方法について説明します。
プライベートID(privateIdentity
)は、特定の認証レルム内のユーザーを一意に識別します。パブリックID(publicIdentity
)は、デバイスを登録するためにユーザーが入力するSIPアドレスです。このアドレスはユーザーのAOR(Address of Record)であり、ユーザーが相互にコールする手段です。1人のユーザーが持つことのできるプライベートIDは1つのみですが、そのプライベートIDに対して複数のパブリックIDを関連付けることができます。
注意: サード・パーティのデータベース(RADIUSなど)に対する認証を有効にする場合、Proxy Registrarおよび認証が必要な他のアプリケーションが正しく機能するためには、認証データを含み外部に格納されるユーザー・アカウントが、プライベートIDと一致する必要があります。 |
ユーザーを作成するには、最初にprivateIdentity
コマンドとadd privateId
サブコマンドを使用してプライベートIDを作成することでシステムにユーザーを追加した後、publicIdentity
コマンドとadd publicId
サブコマンドを使用してユーザーに対するパブリックIDを追加します。
ユーザーのプライベートIDとパブリックIDを作成した後は、account add uid
コマンドでユーザーのアカウントを作成し、必要に応じてアカウントのステータス(アクティブやロックなど)を設定します。role
コマンドは、ロール・ベースの権限に対するロール・メンバーシップを設定します。role
コマンドを使用してユーザーの権限のレベルを設定した後、credentials
コマンドでユーザーのレルムとパスワードを定義してユーザーの資格証明を設定します。
ここでは、表11-1で説明したコマンドを使用してaliceという名前のOCMSユーザーを作成することで、Sashコマンド・プロンプト(sash
#、例11-4を参照)からユーザーを作成する方法を示します。
次のようにして、privateIdentity
コマンドを使用してユーザーを作成します。
privateIdentity add privateId=alice
SIPアドレスを入力して、aliceのパブリックIDを作成します。
publicIdentity add publicId=sip:alice@test.company.com privateId=alice
aliceのアカウントを追加し、表11-1で説明したオプション・コマンドの1つを使用してアカウントのステータスを設定します。aliceに対してアクティブなアカウントを作成するには、次のように入力します。
account add uid=alice active=true
注意: OCMSバージョン10.1.3.2では、uid は小文字である必要があります。OCMSバージョン10.1.3.2を使用してプロビジョニングされているOracle Communicatorのユーザーも、小文字でアカウント名を入力する必要があります。OCMSバージョン10.1.3.3および10.1.3.4では、大文字と小文字が混在したuid がサポートされています。ただし、Oracle Communicatorユーザーがログインするには、プロビジョニングされたとおりにユーザー名を入力する必要があります。たとえば、uid をAliceと定義しているユーザーは、Aliceというユーザー名でログインする必要があります。10.1.3.2でプロビジョニングされたユーザーは、10.1.3.2から10.1.3.4にアップグレードしても、引き続き小文字を使用してログインする必要があります。 |
role
コマンドを使用して、Location Serviceユーザー・グループにaliceを追加します。これにより、Proxy Registrarのロケーション・サービス検索に対する権限をaliceに与えます。
role user add uid=alice name="Location Service"
aliceのユーザー認証資格証明を追加します。
credentials add uid=alice realm=test.company.com password=welcome1
RADIUSログイン・モジュールを使用してRADIUSサーバーに対してユーザーを認証するように構成するアプリケーションの場合は、credentials
コマンドは必要ありません。これらのログイン・モジュールの詳細は、第4章「セキュリティとログイン・モジュールの構成」を参照してください。
注意: Sashを使用して認証資格証明をユーザーに追加する前に、MBeanを使用してrealms を構成する必要もあります。詳細は、SIPサーブレット・コンテナMBeanの構成に関する項を参照してください。 |
例11-4 Sashコマンドライン・プロンプトからのユーザーの作成
sash# privateIdentity add privateId=alice sash# publicIdentity add publicId=sip:alice@test.company.com privateId=alice sash# account add uid=alice active=true sash# role user add uid=alice name="Location Service" sash# credentials add uid=alice realm=test.company.com password=welcome1
MBeanのexecute操作を使用して、Sashのコマンドを実行できます。CommandService MBeanは、Subscriber Data Servicesアプリケーションで定義されています。アプリケーション定義のMBeanにアクセスする方法は、選択したSIPアプリケーションのMBeanへのアクセスに関する項を参照してください。
ユーザーを作成するには、次のようにします。
execute操作を選択します。execute操作の「操作」ページが表示されます。
「値」フィールドにprivateIdentity add privateId=aliceと入力します(図11-1を参照)。
「起動操作」をクリックします。このプロセスを、ユーザー作成コマンドごとに繰り返します。たとえば、この後でpublicIdentity
コマンドとaccount
コマンドを実行し、その都度「起動操作」をクリックします。
Application Server Controlを使用してSashコマンドを実行する方法の詳細は、CommandServiceに関する項を参照してください。
identity add
コマンドを使用すると、1つのコマンド文字列でユーザーを作成できます。このコマンドは、privateIdentity
、publicIdentity
、account
、role
およびcredentials
の各コマンドに対する別名であり、ユーザーがSIPクライアント経由でOCMSに接続するために必要な最低限の情報を含む基本的なユーザー・アカウントを簡単に作成できます。たとえば、このコマンドを使用してユーザーaliceの基本アカウントを作成するには、コマンドラインから、またはCommandService Mbeanのexecute操作を使用して、次のように入力します。
identity add privateId=alice publicId=sip:sip.alice@company.com role="Location Service" realm=company.com password=welcome1
注意: RADIUSシステムでユーザーを認証するように構成されているアプリケーションの場合は(セキュリティ・プロバイダとしてRADIUSログイン・モジュールを使用するアプリケーション)、ユーザー・アカウントを作成するコマンドは次のようになります。identity add privateId=alice publicId=sip:sip.alice@company.com role="Location Service" |
identity add
コマンドを使用して作成できるのは、基本的なユーザー・アカウントのみです。複数のpublicId
を単一のprivateId
と関連付けるような複雑な構成を必要とするアカウントの場合は、例11-4で示されているように、複数のSashコマンドを使用して作成する必要があります。
XDMSをプロビジョニングするためのコマンドは、xcap
グループに含まれます。これらの各コマンドの前にはxcap
が付きます。ユーザーのプロビジョニングをサポートするxcap
グループ内のXDMSコマンドは、user
サブグループとapplicationUsage
サブグループに含まれます。XDMSのプロビジョニングは、Sashプロンプトから、またはPresenceアプリケーションで提供されているMBeanを使用して、行うことができます。
Presenceアプリケーションに登録されているMBeanで提供されているexecuteコマンドを使用して(図11-2)、XDMSをプロビジョニングすることができます。XDMSにアカウントをプロビジョニングするには、「CommandService MBeanでのユーザーの作成」で説明されているCommandService MBeanのexecute操作を使用します。MBean自体の詳細は、「CommandService(XDMSのプロビジョニング)」を参照してください。
XDMSコマンドを使用して、Sashプロンプトからユーザーおよびアプリケーションの使用をプロビジョニングするには、最初にPresenceなどのXDMS利用アプリケーションに接続する必要があります。
Windowsシステムの場合、コマンド・プロンプトから次のように入力します。
launch_sash.bat -a <application name>
Linuxの場合、次のように入力します。
launch_sash.sh -a <application name>
アプリケーションへの接続は、Windowsコマンド・シェル(Cmd.exe
)などのコマンド・プロンプトから行います。Sashプロンプトから直接これらのアプリケーションに接続することはできません。
たとえば、WindowsシステムでPresenceアプリケーションに接続するには、次のようにします。
コマンド・プロンプトで、Sashの実行可能ファイルが格納されているsbin
ディレクトリに移動します。このファイルは、Oracle_HOME\sdp\sash\sbinにあります。
sash.bat -a presenceapplication
を使用して、Presenceアプリケーションの名前を入力します。たとえば、次のように入力します。
c:\product\10.1.3.4\ocms\sdp\sash\sbin>sash.bat -a presenceapplication
プロンプトが表示されたら、OC4J管理者の名前とパスワードを使用してSashにログインします。
Sashのコマンド・プロンプトから、xcap user list
などのXDMSコマンドを入力します。
ここでは、xcap
グループのコマンドを使用してユーザー・アカウントとアプリケーションの使用を管理する方法について説明します。
xcap user add
コマンドは、指定したユーザー名とアプリケーション使用方法でXDMSユーザーを追加します。たとえば、Sashプロンプトからユーザーを追加するには、次のように入力します。
sash# xcap user add userName=<string> applicationUsage=<string>
注意: ユーザーを自動的に作成するようにXDMSが構成されている場合は、add コマンドを使用しないでください。 |
xcap user delete
コマンドは、指定したユーザー名のXDMSユーザーをアプリケーション使用方法から削除します。たとえば、Sashプロンプトからユーザーを削除するには、次のように入力します。
sash# xcap user delete userName=<string> [ appusages=<string> ]
アプリケーション使用方法のパラメータ(appusages
)はオプションです。アプリケーションの使用方法を指定しないと、ユーザーはすべてのアプリケーション使用方法から削除されます。ユーザーを自動的に作成するようにサーバーが構成されている場合は、delete
コマンドを実行すると、すべての既存ドキュメントが削除されます。
xcap user appusages
コマンドは、指定したユーザーに該当するすべてのアプリケーション使用方法を返します。ユーザーに割り当てられているアプリケーション使用方法を確認するには、Sashプロンプトから次のように入力します。
sash# xcap user appusages userName=<string>
複数の操作を含む、よく行われるタスクのためのスクリプトを作成できます。Sashを起動して、コマンドのリストを含むファイルを実行できます。スクリプトを有効にするため、Sashでは次のようなコマンドライン・フラグが提供されています。
-- exec
(短縮名: -e
): このコマンドライン・フラグの後に引用符で囲んだコマンドがあると、Sashはそのコマンドを実行して終了します。
-- file
(短縮名: -f
): このコマンドライン・フラグの後にファイル名があると、Sashはそのファイルを読み取り、入力された場合と同じようにファイル内のすべてのコマンドを実行して、終了します。
例11-5は、identity add
コマンドで定義されているユーザーのグループを含むocsm_users.txtという名前のテキスト・ファイルです。Sashプロンプトから-f ocms_users.txt
と入力することで、これらのユーザーをプロビジョニングできます。
例11-5 テキスト・ファイル(ocms_users.txt)からのユーザーの作成
identity add publicId=sip:alice@doc.oracle.com privateId=alice role=user password=1234 realm=doc.oracle.com identity add publicId=sip:bob@doc.oracle.com privateId=bob role=user password=1234 realm=doc.oracle.com identity add privateId=candace publicId=sip:candace@doc.oracle.com role=user password=1234 realm=doc.oracle.com identity add privateId=deirdre publicId=sip:deirdre@doc.oracle.com role=user password=1234 realm=doc.oracle.com identity add privateId=evelyn publicId=sip:evelyn@doc.oracle.com role=user password=1234 realm=doc.oracle.com identity add privateId=frank publicId=sip:frank@doc.oracle.com role=user password=1234 realm=doc.oracle.com identity add privateId=gretchen publicId=sip:gretchen@doc.oracle.com role=user password=1234 realm=doc.oracle.com identity add privateId=hans publicId=sip:hans@doc.oracle.com role=user password=1234 realm=doc.oracle.com identity add privateId=imogen publicId=sip:imogen@doc.oracle.com role=user password=1234 realm=doc.oracle.com identity add privateId=jack publicId=sip:jack@doc.oracle.com role=user password=1234 realm=doc.oracle.com
-- nonewline
: このコマンドライン・フラグは、実行されたコマンドから返されるメッセージから改行を取り除くことで、出力を解析しやすくします。このコマンドを使用すると解析は容易になりますが、人がメッセージを読むのは難しくなります。
Sashはいずれのファイルにもログを記録しません(デフォルト構成)。コンソールにのみメッセージを出力します。Sashのログ・レベルは、$ORACLE_HOME/sdp/sash/conf/logging.propertiesで構成されます。