Sun Java System Instant Messaging 7 2005Q1 管理ガイド |
第 6 章
Instant Messaging ポリシーおよび Presence ポリシーの管理Instant Messaging は、チャット、会議、調査、Presence アクセスなど、さまざまな機能を提供します。ポリシーには、これらの機能に関する一連のアクセス制御権限を記述できます。一方、エンドユーザーおよびグループには、組織の要求に応じて特定のポリシーを割り当てることができます。
この章では、Instant Messaging Server の機能と権限情報に対するエンドユーザーと管理者のアクセスを管理するための、ポリシーの定義方法と使用方法について説明します。
プライバシー、セキュリティ、およびサイトポリシーの概要Instant Messaging は、Instant Messaging 機能へのアクセスを制御する機能と、エンドユーザーのプライバシーを保護する機能を備えています。
サイトポリシー
サイトポリシーは、Instant Messaging の特定機能に対するエンドユーザーのアクセス権を指定します。指定できる権限は、次のとおりです。
Instant Messaging 管理者は、すべての Instant Messaging 機能にアクセスできます。管理者は、すべての会議室とニュースチャネルに対する管理アクセス権を持っており、任意のエンドユーザーの Presence 情報を表示でき、任意のエンドユーザーのプロパティ (連絡先一覧や Instant Messenger 設定など) を表示および変更できます。サイトポリシーの設定は、管理者権限にはまったく影響しません。
エンドユーザーにはデフォルトで、ほかのエンドユーザーの Presence ステータスにアクセスする権限、ほかのエンドユーザーにアラートを送信する権限、およびプロパティをサーバー上に保存する権限が与えられます。ほとんどの配備では、このデフォルト値は変更されません。このデフォルト値を変更する必要があるのは、Instant Messaging をポップアップ機能専用として使う場合です。
Instant Messaging をポップアップ機能専用として使う場合、エンドユーザーには Presence 情報、チャット機能、およびニュース機能に対するアクセス権限が付与されません。
注
管理者は、特定の権限をグローバルに設定できますが、それらの権限に対する例外を定義することも可能です。たとえば、管理者は、選択されたエンドユーザー、ロール、またはグループに対して、特定のデフォルト権限を拒否することができます。
サイトポリシーの設定方法の詳細については、「Instant Messaging ポリシーおよび Presence ポリシーの管理」を参照してください。
会議室とニュースチャネルのアクセス制御
会議室とニュースチャネルに対してエンドユーザーが持つことのできるアクセス権限は、次のとおりです。
管理権限を持つエンドユーザーは、すべてのエンドユーザーに対するデフォルトの権限レベルを設定できます。また、そうしたエンドユーザーは、特定のエンドユーザーやグループに対してデフォルトとは異なるアクセスレベル権限を付与する例外規則を定義することもできます。
ユーザーのプライバシー
エンドユーザーは、自身の Presence ステータスをほかのエンドユーザーに公開するかどうかを指定できます。デフォルトでは、すべてのエンドユーザーが、ほかのエンドユーザーの Presence 情報にアクセスできます。また、エンドユーザーは、特定のエンドユーザーやグループからのアクセスを拒否する例外を設定することもできます。
あるエンドユーザーが自身の Presence ステータスにほかのエンドユーザーがアクセスするのを拒否した場合、ほかのエンドユーザーの連絡先一覧で、そのエンドユーザーのステータスはオフラインとして表示されます。Presence ステータスがオフラインになっているエンドユーザーには、アラートやチャットへの参加依頼を送信できません。
ユーザーのプライバシーを設定するには、Instant Messenger の「ユーザー設定」ウィンドウを使います。ユーザーのプライバシーを設定する方法の詳細については、Instant Messenger のオンラインヘルプを参照してください。
エンドユーザーと管理者の権限を制御する方法Instant Messaging サービスに対する各種アクセス権限を、エンドユーザーに対して許可または制限することに関する要件は、Instant Messaging Server を使用するサイトごとにそれぞれ異なります。エンドユーザーと管理者の、Instant Messaging Server 機能と権限情報へのアクセスを制御する処理は、ポリシー管理と呼ばれます。ポリシーを管理するための方法は、2 つあります。アクセス制御ファイルを使う方法と、Sun Java System Access Manager を使う方法です。
アクセス制御ファイルによるポリシー管理の概要
アクセス制御ファイルによるポリシー管理では、ニュースチャネル管理、会議室管理、「ユーザー設定」ダイアログにおける設定変更、アラート送信の各領域における、エンドユーザーの権限を調整することができます。また、特定のエンドユーザーをシステム管理者として割り当てることもできます。
Sun Java System Access Manager によるポリシー管理の概要
Sun Java System Access Manager によるポリシー管理では、アクセス制御ファイルを使う方法と同じ権限を制御できますが、この方法ではさらに、アラートの受信、調査の送受信など、機能の制御をよりきめ細かく行えます。完全な一覧については、表 6-4 を参照してください。さらに、Sun Java System Access Manager によるポリシー管理では、権限の制御も、よりきめ細かく行えます。
ポリシーには、Instant Messaging ポリシーと Presence ポリシーの 2 種類があります。Instant Messaging ポリシーは、アラートの送受信、公開会議室やニュースチャネルの管理、ファイルの送信といった、一般的な Instant Messaging 機能に対する権限を制御します。Presence ポリシーは、エンドユーザーが自身のオンラインステータスを変更する権限や、他人がオンライン情報または Presence 情報を表示するのを許可または拒否する権限を制御します。
ポリシー管理 : 使用する方法の選択
使用するポリシー管理方法を選択する際には、ポリシー情報の格納場所も同時に選択する必要があります。ポリシーの管理方法を選択するには、iim.conf ファイルを編集し、iim.policy.modules パラメータを設定します。Access Manager を使用する場合は identity を、アクセス制御ファイルを使用する場合は iim_ldap を、それぞれ設定します。なお、後者の方法は、デフォルトの方法でもあります。
LDAP 単独配備を使用する場合、つまり、Sun Java System Access Manager を使用しない場合は、アクセス制御ファイルによる方法を選択する必要があります。Sun Java System Access Manager と Instant Messaging Server を併用し、かつ Instant Messaging サービスおよび Presence サービスのコンポーネントがインストールされている場合、いずれかのポリシー管理方法を選択できます。ただし、Sun Java System Access Manager によるポリシー管理のほうが、より包括的な方法です。この方法の利点の 1 つは、すべてのエンドユーザー情報をディレクトリ内に格納できる点です。
使用するポリシー管理方法を設定する際の具体的な手順を、以下に示します。
ポリシー設定パラメータ
表 6-1 は、Instant Messaging 配備において Sun Java System Access Manager が果たす役割の拡大に伴い、iim.conf ファイル内で利用可能になったパラメータの一覧とその説明です。
注
現時点では、iim.userprops.store パラメータが重要になるのは、Presence サービスと Instant Messaging サービスのサービス定義がインストールされた場合だけです。
アクセス制御ファイルによるポリシー管理アクセス制御ファイルを編集することで、次のエンドユーザー権限を制御できます。
デフォルトでは、ほかのエンドユーザーの Presence ステータスにアクセスする権限、エンドユーザーにアラートを送信する権限、およびプロパティをサーバー上に保存する権限が、エンドユーザーに与えられます。ほとんどの配備では、このデフォルト値を変更する必要はありません。
注
管理者は、特定の権限をグローバルに設定できますが、それらの権限に対する例外を定義することも可能です。たとえば、管理者は、選択されたエンドユーザーまたはグループに対して、特定のデフォルト権限を拒否することができます。
アクセス制御ファイルの格納場所は、im_cfg_base/acls です。im_cfg_base は設定ディレクトリです。設定ディレクトリのデフォルトの場所については、表 3-1 を参照してください。
表 6-2 は、Instant Messaging のグローバルアクセス制御ファイルとそれらのファイルがエンドユーザーに付与する権限を、一覧にまとめたものです。
アクセス制御ファイルの形式
アクセス制御ファイルには、権限を定義する一連のエントリが含まれます。各エントリは、次のいずれかのタグで始まります。
タグのあとにはコロン (:) を付けます。デフォルトタグでは、そのあとに true、false のいずれかを指定します。
エンドユーザータグ、グループタグでは、その後にエンドユーザー名、グループ名をそれぞれ指定します。
複数のエンドユーザーまたはグループを指定するには、それらの各エンドユーザー (u)、各グループ (g) をそれぞれ別々の行に記述します。
デフォルトエントリに true が設定された場合、ファイル内のその他のすべてのエントリは無視されます。デフォルトエントリに false が設定された場合、ファイル内に指定されたエンドユーザーとグループのみが、その特定の権限を持つことになります。
新規インストール時の、ACL ファイル内の d: タグ (デフォルトタグ) エントリを、次に示します。
アクセス制御ファイルのサンプル
この節では、権限が設定されたアクセス制御ファイル (sysTopicsAdd.acl ファイル) のサンプルを示します。
sysTopicsAdd.acl ファイル
次の例では、sysTopicsAdd.acl ファイルのデフォルトの d: タグエントリは false です。このため、ニュースチャネルを追加および削除する権限は、そのデフォルトよりも前に記述されたエンドユーザーとグループ、すなわち、user1、user2、および sales グループに対して付与されます。
エンドユーザーの権限の変更
エンドユーザーの権限を変更する
Sun Java System Access Manager によるポリシー管理Sun Java System Access Manager の Instant Messaging サービスと Presence サービスを使うと、エンドユーザーと管理者の権限を別の方法で制御できます。各サービスには、動的属性、ユーザー属性、ポリシー属性の 3 種類があります。ポリシー属性は、権限を設定するための属性です。
Access Manager 内に作成された特定のポリシーに、ほかのユーザーから調査メッセージを受信する権限などや、Instant Messaging のさまざまな機能に対する権限、そして管理者およびエンドユーザーに許可または拒否する規則を追加する際に、ポリシー属性はそれらの規則の一部となります。
Instant Messaging Server を Sun Java System Access Manager とともにインストールすると、サンプルのポリシーとロールがいくつか作成されます。ポリシーとロールの詳細については、『Sun Java System Access Manager Getting Started Guide』と『Sun Java System Access Manager 管理ガイド』を参照してください。
さらに、サンプルのポリシーに満足できなかった場合、新しいポリシーを作成し、それらをサイトの要求に応じて特定のロール、グループ、組織、またはエンドユーザーに割り当てることも可能です。
Instant Messaging サービスまたは Presence サービスがエンドユーザーに割り当てられると、それらのエンドユーザーは、関連する動的属性とユーザー属性を取得します。動的属性は、Sun Java System Access Manager で設定された特定のロールまたは組織に割り当てることができます。
特定のロールをエンドユーザーに割り当てたり、組織内でエンドユーザーを作成したりすると、関連する動的属性がそのエンドユーザーの特性の一部となります。ユーザー属性は、各エンドユーザーに直接割り当てます。ユーザー属性は、ロールや組織から継承されるわけではないため、通常はエンドユーザーごとに異なります。
エンドユーザーはログイン時に、該当するすべての属性を取得します。なお、取得される属性は、そのユーザーに割り当てられているロールの種類やポリシーの適用方法に応じて異なります。
動的、ユーザー、ポリシーの各属性がエンドユーザーに関連付けられるのは、Presence サービスと Instant Messaging サービスがそれらのエンドユーザーに割り当てられた後です。
Instant Messaging サービス属性
表 6-3 は、各サービスに含まれるポリシー属性、動的属性、ユーザー属性を一覧にまとめたものです。
Access Manager 管理コンソールでは、上表の各属性に対応するラベルが表示されます。次の 2 つの表は、属性、対応するラベル、簡単な説明を一覧にまとめたものです。表 6-4 はポリシー属性の一覧とその説明、表 6-5 は動的属性およびユーザー属性の一覧とその説明です。
属性の直接変更
エンドユーザーは、Sun Java System Access Manager の管理コンソールにログインし、Instant Messaging サービスと Presence サービスの各属性値を参照できます。属性が変更可能として定義されていた場合、エンドユーザーはそれらの属性を変更できます。ただし、デフォルトでは、Instant Messaging サービス内の属性はすべて変更不可能になっており、エンドユーザーにそれらの変更を許可することも、あまりお勧めできません。とはいえ、システム管理の観点から、属性を直接変更したほうが便利なこともあります。
たとえば、「参加する会議室」など、いくつかのシステム属性ではロールの影響は存在しないため、システム管理者は、それらの属性の値を変更する際に、ほかのエンドユーザー (の会議名簿など) からそれらの属性をコピーしたり、それらの属性を直接変更したりします。これらの属性の一覧を、表 6-5 に示します。
表 6-5 を見ると、ユーザー属性は、エンドユーザーが Sun Java System Access Manager 管理コンソールを使って設定できます。動的属性は、管理者によって設定されます。動的属性に設定された値は、対応するユーザー属性の値を上書きするか、その値とマージされます。
対応する動的属性とユーザー属性の性質により、競合もしくは補完し合う情報がどのように解決されるかが決まります。たとえば、「参加する会議室」の 2 つのソース (動的属性およびユーザー属性) は互いに補完し合う関係にあるため、両者の情報はマージされます。いずれの属性も他方を上書きしません。
表 6-5 Instant Messaging 用の Access Manager ユーザー属性と動的属性
管理コンソールのラベル
ユーザー属性
動的属性
属性の説明
競合の解決
Messenger 設定
sunIMUserProperties
sunIMProperties
Instant Messenger のすべてのプロパティが含まれます。ファイルを使用したユーザープロパティ機構における user.properties ファイルに対応しています
マージ: ただし、あるプロパティの値がユーザー属性、動的属性の両方に存在していた場合、動的属性の値が使用されます。
登録
sunIMUserRoster
sunIMRoster
登録情報が含まれます (ユーザーの連絡先一覧)
マージ: Jabber 識別子がユーザー属性と動的属性の両方に存在していた場合、ニックネームがユーザー属性から取得され、グループはユーザー属性と動的属性の両方のグループを結合したものとなり、登録値はユーザー属性と動的属性の値のうち最も大きい値が採用されます。
参加する会議室
sunIMUserConferenceRoster
sunIMConferenceRoster
会議室の参加情報が含まれます
マージ: 動的属性とユーザー属性の登録情報がマージされ、重複は削除されます。
ニュースチャネルへ登録
sunIMUserNewsRoster
sunIMNewsRoster
ニュースチャネルの登録情報が含まれます
マージ: 動的属性とユーザー属性の登録情報がマージされ、重複は削除されます。
Presence エージェント
sunPresenceEntityDevices
sunPresenceDevices
このリリースでは未使用です (将来使用予定)
動的属性の情報が使用されます。
プライバシー
sunPresenceUserPrivacy
sunPresencePrivacy
Instant Messenger におけるプライバシー設定に対応しています
マージ: 競合が発生した場合は動的値が使用されます。
Instant Messenger の設定
sunIMUserPrivateSettings
sunIMPrivateSettings
Messenger 設定に設定されていない非公開の設定が保存されます
マージ
Instant Messaging ポリシーと Presence ポリシーの事前定義サンプル
表 6-6 は、Instant Messaging サービスコンポーネントのインストール時に Sun Java System Access Manager 内に作成される、7 つのサンプルポリシーと 7 つのサンプルロール、およびその説明を一覧にまとめたものです。各エンドユーザーには、付与すべきアクセス権限に応じたロールを追加できます。
典型的なサイトでは、ロール「IM Regular User」 (デフォルトの Instant Messaging アクセス権と Presence アクセス権を取得するロール) を、Instant Messaging ポリシー管理の責務を負わない、Instant Messenger を単に使用するだけのエンドユーザーに割り当てます。また、その同じサイトで、ロール「IM Administrator」 (Instant Messaging サービスと Presence サービスの管理権限が関連付けられたロール) を、Instant Messaging ポリシー管理に対して完全な責務を負うエンドユーザーに割り当てます。表 6-7 は、ポリシー属性のデフォルトの権限割り当て一覧です。あるアクションがある規則内で選択されていない場合、この表の値 「許可」や「許可しない」は意味を持ちません。というのも、そのポリシーはその属性に影響しないからです。
新しい Instant Messaging ポリシーの作成
サイトの特定の要求に応じて、新しいポリシーを作成できます。
新しいポリシーを作成する
- Access Manager の管理コンソール (http://hostname:port/amconsole、たとえば http://imserver.company22.example.com:80/amconsole) にログインします。
- 「アイデンティティ管理」タブが選択された状態で、ナビゲーション区画 (左下のフレーム) にある「表示」ドロップダウンリストから「ポリシー」を選択します。
- 「新規」をクリックします。データ区画 (右下のフレーム) に「新規ポリシー」ページが表示されます。
- 「ポリシータイプ」で「標準」を選択します。
- 「名前」フィールドにポリシーの説明 (「Ability to Perform IM Task」など) を入力します。
- 「了解」をクリックします。ナビゲーション区画のポリシー一覧に新しいポリシーの名前が表示され、データ区画のページが、新しいポリシーに対する「編集」ページに変わります。
- 「編集」ページの「表示」ドロップダウンリストから「ルール」を選択します。「編集」ページ内に「ルール名、サービス、リソース」パネルが表示されます。
- 「新規」をクリックします。「ルールを追加」ページが表示されます。
- 適用するサービス (「Instant Messaging サービス」、「Presence サービス」のいずれか) を選択します。
各サービスでは、エンドユーザーが特定のアクションを実行するのを許可または拒否できます。たとえば、「チャット」は Instant Messaging サービスに固有のアクションであり、「他人の Presence にアクセス」は Presence サービスに固有のアクションです。
- 「ルール名」フィールドに規則の説明 (「Rule 1」など) を入力します。
- 「リソース名」に適切な値 (IMResource、PresenceResource のいずれか) を入力します。
- 「アクション」で適用するアクションを選択します。
- 「値」で各アクションの値 (「許可する」、「許可しない」のいずれか) を選択します。
- 「作成」をクリックします。この規則案が、そのポリシーの保存規則一覧に表示されます。
- 「保存」をクリックします。この規則案が保存規則になります。
- そのポリシーに適用するすべての規則を作成し終えるまで、手順 8 〜 15 を繰り返します。新しい規則を作成するたびに、「保存」をクリックして変更内容をポリシーに保存してください。
ロール、グループ、組織、ユーザーへのポリシーの割り当て
ロール、グループ、組織、またはユーザーには、ポリシー (デフォルトの Instant Messaging ポリシーまたは Instant Messaging のインストール後に作成された Instant Messaging ポリシー) を割り当てることができます。
ポリシーを割り当てる
- Access Manager の管理コンソール (http://hostname:port/amconsole、たとえば http://imserver.company22.example.com:80/amconsole) にログインします。
- 「アイデンティティ管理」タブが選択された状態で、ナビゲーション区画 (左下のフレーム) にある「表示」ドロップダウンリストから「ポリシー」を選択します。
- 割り当てるポリシーの名前の横にある矢印をクリックします。そのポリシーに対する「編集」ページが、データ区画 (右下のフレーム) に表示されます。
- 「編集」ページの「表示」ドロップダウンリストから「サブジェクト」を選択します。
- 「追加」をクリックします。「サブジェクトを追加」ページが表示されます。このページには、次の利用可能なサブジェクトタイプが一覧表示されます。
- このポリシーに合うサブジェクトタイプ (「組織」など) を選択します。
- 「次へ」をクリックします。
- 「名前」フィールドで、サブジェクトの説明を入力します。
- 必要であれば、「排他的」チェックボックスをオンにします。
「排他的」チェックボックスは、デフォルトでオフになっています。これは、このサブジェクトのすべてのメンバーにポリシーが適用されることを意味しています。
「排他的」チェックボックスをオンにすると、このサブジェクトのメンバー以外のすべてのユーザーにポリシーが適用されます。
- 「利用可能」フィールドで、このサブジェクトに追加するエントリを検索します。
- 「作成」をクリックします。このサブジェクト案が、そのポリシーの保存サブジェクト一覧に表示されます。
- 「保存」をクリックします。このサブジェクト案が保存サブジェクトになります。
- このポリシーに追加するすべてのサブジェクトを作成し終えるまで、手順 5 〜 12 を繰り返します。新しいサブジェクトを作成するたびに、「保存」をクリックして変更内容をポリシーに保存してください。
Access Manager による新しいサブ組織の作成
Sun Java System Access Manager のサブ組織作成機能を使うと、組織的に独立した複数のユーザー群を、Instant Messaging Server 内に作成することができます。各サブ組織は、個別の DNS ドメインにマッピングすることが可能です。サブ組織内のエンドユーザーは、ほかのサブ組織内のエンドユーザーから完全に隔離されます。Instant Messagingの新しいサブ組織を作成するための最小限の手順を、以下に示します。
新しいサブ組織を作成する
- Access Manager の管理コンソール (http://hostname:port/amconsole、たとえば http://imserver.company22.example.com:80/amconsole) にログインします。
- 新しい組織を作成します。
- 新しく作成されたサブ組織のサービスを登録します。
- 新しく選択されたサービスのサービステンプレートを作成します。
- ナビゲーション区画で、特定のサービスのプロパティ矢印をクリックします。まずは、「コア」サービスから始めます。
データ区画に「サービステンプレートの作成」ページが表示されます。
- データ区画で「作成」をクリックします。すると、「サービステンプレートの作成」ページに代わって、選択したサービスのテンプレートオプションを含むページが表示されます。
テンプレートオプションを変更しない場合でも、個々のサービスごとに「作成」をクリックする必要があります。
- 以下の手順に従って、各サービスのサービステンプレートのオプションを変更します。
- コア: 通常の場合、オプションを変更する必要はありません。そのまま手順 d に進んでください。
- LDAP : 新しいサブ組織のプレフィックスを、「ユーザー検索の開始 DN」フィールドに追加します。プレフィックス追加後の最終的な DN の形式は、次のようになります。
o=sub1,dc=company22,dc=example,dc=com
「root ユーザーバインドパスワード」、「root ユーザーバインドパスワード (確認)」の各フィールドに、LDAP パスワードを入力します。
手順 d に進んでください。
- Instant Messaging サービス: 通常の場合、オプションを変更する必要はありません。そのまま手順 d に進んでください。
- 「保存」をクリックします。
- すべてのサービスのサービステンプレートを作成し終わるまで、手順 a 〜 d を繰り返します。
新しいサブ組織へのエンドユーザーの追加
サブ組織内に新しいエンドユーザーを作成し終わったら、次にそれらのエンドユーザーにロールを割り当てる必要があります。ロールは親組織から継承できます。その方法を以下で説明します。
エンドユーザーを新しいサブ組織に追加する
- 親組織に移動し、「表示」ドロップダウンリストから「ロール」を選択します。具体的な手順は、次のとおりです。
- 割り当てるロールの右側にあるプロパティ矢印をクリックします。そのロールに対するページが、データ区画 (右下のフレーム) に表示されます。
- データ区画の「表示」ドロップダウンリストから「ユーザー」を選択します。
- 「追加」をクリックします。「ユーザーを追加」ページが表示されます。
- ユーザーを特定するための検索パターンを入力します。たとえば、「UserId」フィールドにアスタリスク「*」を入力すると、すべてのユーザーが一覧表示されます。
- 「フィルタ」をクリックします。「ユーザーを選択」ページが表示されます。
- 「ユーザーを選択」ページで親パスを表示します。
- このロールを割り当てるユーザーを選択します。
- 「送信」をクリックします。