ヘッダーをスキップ
Oracle Communication and Mobility Server管理者ガイド
10gリリース3(10.1.3)
B50835-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

11 Sashでのユーザーのプロビジョニング

この章では、Sashユーティリティの使用について説明します。この章の内容は次のとおりです。

Sashの概要

Sapphire Shell(Sash)は、Oracle Database、XDMS(XML Document Management Server)およびRADIUSサーバーにOCMSユーザーをプロビジョニングするための、コマンドライン・ユーティリティです。Sashのコマンドライン・プロンプト(sash#)から、またはMBeanを使用して、ユーザーをプロビジョニングできます。

OCMSデプロイ用のユーザー・プロビジョニング・リポジトリとして、Oracle Internet Database(OID)を使用する方法は、「ユーザー・リポジトリとしてのOracle Internet Directoryの構成」を参照してください。

Sashの起動

Linuxシステムでは、OCMSを起動および停止するスクリプトと同じフォルダに、Sash起動スクリプト(launch_sash.sh)があります。

コマンドラインからのSashの起動

OCMSでは、コマンドラインからSashを起動するための、次のようなショートカットが提供されています。

launch_sash.sh(UNIXの場合)

launch_sash.bat(Windowsの場合)

このショートカットは、OC4J OCMSインストールのORACLE_HOME/sdp/binにあります。

外部のOCMSインスタンスへのSashの接続

デフォルトでは、SashはOCMSのローカル・インスタンスに接続します。必要に応じて、このデフォルト動作を無効にし、OC4Jの外部インスタンスまたはOracle Application Serverの別のインスタンスにSashを接続できます。

OC4Jの外部インスタンスへの接続

Sashは、RMIを通してOCMSサーバーに接続します。例11-1は、ホストIPアドレスが10.0.0.234であるサーバーにSashを接続する方法です。

例11-1 OCMSへのSashの接続

sash –-host 10.0.0.234

OC4Jに接続するときには、ユーザー名とパスワードの入力を求められます。ユーザー名は、OC4J管理者に対するものと同じです(oc4jadmin)。パスワードも、OC4J管理者のパスワードと同じです。ログインに成功すると、Sashのコマンド・プロンプト(sash)が表示されます。ログインに失敗すると、エラー・メッセージが表示されます。

外部のOracle Application ServerインスタンスへのSashの接続

Oracle Application Serverの外部インスタンスにSashを接続するには、--iasオプションを指定し、次に-- portを追加してその後にOPMN(Oracle Process and Management and Notification)サーバーのポート番号を指定します。例11-2は、Oracle Application Serverの外部インスタンスにSashを接続する方法です。

例11-2 Oracle Application Serverの外部インスタンスへの接続

sash --ias --port 6003

ポートを指定しない場合、デフォルト・ポートは6003になります。

サーバーに接続するときには、管理者のユーザー名とパスワードを入力します。


ヒント:

OPMNのリクエスト・ポートは、ORACLE_HOME/opmn/confのopmn.xml構成ファイルで構成されています。

Sashの使用方法

Sashのコマンドは、2つのグループに分かれています。1つはシステム・オブジェクトを作成、削除および更新するコマンドで、もう1つはシステムに情報を問い合せるコマンドです。

使用できるコマンドの表示

helpと入力すると、サーバーで使用できるすべてのコマンドのリストが表示されます(表11-1を参照)。コマンドのリストは、サーバーにデプロイされているコマンドにより異なります。

表11-1 Sashのコマンド

コマンド 説明 別名 サブコマンド

privateIdentity

認証に使用するプライベート通信IDを追加および削除します。

なし

次のサブコマンドがあります。

  • add: システムに新しいユーザーを追加します。次に例を示します。

    privateIdentity add privateId=alice

  • delete: システムからユーザーを削除します。次に例を示します。

    privateIdentity delete privateId=alice

publicIdentity

プライベートIDと関連付けられたパブリックIDを追加および削除します。

pubid

次のサブコマンドがあります。

  • add: 特定のユーザーと関連付けられたパブリックIDをシステムに追加します。次に例を示します。

    publicIdentity add publicId=sip:alice@test.company.com privateId=alice

  • delete: システムから通信IDを削除します。次に例を示します。

    publicIdentity delete publicId=sip:alice@test.company.com privateId=alice

account

ユーザー・アカウント管理用のコマンドが含まれます。このコマンドを使用すると、アカウントを、アクティブ、ロックまたは一時的アカウントとして設定できます。

なし

次のサブコマンドがあります。

  • add: システムに新しいアカウントを追加します。構文は次のとおりです。

    account add uid=<string> [active=<true|false>] [locked=<true|false>] [accountExpiresAt=<accountExpiresAt>] [tempAccount=<true|false>] [description=<string>] [lockExpiresAt=<lockExpiresAt>] [currentFailedLogins=<integer>]

    例: account add uid=alice active=true

  • delete: システムからアカウントを削除します。例: account delete uid=<string>

  • update: アカウントを更新します。次に例を示します。

    account update uid=<string> [active=<true|false>] [locked=<true|false>] [accountExpiresAt=<accountExpiresAt>] [tempAccount=<true|false>] [description=<string>] [lockExpiresAt=<lockExpiresAt>] [currentFailedLogins=<integer>]

  • info: 特定のアカウントについての情報を取得します。例: account info uid=<string>

role

システム内のロールの種類とユーザー・ロールを管理します。roleは、追加のセキュリティおよび認可メカニズムであり、sip.xml<auth-constraint>要素で定義されます。このコマンドは、アプリケーションへのユーザー・グループのアクセスを認可します。アプリケーションでは、特定のロールに関するチェックを行います。OCMSでは、Proxy Registrarアプリケーションに対して1つのLocation Servicesロールが定義されています。

なし

サブコマンドにはrole systemrole userがあります。

role systemroleのサブコマンド)

ロールの種類を管理します。

なし

次のサブコマンドがあります。

  • list: システム内のロールのリストを作成します。次に例を示します。

    role system list

  • add: システムに新しいロールを追加します。次に例を示します。

    role system add name=<string> [description=<string>]

  • update: システム内のロールを更新します。次に例を示します。

    role system update name=<string> [description=<string>]

  • delete: システムからロールを削除します。次に例を示します。

    role system delete name=<string> [description=<string>]

role userroleのサブコマンド)

ユーザーのロールを管理します。

なし

次のサブコマンドがあります。

  • add: ユーザーにロールを追加します。次に例を示します。

    role user add uid=<string> name=<string>

  • delete: ユーザーからロールを削除します。次に例を示します。

    role user delete uid=<string> name=<string>

  • delete: ユーザーのロールのリストを作成します。次に例を示します。

    role user list uid=<string>

credentials

資格証明を管理します。

なし

次のサブコマンドがあります。

  • add: ユーザーに資格証明を追加します。次に例を示します。

    credentials add password=<string> realm=<string> uid=<string>

  • addAll: システム内で構成済のすべてのレルムに対する資格証明をユーザーに追加します。次に例を示します。

    credentials addAll password=<string> uid=<string>

  • delete: ユーザーのレルム資格証明を削除します。次に例を示します。

    credentials delete realm=<string> uid=<string>

  • deleteAll: ユーザーのすべての資格証明を削除します。次に例を示します。

    credentials deleteall uid=<string>

  • update: ユーザーの資格証明を更新します。次に例を示します。

    credentials update password=<string> realm=<string> uid=<string>

  • updateAll: システム内でプロビジョニング済の全レルムに対するユーザーの資格証明を更新します。次に例を示します。

    credentials updateAll password=<string> uid=<string>

  • list: 特定のユーザーに対する資格証明が存在する全レルムのリストを作成します。次に例を示します。

    credentials list uid=<string>

identity add

ユーザーの基本アカウントを作成できます。

なし

なし。「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](別名なし)と示されています。


注意:

accountrolerole systemrole userprivateIdentitypublicIdentityおよびidentityとともに使用するdeleteコマンドには、次の別名があります。
  • remove

  • del

  • rm


コマンドの中には、パラメータを必要とするものがあります。たとえば、help role system addと入力すると、次のように表示されて、addコマンドにはロールの名前と、オプションで説明を設定するためのコマンドが必要であることが示されます。

role system add name=<string> [description=<string>]


注意:

[description=<string>]のように、オプションのコマンドは大カッコ[...]で囲まれています。

必須のパラメータを省略した場合、または認識できないパラメータを渡した場合は、警告が表示されます。

ユーザーの作成

ここでは、publicIdentityコマンドとprivateIdentityコマンドについて、およびこれらと組み合せて表11-1のサブコマンドaddaccountroleおよび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コマンドでユーザーのレルムとパスワードを定義してユーザーの資格証明を設定します。

Sashコマンドライン・プロンプトからのユーザーの作成

ここでは、表11-1で説明したコマンドを使用してaliceという名前のOCMSユーザーを作成することで、Sashコマンド・プロンプト(sash#、例11-4を参照)からユーザーを作成する方法を示します。

  1. 次のようにして、privateIdentityコマンドを使用してユーザーを作成します。

    privateIdentity add privateId=alice
    
  2. SIPアドレスを入力して、aliceのパブリックIDを作成します。

    publicIdentity add publicId=sip:alice@test.company.com privateId=alice
    
  3. 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にアップグレードしても、引き続き小文字を使用してログインする必要があります。

  4. roleコマンドを使用して、Location Serviceユーザー・グループにaliceを追加します。これにより、Proxy Registrarのロケーション・サービス検索に対する権限をaliceに与えます。

    role user add uid=alice name="Location Service"
    
  5. 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

ヒント:

Sashバッチ・ファイルを作成することで、複数のユーザーを作成できます。詳細は、「Sashでのスクリプト作成」を参照してください。

Command Service MBeanでのユーザーの作成

MBeanのexecute操作を使用して、Sashのコマンドを実行できます。CommandService MBeanは、Subscriber Data Servicesアプリケーションで定義されています。アプリケーション定義のMBeanにアクセスする方法は、選択したSIPアプリケーションのMBeanへのアクセスに関する項を参照してください。

ユーザーを作成するには、次のようにします。

  1. execute操作を選択します。execute操作の「操作」ページが表示されます。

  2. 「値」フィールドにprivateIdentity add privateId=aliceと入力します(図11-1を参照)。

  3. 「起動操作」をクリックします。このプロセスを、ユーザー作成コマンドごとに繰り返します。たとえば、この後でpublicIdentityコマンドとaccountコマンドを実行し、その都度「起動操作」をクリックします。

図11-1 Command Service MBeanでのユーザーの作成

図11-1の説明が続きます
「図11-1 Command Service MBeanでのユーザーの作成」の説明

Application Server Controlを使用してSashコマンドを実行する方法の詳細は、CommandServiceに関する項を参照してください。

identity addコマンドでのユーザーの作成

identity addコマンドを使用すると、1つのコマンド文字列でユーザーを作成できます。このコマンドは、privateIdentitypublicIdentityaccountroleおよび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コマンドを使用して作成する必要があります。

identity deleteコマンドでのユーザー・アカウントの削除

identity deleteコマンドを使用すると、単一のコマンド文字列で、ユーザーのロール、資格証明、アカウント情報、パブリックIDとプライベートIDのすべてを削除できます。たとえば、このコマンドを使用してユーザーaliceのアカウントを削除するには、コマンドラインから、またはCommandService Mbeanのexecute操作を使用して、次のように入力します。

identity delete privateId=alice

Sashを使用したXDMSのプロビジョニング

XDMSをプロビジョニングするためのコマンドは、xcapグループに含まれます。これらの各コマンドの前にはxcapが付きます。ユーザーのプロビジョニングをサポートするxcapグループ内のXDMSコマンドは、userサブグループとapplicationUsageサブグループに含まれます。XDMSのプロビジョニングは、Sashプロンプトから、またはPresenceアプリケーションで提供されているMBeanを使用して、行うことができます。

CommandService MBeanを使用したXDMSユーザー・アカウントのプロビジョニング

Presenceアプリケーションに登録されているMBeanで提供されているexecuteコマンドを使用して(図11-2)、XDMSをプロビジョニングすることができます。XDMSにアカウントをプロビジョニングするには、「CommandService MBeanでのユーザーの作成」で説明されているCommandService MBeanのexecute操作を使用します。MBean自体の詳細は、「CommandService(XDMSのプロビジョニング)」を参照してください。

図11-2 XCAPアカウント管理用のCommandService MBeanの使用

図11-2の説明が続きます
「図11-2 XCAPアカウント管理用のCommandService MBeanの使用」の説明

Sashプロンプトからの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アプリケーションに接続するには、次のようにします。

  1. コマンド・プロンプトで、Sashの実行可能ファイルが格納されているsbinディレクトリに移動します。このファイルは、Oracle_HOME\sdp\sash\sbinにあります。

  2. sash.bat -a presenceapplicationを使用して、Presenceアプリケーションの名前を入力します。たとえば、次のように入力します。

    c:\product\10.1.3.4\ocms\sdp\sash\sbin>sash.bat -a presenceapplication
    
  3. プロンプトが表示されたら、OC4J管理者の名前とパスワードを使用してSashにログインします。

  4. Sashのコマンド・プロンプトから、xcap user listなどのXDMSコマンドを入力します。

xcapコマンドの使用

ここでは、xcapグループのコマンドを使用してユーザー・アカウントとアプリケーションの使用を管理する方法について説明します。

XDMSユーザー・アカウントのプロビジョニング

adddeletelistの各コマンドを使用して、XDMSのユーザー・アカウントを管理できます。

XDMSユーザーの追加

xcap user addコマンドは、指定したユーザー名とアプリケーション使用方法でXDMSユーザーを追加します。たとえば、Sashプロンプトからユーザーを追加するには、次のように入力します。

sash# xcap user add userName=<string> applicationUsage=<string>

注意:

ユーザーを自動的に作成するようにXDMSが構成されている場合は、addコマンドを使用しないでください。

XDMSユーザーの削除

xcap user deleteコマンドは、指定したユーザー名のXDMSユーザーをアプリケーション使用方法から削除します。たとえば、Sashプロンプトからユーザーを削除するには、次のように入力します。

sash# xcap user delete userName=<string> [ appusages=<string> ]

アプリケーション使用方法のパラメータ(appusages)はオプションです。アプリケーションの使用方法を指定しないと、ユーザーはすべてのアプリケーション使用方法から削除されます。ユーザーを自動的に作成するようにサーバーが構成されている場合は、deleteコマンドを実行すると、すべての既存ドキュメントが削除されます。

XDMSユーザーのアプリケーション使用方法の検索

xcap user appusagesコマンドは、指定したユーザーに該当するすべてのアプリケーション使用方法を返します。ユーザーに割り当てられているアプリケーション使用方法を確認するには、Sashプロンプトから次のように入力します。

sash# xcap user appusages userName=<string>

XDMSユーザーのリスト表示

xcap user listコマンドは、システム内のすべてのXDMSユーザーを返します。オプションを指定すると、特定のアプリケーション使用方法に対するXDMSユーザーのみを取得することもできます。

sash# xcap user list [ all=<true|false> ] [ appusage=<string> ]

オプションのallパラメータを設定しないと、結果の表示は最大100ユーザーに限定されます。

アプリケーション使用方法のプロビジョニング

XDMSアプリケーション使用方法のプロビジョニングのためのコマンドは、appusageグループ(xcap appusage)のものです。

すべてのアプリケーション使用方法のリスト作成

xcap appusage listコマンドは、サーバー上のすべてのアプリケーション使用方法を返します。たとえば、Sashプロンプトから次のように入力します。

sash# xcap appusage list

Sashでのスクリプト作成

複数の操作を含む、よく行われるタスクのためのスクリプトを作成できます。Sashを起動して、コマンドのリストを含むファイルを実行できます。スクリプトを有効にするため、Sashでは次のようなコマンドライン・フラグが提供されています。

Sashでのエラー・ロギング

Sashはいずれのファイルにもログを記録しません(デフォルト構成)。コンソールにのみメッセージを出力します。Sashのログ・レベルは、$ORACLE_HOME/sdp/sash/conf/logging.propertiesで構成されます。