設定プログラム (config-commda) で Delegated Administrator をインストールし設定したあと、個々のニーズに合わせて設定をカスタマイズできます。この章では、Delegated Administrator の特定の機能をカスタマイズする方法の例を示します。
カスタマイズを開始する前に、Delegated Administrator の既存の設定ファイルをバックアップしてください。
また、Delegated Administrator のアップグレード時にも、カスタマイズされた設定データが失われる可能性があります。したがって、Delegated Administrator をアップグレードする前、または Delegated Administrator 設定プログラムを再実行する前に、カスタマイズした設定を保存してください。詳細については、「既存の設定の保存」を参照してください。
この章では次の項目について説明します。
サーバー全体のデフォルトを使用して優先メールホストと優先メールストアを設定する場合は、この項で説明されている手順を実行します。
「優先メールホスト」フィールドをコンソール (特に「新規組織」ウィザードや「組織のプロパティー」画面) から削除する必要がある場合は、次の手順に従います。
Security.properties ファイルを編集します。この手順は、この項で説明します。
MailHostStorePlugin を使用できるようにします。この手順は次の「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)
“*” (特定のロールに対してアクセス権がオーバーライドされないかぎり、すべてのロールにアクセス権が適用される)
アクセス権は次の文字列のいずれかとします。
EDITABLE– セキュリティー要素が編集可能であることを示します。
NONEDITABLE– セキュリティー要素が読み取り専用であることを示します。
VISIBLE– セキュリティー要素が表示可能で読み取り専用であることを示します。
INVISIBLE– セキュリティー要素が非表示であることを示します。
次のプラグインをサポートするように Delegated Administrator をカスタマイズできます。
デフォルトでは、このプラグインは無効になっています。ビジネス組織が作成されたときに preferredmailhost が指定されていない場合は、例外が発生します。このプラグインが使用可能になっている場合は、対応する属性がないときにフラットファイル (この項の後半で説明) の値が使用されます。
ドメイン値を使って、任意の DSN アドレスを返します。デフォルトの実装では、文字列 MAILER-DAEMON@<domain > を返します。
固有の id 文字列を生成します。デフォルトでは、GUID を呼び出し元に返します。
これらのプラグインを使用可能にする場合は、次のディレクトリにある 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 行で、次の形式をとります。
jdapi-<name>plugin= “enabled” | “disabled”
jdapi-<name>pluginclass=sun.comm.cli.server.util/ <java class name> |
プラグインを使用可能にするには、“disabled” を “ enabled” に変更します。
この項に示したすべてのプラグインには、プラグインクラスが供給されています。これらのクラスは、次のディレクトリに存在します。
da_base/data/WEB-INF/classes/sun/comm/cli/server/util
これらのクラスには何もする必要はありません。
MailHostStorePlugin には、プラグインの 3 行目に含まれるフラットファイルが必要です。このプラグインはフラットファイル内の値を読み取り、属性値を設定するために使用します。プラグインが使用可能になっている場合に、このファイルが存在していないとエラーが発生します。
jdapi-mailhoststoreplugin o jdapi-mailhoststoreplugininf=<full file name> o file has one line o value is that for : o preferredmailhost attribute o preferredmailmessagestore attribute o form o <mailhost>:<mailpartition> |
Delegated Administrator では、新しいユーザー、グループ、リソース、または組織の LDAP エントリにカスタムオブジェクトクラスを追加できるように設定できます。この作業を行うには、Access Manager によってディレクトリにインストールされたオブジェクト作成テンプレートのうち該当のものをカスタマイズします。
たとえば、BasicUser 作成テンプレートでは、新規ユーザーの作成時に追加するオブジェクトクラスと属性が決定されます。BasicUser 作成テンプレートは、独自のカスタムオブジェクトクラスを使用して更新できます。更新後は、カスタムオブジェクトクラスが標準のオブジェクトクラスとともに各新規ユーザーに追加されます。
BasicUser テンプレートをカスタマイズする方法を次に示します。同じ手順を BasicGroup、BasicResource、および BasicOrganization の各作成テンプレートのカスタマイズに適用できます。
カスタムオブジェクトクラスがディレクトリスキーマに定義されていることを確認します。
次のディレクトリエントリを見つけます。
ou=basicuser,ou=creationtemplates,ou=templates,ou=default, ou=globalconfig,ou=1.0,ou=dai,ou=services, o=$Root_Suffix |
$Root_Suffix はディレクトリのルートサフィックスです。
次の attribute:value をエントリに追加します。
sunkeyValue:required=objectClass=$Your_Custom_Objectclass. |
$Your_Custom_Objectclass はカスタムオブジェクトクラスです。
Delegated Administrator 設定プログラム (config-commda) を実行すると、Delegated Administrator のログインに使用する値が uid に設定されます。
たとえば、TLA としてログインするとき、TLA の uid が jhon.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 つのサービスパッケージを割り当てるようにすることができます。
daconfig.properties ファイルをテキストエディタで開きます。
デフォルトでは、daconfig.properties ファイルは次のディレクトリにあります。
/var/opt/SUNWcomm/da/WEB-INF/classes/com/sun/ comm/da/resources/daconfig.properties |
user.atleastOneServicePackage プロパティーの値を false から true に変更します。
デフォルト値は false です。
次に例を示します。
user.atleastOneServicePackage=true
この値を true に設定したあと、Delegated Administrator コンソールの「新規ユーザー作成」ウィザードを使用して新しいユーザーを作成するときには、少なくとも 1 つのサービスパッケージを割り当てる必要があります。
新しい Calendar Server タイムゾーンを追加して、Delegated Administrator をカスタマイズすることができます。そのあと、Delegated Administrator は新しいタイムゾーンを使用して、組織、ユーザー、グループ、およびリソースをプロビジョニングすることができます。
追加したタイムゾーンは、新規ユーザー作成時のデフォルトタイムゾーンとして設定できます。
Calendar Server で新しいタイムゾーンを追加します。
この手順を完了するには、timezones.ics ファイルおよびその他の Calendar Server ファイルを編集する必要があります。その手順については、『Sun Java System Calendar Server 管理ガイド』の「Calendar Server のタイムゾーンの管理」の章の「新しいタイムゾーンの追加」を参照してください。
UserCalendarService.xml、DomainCalendarService.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 設定プログラムを再実行する前に、カスタマイズした設定データを保存してください。
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> のリストに新しいタイムゾーンの値を追加します。
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 コマンドを実行します。次のタスクで、デフォルトのタイムゾーンを変更する方法について説明します。
Web コンテナを再起動して、変更を有効にします。
UserCalendarService.xml と DomainCalendarService.xml の各ファイルで次の値を編集します。
<DefaultValues> <Value>America/Denver</Value> </DefaultValues> |
<DefaultValues> は xml ファイルの次のエントリの下にあります。
<AttributeSchema name="icstimezone" |
Access Manager の amadmin ユーティリティを実行して、現在のサービスを削除し、更新されたサービスを追加します。
UserCalendarService.xml ファイルと DomainCalendarService.xml ファイルの両方に対して、次の amadmin コマンドを実行します。
./amadmin -u <admin> -w <password> -r DomainCalendarService |
./amadmin -u <admin> -w <password> -s $PATH/DomainCalendarService.xml |
Web コンテナを再起動して、変更を有効にします。
Delegated Administrator のデータディレクトリにある Resources.properties ファイルを編集します。
デフォルトでは、Resources.properties ファイルは次のディレクトリにあります。
/var/opt/SUNWcomm/da/WEB-INF/classes/com/sun/ \ comm/da/resources |
Resources.properties を編集するには、rsrc.Timezone プロパティーを検索し、新しいタイムゾーンを該当のリストに追加します。
このファイルの編集後は、新しいタイムゾーンが Delegated Administrator コンソールの該当するリストボックスに表示されます。