Sun Java System Communications Services 6 2005Q4 Delegated Administrator 管理ガイド

第 4 章 Delegated Administrator のカスタマイズ

設定プログラム (config-commda) で Delegated Administrator をインストールし設定したあと、個々のニーズに合わせて設定をカスタマイズできます。この章では、Delegated Administrator の特定の機能をカスタマイズする方法の例を示します。

カスタマイズを開始する前に、Delegated Administrator の既存の設定ファイルをバックアップしてください。

また、Delegated Administrator のアップグレード時にも、カスタマイズされた設定データが失われる可能性があります。したがって、Delegated Administrator をアップグレードする前、または Delegated Administrator 設定プログラムを再実行する前に、カスタマイズした設定を保存してください。詳細については、「既存の設定の保存」を参照してください。

この章では次の項目について説明します。

サーバー全体のデフォルトを使った優先メールホストの設定

サーバー全体のデフォルトを使用して優先メールホストと優先メールストアを設定する場合は、この項で説明されている手順を実行します。

「優先メールホスト」フィールドをコンソール (特に「新規組織」ウィザードや「組織のプロパティー」画面) から削除する必要がある場合は、次の手順に従います。

Security.properties ファイルを使用すると、すべてのロールまたは個別のロールについて Delegated Administrator コンソールをカスタマイズできます。

Security.properties ファイルは da_base/da/WEB-INF/classes/com/sun/comm/da/resources ディレクトリに格納されています。

コンソールから優先メールホストを削除するには、Security.properties ファイルに次に示す行を追加します。


# Remove Preferred Mail Host from UI
*.NewOrganizationPage6.PreferredMailHostProperty=INVISIBLE
*.NewOrganizationSummaryPage.PreferredMailHostSummaryProperty=INVISIBLE
*.OrgProperties.MailHostName=INVISIBLE
*.OrgProperties.MailHostNameText=INVISIBLE
*.OrgProperties.MailHostValue=INVISIBLE

注意: 個別にカスタマイズする場合にこのファイルに行を追加できますが、既存の行を編集しないでください。既存の行を編集すると、コンソールで例外がスローされる場合があります。

ファイルのプロパティーは次の形式です。Security Element Name=Permission

Security Element Name は次の形式です。Role Name .Container View Name. Console Element Name

Security Element は、アクセス権を定義するコンソールの要素とロールを指定します。要素名がわからない場合、ページのソースを表示し、ページに表示される名前と該当するコンソール要素を一致させます。

ページの名前は完全修飾名です。Container View Name .Console Element Name の形式をとる名前の最後の 2 要素のみをピックアップする必要があります。

Delegated Administrator のロール名に使用できるのは次の名前です。

“ProviderAdminRole” (SPA) このロールの詳細については、付録 A 「サービスプロバイダ管理者とサービスプロバイダ組織」を参照してください。

“OrganizationAdminRole” (OA)

“Top-levelAdminRole” (TLA)

“*” (特定のロールに対してアクセス権がオーバーライドされないかぎり、すべてのロールにアクセス権が適用される)

アクセス権は次の文字列のいずれかとします。

Delegated Administrator のプラグインの追加

次のプラグインをサポートするように Delegated Administrator をカスタマイズできます。

プラグインを使用可能にする

これらのプラグインを使用可能にする場合は、次のディレクトリにある commcli servlet resource.properties ファイルを編集します。


da_base/data/WEB-INF/classes/sun/comm/cli/server/servlet/
resource.properties

デフォルトでは、da_base/opt/SUNWcomm です。

プラグインは resource.properties ファイル内の次の行で始まる部分にあります。


########################
# Plugin Configuration #
##########################

それぞれ「plugin」というサフィックスが付きます。現在のリストは次のとおりです。


jdapi-mailhoststoreplugin=disabled

jdapi-mailhoststorepluginclass=sun.comm.cli.server.util.MailHostStorePlugin
jdapi-mailhoststorepluginfile=/tmp/mailhostmailstore
jdapi-maildomainreportaddressplugin=enabled
jdapi-maildomainreportaddresspluginclass=sun.comm.cli.server.
  util.MailDomainReportAddressPlugin
jdapi-uidautogenerationplugin=disabled
jdapi-uidautogenerationpluginclass=sun.comm.cli.server.util.UidPlugin

プラグイン形式

各プラグインは最低 2 行で、次の形式をとります。

プラグインを使用可能にするには、“disabled” を “ enabled” に変更します。

この項に示したすべてのプラグインには、プラグインクラスが供給されています。これらのクラスは、次のディレクトリに存在します。

da_base/data/WEB-INF/classes/sun/comm/cli/server/util

これらのクラスには何もする必要はありません。

MailHostStorePlugin に必須の追加フラットファイル

MailHostStorePlugin には、プラグインの 3 行目に含まれるフラットファイルが必要です。このプラグインはフラットファイル内の値を読み取り、属性値を設定するために使用します。プラグインが使用可能になっている場合に、このファイルが存在していないとエラーが発生します。

LDAP オブジェクト作成時のカスタムオブジェクトクラスの追加

Delegated Administrator では、新しいユーザー、グループ、リソース、または組織の LDAP エントリにカスタムオブジェクトクラスを追加できるように設定できます。この作業を行うには、Access Manager によってディレクトリにインストールされたオブジェクト作成テンプレートのうち該当のものをカスタマイズします。

たとえば、BasicUser 作成テンプレートでは、新規ユーザーの作成時に追加するオブジェクトクラスと属性が決定されます。BasicUser 作成テンプレートは、独自のカスタムオブジェクトクラスを使用して更新できます。更新後は、カスタムオブジェクトクラスが標準のオブジェクトクラスとともに各新規ユーザーに追加されます。

BasicUser テンプレートをカスタマイズする方法を次に示します。同じ手順を BasicGroup、BasicResource、および BasicOrganization の各作成テンプレートのカスタマイズに適用できます。

Procedureユーザー作成プロセスにカスタムオブジェクトクラスを追加する

手順
  1. カスタムオブジェクトクラスがディレクトリスキーマに定義されていることを確認します。

  2. 次のディレクトリエントリを見つけます。


    ou=basicuser,ou=creationtemplates,ou=templates,ou=default,
    ou=globalconfig,ou=1.0,ou=dai,ou=services,
    o=$Root_Suffix
    

    $Root_Suffix はディレクトリのルートサフィックスです。

  3. 次の attribute:value をエントリに追加します。


    sunkeyValue:required=objectClass=$Your_Custom_Objectclass.

    $Your_Custom_Objectclass はカスタムオブジェクトクラスです。

ユーザーログインのカスタマイズ

Delegated Administrator 設定プログラム (config-commda) を実行すると、Delegated Administrator のログインに使用する値が uid に設定されます。

たとえば、TLA としてログインするとき、TLA の uidjhon.doe である場合は、jhon.doe で Delegated Administrator にログインします。

Delegated Administrator をカスタマイズして、ユーザーログインに使用する値を追加することができます。たとえば、メールアドレス (mail) を追加できます。

ユーザーログイン値の設定方法

config-commda プログラムは resource.properties ファイルの loginAuth-idAttr プロパティーを使用して、この値を uid に設定します。次に例を示します。


loginAuth-searchBase=<$rootSuffix>
         servicepackage-cosdefbasedn = <$rootSuffix>
          loginAuth-idAttr-1=uid

<$rootSuffix> はディレクトリのルートサフィックスです。

resource.properties ファイル内の次の場所にあります。


da_base/data/WEB-INF/classes/sun/comm/cli/server/servlet/
resource.properties

ユーザーログイン値の追加

resource.properties ファイルを編集すると、ユーザーログイン値を追加できます。

たとえば、resource.properties ファイルに次の行を追加すると、メールアドレス (john.doe@sesta.com など) をログインに使用できます。


loginAuth-searchBase=<$rootSuffix>
         servicepackage-cosdefbasedn = <$rootSuffix>
          loginAuth-idAttr-1=uid
          loginAuth-idAttr-2=mail

<$rootSuffix> はディレクトリのルートサフィックスです。

新しい値を追加するたびに loginAuth-idAttr プロパティーの数値も増やす必要があることに注意してくださいこの例では、2 つ目の値を追加したため、loginAuth-idAttr -2 を追加しています。

loginAuth-idAttr プロパティーには、複数のインスタンスを追加できます。


          loginAuth-idAttr-1=uid 
            loginAuth-idAttr-2=mail 
            | 
            loginAuth-idAttr-n=<login-in value>

新規ユーザーへのサービスパッケージの割り当てを必須とする

Delegated Administrator のデフォルトでは、サービスパッケージをユーザーに割り当てずに新しいユーザーを作成することができます。

このデフォルト設定を変更して、すべての新規ユーザーに少なくとも 1 つのサービスパッケージを割り当てるようにすることができます。

Procedure新規ユーザーへのサービスパッケージの割り当てを必須とする

手順
  1. daconfig.properties ファイルをテキストエディタで開きます。

    デフォルトでは、daconfig.properties ファイルは次のディレクトリにあります。


    /var/opt/SUNWcomm/da/WEB-INF/classes/com/sun/
    comm/da/resources/daconfig.properties
  2. user.atleastOneServicePackage プロパティーの値を false から true に変更します。

    デフォルト値は false です。

    次に例を示します。

    user.atleastOneServicePackage=true

    この値を true に設定したあと、Delegated Administrator コンソールの「新規ユーザー作成」ウィザードを使用して新しいユーザーを作成するときには、少なくとも 1 つのサービスパッケージを割り当てる必要があります。

新規カレンダタイムゾーンの追加

新しい Calendar Server タイムゾーンを追加して、Delegated Administrator をカスタマイズすることができます。そのあと、Delegated Administrator は新しいタイムゾーンを使用して、組織、ユーザー、グループ、およびリソースをプロビジョニングすることができます。

追加したタイムゾーンは、新規ユーザー作成時のデフォルトタイムゾーンとして設定できます。

ProcedureDelegated Administrator に新規タイムゾーンを追加する

手順
  1. Calendar Server で新しいタイムゾーンを追加します。

    この手順を完了するには、timezones.ics ファイルおよびその他の Calendar Server ファイルを編集する必要があります。その手順については、『Sun Java System Calendar Server 管理ガイド』の「Calendar Server のタイムゾーンの管理」の章の「新しいタイムゾーンの追加」を参照してください。

  2. UserCalendarService.xmlDomainCalendarService.xml 、および Resources.properties の各ファイルをバックアップします。

    デフォルトでは、xml ファイルは次のディレクトリにあります。

    /opt/SUNWcomm/lib/services

    デフォルトでは、Resources.properties ファイルは次のディレクトリにあります。


    /var/opt/SUNWcomm/da/WEB-INF/classes/com/sun/ \
    comm/da/resources

    また、Delegated Administrator をアップグレードする前、または Delegated Administrator 設定プログラムを再実行する前に、カスタマイズした設定データを保存してください。

  3. UserCalendarService.xml ファイルと DomainCalendarService.xml ファイルを編集して、Delegated Administrator に新しいタイムゾーンを追加します。

    デフォルトでは、これらの xml ファイルは次のディレクトリにあります。

    /opt/SUNWcomm/lib/services

    • UserCalendarService.xml ファイルと DomainCalendarService.xml ファイルの両方で、次のエントリの見出しを探します。


      <AttributeSchema name="icstimezone"
                                  type="single choice"
                                  syntax="string"
                                  any="optional|adminDisplay">
                                  <ChoiceValues>
    • <ChoiceValues> のリストに新しいタイムゾーンの値を追加します。

  4. Access Manager の amadmin ユーティリティを実行して、現在のサービスを削除し、更新されたサービスを追加します。

    UserCalendarService.xml ファイルと DomainCalendarService.xml ファイルの両方に対して、次の amadmin コマンドを実行します。


    ./amadmin -u <admin> -w <password> -r DomainCalendarService

    ./amadmin -u <admin> -w <password> -s $PATH/DomainCalendarService.xml

    注 –

    また、新しいタイムゾーンをデフォルトにする場合、両方のタスクの実行後にこれらの amadmin コマンドを実行します。次のタスクで、デフォルトのタイムゾーンを変更する方法について説明します。


  5. Web コンテナを再起動して、変更を有効にします。

ProcedureDelegated Administrator のデフォルトタイムゾーンを変更する

手順
  1. UserCalendarService.xmlDomainCalendarService.xml の各ファイルで次の値を編集します。


    <DefaultValues>
                    <Value>America/Denver</Value>
    </DefaultValues>

    <DefaultValues> は xml ファイルの次のエントリの下にあります。


    <AttributeSchema name="icstimezone"
  2. Access Manager の amadmin ユーティリティを実行して、現在のサービスを削除し、更新されたサービスを追加します。

    UserCalendarService.xml ファイルと DomainCalendarService.xml ファイルの両方に対して、次の amadmin コマンドを実行します。


    ./amadmin -u <admin> -w <password> -r DomainCalendarService

    ./amadmin -u <admin> -w <password> -s $PATH/DomainCalendarService.xml
  3. Web コンテナを再起動して、変更を有効にします。

Procedure新規タイムゾーンを Delegated Administrator コンソールに追加する

手順

    Delegated Administrator のデータディレクトリにある Resources.properties ファイルを編集します。

    デフォルトでは、Resources.properties ファイルは次のディレクトリにあります。


    /var/opt/SUNWcomm/da/WEB-INF/classes/com/sun/ \
    comm/da/resources

    Resources.properties を編集するには、rsrc.Timezone プロパティーを検索し、新しいタイムゾーンを該当のリストに追加します。

    このファイルの編集後は、新しいタイムゾーンが Delegated Administrator コンソールの該当するリストボックスに表示されます。