ポリシー適用の基本動作とトラブルシューティング IBM Software Group Lotus Spring Forum 2009 IBM
by user
Comments
Transcript
ポリシー適用の基本動作とトラブルシューティング IBM Software Group Lotus Spring Forum 2009 IBM
® IBM Software Group Lotus Spring Forum 2009 IBM ソフトウェア プレミアム・サポート 活動事例紹介 クライアント利用の統一化を図る ポリシー適用の基本動作とトラブルシューティング IBM Software Group 特記事項 本資料の記載内容は、できる限り正確を期すよう努めてはおりますが、いかな る明示または暗黙の保証も責任も負いかねます。 本資料の情報は、使用先の責任において使用されるべきものであることを、あ らかじめご了承ください。 掲載情報は不定期に変更されることもあります。他のメディア等に無断で転載 する事はご遠慮ください。 当資料をコピー等で複製することは、執筆者の承諾なしではできません。 また、当資料に記載された製品名または会社名はそれぞれの各社の商標ま たは登録商標です。 IBM、IBMロゴ、Lotus、Lotus Notes、Lotus Domino、は、International Business Machines Corporationの米国およびその他の国における商標。 -2All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 目次 はじめに 1. ポリシーとは 2. ポリシー適用の基本動作 3. 4. 1. サーバー側で発生する動作 2. クライアント側で発生する動作 発生する問題と対応方法 1. 発生する問題 2. 対応方法 3. 特に注意が必要な点 ポリシー適用状況の確認方法と不具合対応に関する参考例 1. ポリシー適用状況の調査例1 2. ポリシー適用状況の調査例2 3. 不具合対応例(ユーザーへのアナウンス) 参考資料 -3All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group はじめに ポリシーは、ユーザーまたは組織へのクライアント設定ならびにセキュリティ設定を管理する上で 非常に利便性が高い機能である一方、実際の適用においては正しく設定を反映できない事例が 少なくありません。 ユーザー規模にもよりますが問題発生を未然に防ぐことが難しいため、ポリシーが適用される 動作を理解した上で発生する問題のケース毎に柔軟な対応が必要となります。 ここではポリシーが適用される仕組み、実際の適用事例を元に問題の発生するケースと その対応方法について紹介します。 ただし、プロジェクトの経験に基づいた記述であるため、主にデスクトップポリシー設定に 特化した内容になっています。 アーカイブポリシー、メールポリシー等には必ずしも当てはまらないこともありますので、 予めご了承ください。 -4All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず ® IBM Software Group 1. ポリシーとは IBM Software Group 1 ポリシーとは ポリシーとは管理者がユーザーのクライアントの使用方法を制御できる機能 ポリシー文書の中にポリシー設定文書を紐づける形で設定 デスクトップポリシー設定文書 登録ポリシー設定文書 セットアップポリシー設定文書 ポリシー文書A 組織的 メールポリシー設定文書 組織的な適用 セキュリティポリシー設定文書 例えば、*/IBMのように階層を指定し、こ の階層を持つユーザーに対して一括して 設定を適用できる。 アーカイブポリシー設定文書 作成した時点で該当ユーザーに反映さ れる -6All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 1 ポリシーとは ポリシーとは管理者がユーザーのクライアントの使用方法を制御できる機能 ポリシー文書の中にポリシー設定文書を紐づける形で設定 デスクトップポリシー設定文書 登録ポリシー設定文書 セットアップポリシー設定文書 ポリシー文書A ポリシー文書B 組織的 メールポリシー設定文書 組織的な適用 セキュリティポリシー設定文書 例えば、*/IBMのように階層を指定し、こ の階層を持つユーザーに対して一括して 設定を適用できる。 明示的 明示的な適用 アーカイブポリシー設定文書 ユーザー単位で個別に指定することが できる。 作成した時点で該当ユーザーに反映さ れる -7All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず ® IBM Software Group 2. ポリシー適用の基本動作 1. サーバー側で発生する動作 IBM Software Group 2.1 サーバー側で発生する動作 Lotus Domino® メモリ Dominoディレクトリ ポリシー文書 ポリシー設定文書 Lotus Notes® 事前準備 ポリシー文書、ポリシー設定文書を作成する -9All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 2.1 サーバー側で発生する動作 Lotus Domino メモリ Dominoディレクトリ ポリシー文書 ポリシー設定文書 Lotus Notes 1.クライアントがサーバーへ接続要求を出す 2.サーバーが認証処理を行う ユーザーA - 10 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 2.1 サーバー側で発生する動作 Lotus Domino メモリ Dominoディレクトリ ポリシー文書 ポリシー情報A ユーザー情報 ポリシー文書の情報 ポリシー文書の最終更新日時 ポリシー設定文書 ポリシー文書の最終ポーリング日時 Lotus Notes 3.ポリシーの設定がキャッシュされているかを確認。なければ メモリ上に読み込み、すでに存在する場合はキャッシュ上の 最終更新日と、ポリシー文書の最終更新日を比較。 ユーザーA 異なる場合はキャッシュを更新する。 - 11 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 2.1 サーバー側で発生する動作 Lotus Domino メモリ Dominoディレクトリ ポリシー文書 ポリシー設定文書 ポリシー情報A ポリシー情報B ユーザー情報 ユーザー情報 ポリシー文書の情報 ポリシー文書の情報 ポリシー文書の最終更新日時 ポリシー文書の最終更新日時 ポリシー文書の最終ポーリング日時 ポリシー文書の最終ポーリング日時 Lotus Notes ※メモリ上のキャッシュはユーザー毎に作成される ユーザーA ユーザーB - 12 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 2.1 サーバー側で発生する動作 Lotus Domino メモリ Dominoディレクトリ ポリシー文書 ポリシー設定文書 ポリシー情報A ポリシー情報B ユーザー情報 ユーザー情報 ポリシー文書の情報 ポリシー文書の情報 ポリシー文書の最終更新日時 ポリシー文書の最終更新日時 ポリシー文書の最終ポーリング日時 ポリシー文書の最終ポーリング日時 Lotus Notes ※一旦メモリ上にキャッシュされると、それ以降のユーザーアクセ スはキャッシュを参照する ユーザーA ユーザーB - 13 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 2.1 サーバー側で発生する動作 Lotus Domino メモリ Dominoディレクトリ ポリシー文書 ポリシー設定文書 Lotus Notes サーバーを再起動すると、メモリ上のキャッシュは削除される - 14 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 2.1 サーバー側で発生する動作 サーバーでは、クライアントアクセスへのレスポンス向上のため、メモリ領域にポ リシー情報のキャッシュを作成します。 1. ユーザーの初回アクセス時に作成される。次回以降のアクセスはキャッシュに対 して行われる 2. キャッシュ情報はユーザー毎に保持している。 3. サーバーを再起動するとキャッシュ情報は消去される - 15 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず ® IBM Software Group 2. ポリシー適用の基本動作 2. クライアント側で発生する動作 IBM Software Group 2.2 クライアント側で発生する動作 Lotus Domino 1.クライアントがサーバーへ接続要求を出す ポリシー情報 Lotus Notes 接続のタイミングは限定されています。 9クライアントを起動してから初めてサーバーへアクセス 9ユーザー ID の切り替えをしてから初めてサーバーへアクセス 9[F5] キーにてノーツをロックし、再度ログインしてから初めてサーバーへアクセス ユーザーA - 17 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 2.2 クライアント側で発生する動作 Lotus Domino 2.個人アドレス帳のプロフィール文書の$DynInfoCacheを参照し、 サーバー側の情報が更新されているかどうか確認する。 ポリシー情報 Lotus Notes directoryprofile文書 ユーザーA $DynInfoCache - 18 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 2.2 クライアント側で発生する動作 Lotus Domino 3.directoryprofile文書がない、もしくはサーバー側のポリシー ポリシー情報 設定が更新されたと判断された場合、クライアント側のタスク である Dynamic Client Configuration (以下DCC)が起動する Lotus Notes Dynamic Client Configuration directoryprofile文書 ユーザーA $DynInfoCache - 19 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 2.2 クライアント側で発生する動作 Lotus Domino 4.DCCが起動すると、サーバーからポリシー情報が取得され、 ポリシー情報 個人アドレス帳に取り込まれる。 ※個人アドレス帳の($Policies)ビューで確認可能 Lotus Notes Dynamic Client Configuration directoryprofile文書 ユーザーA ポリシー情報 $DynInfoCache - 20 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 2.2 クライアント側で発生する動作 Lotus Domino ※デスクトップ設定などはこの取り込み動作の時点で各設定値が ポリシー情報 ロケーション設定やプリファレンス設定に反映される Lotus Notes Dynamic Client Configuration directoryprofile文書 ユーザーA ポリシー情報 $DynInfoCache - 21 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 2.2 クライアント側で発生する動作 クライアントでは Dynamic Client Configurationが動作し、ポリシー文書 の取り込みや設定反映を行っています。 また、DCCの動作契機は限定されています。 サーバーアクセスのタイミング クライアントを起動してから初めてサーバーへアクセス ユーザー ID の切り替えをしてから初めてサーバーへアクセス [F5] キーにてノーツをロックしてから再度ログインしてから初めてサーバーへアクセス プロフィール文書 directoryprofile文書が存在しない directoryprofile文書は存在し、 $DynInfoCacheフィールドの情報がサーバー側のキャッ シュ情報に比べて古い - 22 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず ® IBM Software Group 3. 発生する問題と対応方法 IBM Software Group 3.1 発生する問題 1. ポリシー文書が個人アドレス帳に取り込まれない <考えられる原因> サーバー側のキャッシュ情報、directoryprofile文書の$DynInfoCache情報の不整合 個人アドレス帳の破損 2. ロケーション文書に設定が反映されない <考えられる原因> ロケーション文書のAcceptUpdates フィールドの値が 0 ロケーション文書内にログインユーザーとは別のIDが指定されている 個人アドレス帳の設計が古い セットアッププロフィールが設定されている 3. プリファレンス設定が反映されていない <考えられる原因> エンドユーザーによるnotes.iniの差し替え - 24 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 3.2 対応方法 1. ポリシー文書が個人アドレス帳に取り込まれない <考えられる原因> サーバー側のキャッシュ情報、directoryprofile文書の$DynInfoCache情報の不整合 個人アドレス帳の破損 実施すべき対応 zサーバー側キャッシュ情報の再作成 9サーバー再起動後ユーザーアクセス zプロフィール文書の削除 9エージェントにてプロフィール文書を削除する - 25 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 3.2 対応方法 1. ポリシー文書が個人アドレス帳に取り込まれない <考えられる原因> サーバー側のキャッシュ情報、directoryprofile文書の$DynInfoCache情報の不整合 個人アドレス帳の破損 実施すべき対応 z メンテナンスコマンドの実行 1. ノーツクライアントを終了した状態で、MS-DOSコマンドプロンプトを起動する。 2. cdコマンドにてノーツのプログラムディレクトリへ移動する。 3. 以下のメンテナンスコマンドを実行する。 例 ) プログラムディレクトリ: C:¥lotus¥notes データディレクトリ:C:¥lotus¥notes¥data >C:¥lotus¥notes> nfixup C:¥lotus¥notes¥data¥names.nsf >C:¥lotus¥notes> ncompact -c C:¥lotus¥notes¥data¥names.nsf >C:¥lotus¥notes> nupdall -r C:¥lotus¥notes¥data¥names.nsf 4. クライアントを起動する。 - 26 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 3.2 対応方法 1. ポリシー文書が個人アドレス帳に取り込まれない <考えられる原因> サーバー側のキャッシュ情報、directoryprofile文書の$DynInfoCache情報の不整合 個人アドレス帳の破損 実施すべき対応 z 回復不可能な破損の場合は個人アドレス帳の再作成 1. クライアントを一旦終了する 2. 現在使用している個人アドレス帳をリネーム 3. 個人アドレス帳のテンプレート(pernames.ntf)をコピーし、 names.nsf にリネーム 4. クライアントを起動 5. ロケーション文書、接続文書など、必要な文書を追加する - 27 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 3.2 対応方法 2. ロケーション文書に設定が反映されない <考えられる原因> ロケーション文書のAcceptUpdates フィールドの値が 0 ロケーション文書内にログインユーザーとは別のIDが指定されている 個人アドレス帳の設計が古い セットアッププロフィールが設定されている 実施すべき対応 z フィールドの値を 1 に変更する 1. 変更したいロケーション文書を編集モードで開く 2. メニューの[アクション]-[詳細]-[詳細フラグの更新]を選択 3. 以下のダイアログが表示にて、[はい]を選択して閉じる。 - 28 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 3.2 対応方法 2. ロケーション文書に設定が反映されない <考えられる原因> ロケーション文書のAcceptUpdates フィールドの値が 0 ロケーション文書内にログインユーザーとは別のIDが指定されている 個人アドレス帳の設計が古い セットアッププロフィールが設定されている 実施すべき対応 z IDを切り替えて使用することでそのIDへのポリシーが反映されるため、特に対応の必要ない。 <注意> IDを切り替える環境でデスクトップポリシーを利用する場合は注意が必要です。 一度ポリシーにて反映された設定をユーザー自身が手動で設定変更している場合、ID切り替え後に再度ポリシーが 反映されるタイミングで該当の設定が書き換わってしまうこともあり、ユーザーが意図しない動作が発生する可能 性があります。 このような環境では、notes.iniやDesktop6.ndkなど、共有されるデータが多くあることから、思わぬ結果となる可能性 があることを認識しておく必要があります。 - 29 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 3.2 対応方法 2. ロケーション文書に設定が反映されない <考えられる原因> ロケーション文書のAcceptUpdates フィールドの値が 0 ロケーション文書内にログインユーザーとは別のIDが指定されている 個人アドレス帳の設計が古い セットアッププロフィールが設定されている 実施すべき対応 z 設計置換により、正しいバージョンの設計とする <補足> 例えば、クライアントN7、個人アドレス帳R5、の状態で使用している場合でも、DCCが動作することで個人アドレス帳 にポリシー情報は取り込まれてしましますので、設計置換後は個人アドレス帳内のポリシー文書、プロフィール 文書を削除して、クライアントを再起動し、文書を取り込み直す必要があります。 - 30 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 3.2 対応方法 2. ロケーション文書に設定が反映されない <考えられる原因> ロケーション文書のAcceptUpdates フィールドの値が 0 ロケーション文書内にログインユーザーとは別のIDが指定されている 個人アドレス帳の設計が古い セットアッププロフィールが設定されている 実施すべき対応 z セットアッププロフィールを削除する <補足> 例えばNotes R5.x を使用していた際にセットアッププロフィールの設定を行っている場合、バージョンアップした時点 でポリシー文書は取り込まれますが、正しく反映されません。 - 31 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 3.2 対応方法 3. プリファレンス設定が反映されていない <考えられる原因> エンドユーザーによるnotes.iniの差し替え 実施すべき対応 z ポリシー文書の再取り込みを実施 <補足> すでにポリシー設定が正しく反映されたクライアント環境に対して、過去に使用していたnotes.iniファイルを差し替えた 場合、DCCが動作しない限りは差し替えた設定が有効になってしまいます。 例えば、デスクトップポリシーにて、プリファレンスの ネットワーク圧縮 を 有効 且つ ロックダウン するように設定 しているとします。ポリシーが正しく反映された後に、 ネットワーク圧縮 が 無効 となっている過去のnotes.ini ファイルを差し替えると、 無効 の状態で ロックダウン されることになります。 - 32 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 3.3 特に注意が必要な点 1. Cache.NDK 9 クライアントのキャッシュ情報により誤動作を引き起こすことがあるため、前述の対応を実施しても現象 が回避できない場合はCache.NDKを再作成することも有効な手段です。 2. クライアントの再起動 9 不具合解消のため、個人アドレス帳のプロフィール文書と取り込まれたポリシー文書を一旦削除してポリ シー文書を再取り込みすることは、非常に有効な手段として様々なケースで利用されます。 このときDCCが起動する条件である、 クライアント再起動後の初回サーバアクセス にて再取り込みを 行いますが、クライアントを再起動しても、一向に文書が取り込めない時があります。 これはクライアント終了後にあまり間をおかずに起動すると、クライアントが完全に終了する前に起動す ることになり、 初回 サーバーアクセスと見なされないためです。このことを認識していないと、DCCの動 作条件を満たしているにも関わらず正しく動作しないように見えるため、混乱を招く要因となります。 - 33 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず ® IBM Software Group 4. ポリシー適用状況の確認方法と不具合対応に関する参考例 IBM Software Group 4.1 ポリシー適用状況の調査例1 1. ユーザーは全社的に配信されるニュースを閲覧する ユーザー 2. 閲覧するタイミングでフォームに仕込んだスクリプトが動作し、クライアント情報を取 得する。 3. 取得した結果は、事前に用意したチェック結果格納用のDBに保存される 1 2 本日の ニュース 確認用 文書 3 - 35 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 4.2 ポリシー適用状況の調査例2 1. 管理者側からスクリプトを埋め込んだメールを送付する。 ユーザー 9 テンプレートへのカスタマイズは不可なので、ローカルに作成 したメールDBにて、送信メールにフォームを文書に格納する。 ポリシー情報 2 2. ユーザーがメールを開くとスクリプトが起動し、チェック結果格納用 のDBにポリシー情報が保存される。 管理者 1 確認用 文書 メール - 36 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 4.3 不具合対応例(ユーザーへのアナウンス) イメージ (実際のものとは多少形式を変更しています) - 37 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group 参考資料 (ユーザー 設定修正用ボタン) Sub Click(Source As Button) Dim ss As New NotesSession Dim names As NotesDatabase Dim view As NotesView Dim viewL As NotesView Dim coldoc As NotesDocumentCollection Dim colpro As NotesDocumentCollection Dim doc As NotesDocument Dim docL As NotesDocument Dim vform As Variant Dim tmpVer As String Dim unid As String Dim remdoc As NotesDocument Dim item As NotesItem Set names = ss.GetDatabase("","names.nsf") Set coldoc = names.AllDocuments Set doc = coldoc.GetFirstDocument While Not (doc Is Nothing) unid = "" vform = doc.Form(0) If (vform = "PolicyMaster" Or vform = "PolicySecurity" Or vform = "PolicyDesktop") Then unid = doc.UniversalID End If Set doc = coldoc.GetNextDocument(doc) Wend Set colpro = names.GetProfileDocCollection("$PolicyProfile") Call colpro.RemoveAll(True) Set colpro = names.GetProfileDocCollection("directoryprofile") Call colpro.RemoveAll(True) Set view = names.GetView("($Policies)") If (view Is Nothing) Then Call ss.SetEnvironmentVar("TemplateSetup","67",True) End If Set viewL = names.GetView("Locations") Set docL = viewL.GetFirstDocument While Not ( docL Is Nothing) If docL.HasItem("AcceptUpdates") Then Set item = docL.ReplaceItemValue("AcceptUpdates", "1") End If Wend Call docL.Save(True,True) Set docL = viewL.GetNextDocument(docL) Msgbox "処理が完了しました。ノーツを再起動してください。" End Sub If unid <> "" Then Set remdoc = names.GetDocumentByUNID(unid) remdoc.RemovePermanently(True) End If - 38 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず