サブスクライバの更新

内容
capamsc141
サブスクライバを更新すると、Policy Model は以下のアクションを実行します。
  1. Policy Model からサブスクライバ名が追加または削除される場合、そのサブスクライバの名前を完全修飾しようとします。
  2. PMDB サービスの sepmdd が、サブスクライバ データベースの更新を試みます。
  3. 制限時間が経過した時点でサブスクライバを更新できなかった場合、サービスはそのサブスクライバの更新処理を省略して、サブスクライバ リストにある残りのサブスクライバの更新を試みます。
  4. sepmdd は、サブスクライバ リストの 1 回目のスキャンが終了した後、2 回目のスキャンを実行します。2 回目のスキャンでは、1 回目のスキャンで更新できなかったサブスクライバの更新を試みます。
サブスクライバに更新を伝達するときに PMDB でエラーが発生すると、sepmdd サービスは Policy Model エラー ログ ファイルにエントリを作成します。このファイル(ERROR_LOG)は PMDB ディレクトリにあります。

Policy Model データベースの更新

PMDB が格納されているコンピュータで操作を行っても、PMDB 自体は自動的に更新されません。PMDB を更新するには、PMDB をターゲット データベースとして指定する必要があります。
selang または
Privileged Access Manager
エンドポイント管理を使用して PMDB を指定できます。selang を使用してターゲット データベースを指定するには、selang コマンド シェルで hosts コマンドを使用します。
hosts pmd_name@pmd_host
これで、指定した Policy Model データベースがすべての selang コマンドで更新されます。次に、このコンピュータおよびすべてのサブスクライバ コンピュータ上のアクティブなデータベースにコマンドが自動的に伝達されます。
例: ターゲット PMDB を指定する
ターゲット データベースを myPMD_host の policy1 に設定するには、以下のコマンドを使用します。
hosts policy1@myPMD_host
ここで、newusr コマンドを入力すると、新規ユーザは policy1 データベースに追加される以外に、このコンピュータおよびすべてのサブスクライバ コンピュータ上のアクティブ データベースにも追加されます。

更新ファイルのクリーンアップ

capamsc141
sepmd ユーティリティは、受信した各更新情報を updates.dat ファイルに自動的に書き込みます。このファイルのサイズが大きくなりすぎないように、処理済みの更新情報をファイルから定期的に削除することをお勧めします。
更新ファイルをクリーンアップするには、以下のコマンドを使用します。
sepmd -t pmdbName auto
sepmd は、まだ伝達されていない最初の更新エントリのオフセットを計算して、その前にあるすべての更新エントリを削除します。
sepmd ユーティリティの詳細については「リファレンス ガイド」を参照してください。

パスワードの伝達と同期

PMDB の階層をセットアップすると、Windows のユーザ マネージャまたは
Privileged Access Manager
以外のソフトウェアでユーザ パスワードが変更された場合にも、この階層を使用してシステム全体でユーザ パスワードの同期を維持できます。
Privileged Access Manager
では、メインフレームのパスワード同期もサポートされています。
以下の手順に従います。
  1. PMDB 階層を作成します。
  2. ユーザまたは管理者がパスワードを変更する可能性がある各端末で、レジストリの passwd_pmd エントリの値に適切な親 PMDB の名前を入力します。
    HKEY_LOCAL_MACHINE\Software\ComputerAssociates\AccessControl\AccessControl\passwd_pmd
    次に、PMDB からすべてのサブスクライバにパスワードの変更が伝達されます。
ユーザが定義されていないサブスクライバに PMDB からユーザ パスワードが送信された場合、設定は変更されず、ユーザはそのサブスクライバに対して未定義のままになります。

サブスクライバの削除

更新情報が特定のサブスクライバに伝達されないようにする場合は、そのサブスクライバを削除する必要があります。
サブスクライバを削除するには、以下の手順に従います。
  1. コンピュータをサブスクライバ リストから削除します。
    sepmd -u PMDB_namecomputer_name
    コンピュータが Policy Model のサブスクライバ リストから削除されます。
  2. サブスクライバ リストから削除したコンピュータで seosd を停止します。
    secons -s
    seosd サービスが停止されます。
  3. サブスクライバ リストから削除したコンピュータで以下のレジストリ キーの parent_pmd レジストリの値を削除します。
    HKEY_LOCAL_MACHINE\Software\ComputerAssociates\AccessControl\AccessControl
    コンピュータは親 PMDB から更新情報を受け取らなくなります。
  4. seosd を再起動します。
    サブスクライバ リストから削除したコンピュータ上のアクティブ データベースは、指定した PMDB のサブスクライバではなくなりました。
データベースが PMDB のサブスクライバから解除されると、PMDB はコマンドを送信しなくなります。

更新情報のフィルタ処理

1 つの PMDB を使用して、複数の異なるサブスクライバ データベースでデータのさまざまなサブセットを更新する場合は、サブスクライバ データベースにどのレコードを送信するかを定義する必要があります。
更新情報をフィルタ処理する方法
  1. サブスクライバのサブセットの親として PMDB を設定します。
  2. 親 PMDB のレジストリ キーの
    Filter
    レジストリのエントリを変更し、同じコンピュータで設定するフィルタ ファイルを参照するようにします。
    このように指定すると、フィルタ条件に該当するレコードのみがサブスクライバ データベースに更新情報として送信されます。

Policy Model のフィルタ ファイル

フィルタ ファイルは、各行に 6 つのフィールドを持つ複数の行で構成されます。フィールドには以下の情報が含まれます。
  • 許可または拒否されるアクセスの種類。
    例: EDIT または MODIFY
  • 影響を受ける環境。
    例: AC またはネイティブ
  • レコードのクラス。
    例: USER または TERMINAL
  • ルールが適用される、クラスのオブジェクト。
    例: User1、AuditGroup、または COM2
  • レコードによって許可または取り消されるプロパティ。
    たとえば、フィルタ行の OWNER および FULL_NAME は、これらのプロパティを持つコマンドはすべてフィルタ処理されることを意味します。各プロパティは、「
    リファレンス ガイド
    」に記載されているとおりに正確に入力する必要があります。
  • 該当するレコードをサブスクライバ データベースに転送するかどうか。
    PASS または NOPASS
フィルタ ファイルの各行に以下のルールが適用されます。
  • どのフィールドでも、アスタリスク(*)を使用して可能なすべての値を指定することができます。
  • 同じレコードが複数の行に該当する場合は、
    最初の
    該当する行が使用されます。
  • フィールドをスペースで区切ります。
  • フィールドに複数の値がある場合は、値をセミコロンで区切ります。
  • #
    で始まる行はコメント行とみなされます。
  • 空白行は使用できません。
例: フィルタ ファイル
以下の例では、フィルタ ファイルの行について説明します。
CREATE
AC
USER
*
FULL_NAME;OBJ_TYPE
NOPASS
アクセス形式
environment
クラス
レコード名(* = すべて)
properties
処理方法
この例では、この行を指定したファイルの名前が Printer1_Filter.flt で、PMDB PM-1 のレジストリを編集して「filter=C:\Program Files\CA\AccessControl\Printer1_Filter.flt」 と指定した場合、PMDB PM-1 は、FULL_NAME と OBJ_TYPE プロパティを指定してユーザを新規作成するレコードをサブスクライバに伝達しません。

Policy Model のエラー ログ ファイル

capamsc141
Policy Model のエラー ログ(発生順に書き込まれる)の例を以下に示します。
エラー テキスト
エラー カテゴリ
 
20 Nov 03 11:56:07 (pmdb1): fargo nu u5 0 Retry ERROR: Login procedure failed (10068) ERROR: Cannot accept update from a non-parent PMDB ([email protected]) (10104)
 
環境設定エラー
20 Nov 03 19:53:17 (pmdb1): fargo nu u5 0 Retry ERROR: Connection failed (10071) Host is unreachable (12296)
接続エラー
20 Nov 03 11:57:06 (pmdb1): fargo nu u5 560 Cont ERROR: Failed to create USER u5 (10028) Already exists (-9) 20 Nov 03 11:57:06 (pmdb1): fargo nu u5 1120 Cont ERROR: Failed to create USER u5 (10028) Already exists (-9)
データベース更新エラー
Policy Model のエラー ログはバイナリ形式であるため、以下のコマンドを入力することでのみ表示できます。
ACInstallDir/bin sepmd -e pmdname
エラー ログは手動で削除しないでください(たとえば、UNIX の rm コマンドを使用した削除)。ログを削除するには、以下のコマンドのみを使用してください。
ACInstallDir/bin sepmd -c pmdname
Privileged Access Manager
r5.1 以降のバージョンでのエラー ログのフォーマットには、旧バージョンのフォーマットとの互換性はありません。sepmd を使用して、旧バージョンのエラー ログを処理することはできません。このバージョンのフォーマットにアップグレードする際に、旧エラー ログは ERROR_LOG.bak としてコピーされ、sepmdd を起動すると新しいログ ファイルが作成されます。
例: PMDB 更新のエラー メッセージ
以下の例は、標準的なエラー メッセージを示しています。
eAC_r12.5SP3--error--OTH--U
  • 先頭行には必ず、日付、時刻、およびサブスクライバが表示されます。次に、エラーを発生させたコマンドが表示され、その後に、更新ファイル内の失敗した更新の位置を示すオフセット(10 進数)が続きます。最後のフラグは、PMDB が更新を自動的に再試行するか、または再試行せずに続行するかを示します。
  • 2 行目は、メジャー レベル メッセージ(発生したエラーの種類)とリターン コードの例を示しています。
  • 3 行目は、マイナー レベル メッセージ(エラーの発生理由)とリターン コードの例を示しています。
例: エラー メッセージ
1 つのコマンドによって、複数のエラーが生成および表示される場合があります。また、エラーは、メジャー レベル メッセージ、マイナー レベル メッセージ、またはその両方で構成される場合があります。
以下のエラーには、メッセージ レベルが 1 つしかありません。
Fri Dec 29 10:30:43 2003 CIMV_PROD:Release failed. Return code = 9241
このメッセージは、すでに使用可能なサブスクライバのリリースを sepmd pull が試みた場合に表示されます。

Policy Model のネイティブ リポジトリ

PMDB には、ネイティブ環境のすべての種類のユーザおよびグループ オブジェクトを保存できます。このような情報を PMDB に保存すると、show コマンド(show user または show group)を使用して、オブジェクトに関する情報を取得できます。返されるオブジェクトは、Windows サブスクライバまたは UNIX サブスクライバで定義されている実際のオブジェクトのイメージです。
Policy Model への接続後に、ユーザは以下の環境のいずれかを選択できます。
  • AC
  • Native
  • NT
  • UNIX
  • Config
Native を選択すると、Windows オペレーティング システムで作業している場合は Windows と同様に、UNIX オペレーティング システムで作業している場合は UNIX と同様に機能します。
ネイティブ環境のリポジトリを使用するには、以下のコマンドを使用します。
  • selang のプロンプトで以下のコマンドを入力します。
    env NT; find
    このコマンドを実行すると、ネイティブ環境のすべてのオブジェクトの種類が表示されます
    これらのオブジェクトの種類の詳細については、「
    リファレンス ガイド
    」の Windows 環境のクラスとプロパティの説明を参照してください。
  • NT および Active Directory の USER プロパティの一覧を取得するには、以下のコマンドを入力します。
    env NT; ruler user
  • NT および Active Directory の GROUP プロパティの一覧を取得するには、以下のコマンドを入力します。
    env NT; ruler group
Policy Model が別の(親)Policy Model のサブスクライバである場合、このPolicy Model は伝達により親からのデータを受け取り、このデータを参照および変更できるように、すべてのユーザ プロパティとグループ プロパティをデータベースに保存します。
詳細については、「
リファレンス ガイド
」の sepmd ユーティリティの説明を参照してください。