変数使用のガイドライン

目次
cminder12902jp
目次
変数を使用する場合は、以下のガイドラインに準拠する必要があります。
  • 別の変数またはポリシーが使用している変数を削除することはできません。
  • 変数は複数の値を持つことができます。 変数値は追加または削除できます。
  • 変数は入れ子にすることができます。 たとえば、以下のルールは、名前が「ac_data」で、組み込み変数、<!AC_ROOT_PATH> を含む変数を定義します。
    editres ACVAR ac_data value("<!AC_ROOT_PATH>\data")
    デフォルトの
    Privileged Identity Manager
    インストール環境の場合、Windows エンドポイントでこのルールをコンパイルすると、以下のルールが作成されます。
    editres ACVAR ac_data value("C:\Program Files\CA\AccessControl\data")
  • 各変数は、タイプを 1 つのみ持つことができます。たとえば、同時に性的変数でありレジストリ値変数である変数を定義することはできません。
  • 未定義の変数が含まれているポリシーはデプロイできません。 未定義の変数が含まれているポリシーをデプロイすると、 ポリシーのデプロイメント ステータスで[デプロイの一時停止中]に変更されます。 ポリシーデプロイするためには、未定義の変数を定義し、ポリシーを再デプロイする必要があります。
    注:
    ポリシーのどの変数が未定義か検出するには、ポリシーの DEPLOYMENT オブジェクトを確認します。
    Privileged Identity Manager
    は未定義の変数がないかどうかをユーザがポリシー検証を有効にしているか無効にしているかにかかわらず確認します。
  • Privileged Identity Manager
    は、
    Privileged Identity Manager
    の変数と Windows のシステム変数が組み合わされたルールを解決できません。 たとえば、
    Privileged Identity Manager
    は、「var1」という名前の変数を定義する以下のルールを解決できません。
    editres ACVAR var1 value("%SYSTEMROOT%\temp")
    %SYSTEMROOT% を
    Privileged Identity Manager
    変数として定義し、%SYSTEMROOT%\temp を保護するポリシーを作成するには、以下のルールを使用します。
    editres ACVAR var1 value("SYSTEMROOT") type(osvar) editres ACVAR var2 value("<!var1>\temp")
  • Privileged Identity Manager
    は、相互に依存する変数を解決できません。 たとえば、
    Privileged Identity Manager
    は以下の例の変数「var1」および「var2」を解決できません。
    editres ACVAR var1 value("<!var2>") editres ACVAR var2 value("<!var1>")
  • 変数内でディレクトリを定義するためにスラッシュが使用されている場合、
    Privileged Identity Manager
    は Windows および UNIX のエンドポイントで正しい方向になるようにスラッシュを解決します。
  • selang ルールを使用して変数を定義する場合、エンドポイントにルールをデプロイするポリシーを使用する必要があります。 selang ルールを使用してエンドポイント上の
    Privileged Identity Manager
    データベースを直接更新すると、
    Privileged Identity Manager
    はルールをコンパイルできません。 たとえば、エンドポイント上で「jboss_home」という名の変数を定義していて、以下の selang ルールでデータベースを直接更新する場合:
    editres FILE <!jboss_home> audit(all)
    Privileged Identity Manager
    はルールをコンパイルできませんが、代わりに、<!jboss_home> という名前の FILE オブジェクトをデータベース内に作成します。
UNIX エンドポイント上でオペレーティング システム変数を使用するためのガイドライン
UNIX で該当
Privileged Identity Manager
オペレーティング システム変数(タイプ osvar の ACVAR オブジェクト)は、UNIX 環境変数の値を使用します。 UNIX プロセスはそれぞれ独自の環境変数セットを持っているので、UNIX エンドポイント上ではオペレーティング システム変数を使用することはお勧めできません。
UNIX エンドポイント上でオペレーティング システム変数を使用する場合は、
Privileged Identity Manager
を開始する前に、必要な環境変数を設定しエクスポートする必要があります。 UNIX エンドポイント上でオペレーティング システム変数を使用する場合は、以下のガイドラインを順守する必要があります。
  • コンピュータの起動時に rc 起動スクリプトを使用して
    Privileged Identity Manager
    を開始する場合、このスクリプトが環境変数を設定しエクスポートしてから
    Privileged Identity Manager
    を開始することを確認します。
  • ユーザが
    Privileged Identity Manager
    を停止し再起動する場合、ユーザ自身が自分のセッション内で環境変数を設定しエクスポートしてから
    Privileged Identity Manager
    を再起動する必要があります。
Windows エンドポイント上でオペレーティング システム変数を使用するためのガイドライン
Windows で該当
Privileged Identity Manager
オペレーティング システム変数(タイプ osvar の ACVAR オブジェクト)は、Windows 環境変数の値を使用します。
Windows エンドポイント上でオペレーティング システム変数を使用する場合は、以下のガイドラインを順守する必要があります。
  • 環境変数はシステム変数である必要があります。
  • Windows 環境変数の値を変更した場合、
    Privileged Identity Manager
    を再起動するまで、変更が認識されません。 さらに、Windows の一部のリリースでは、任意の Windows サービスおよび
    Privileged Identity Manager
    で変更が認識されるためにコンピュータを再起動する必要があります。
エンドポイントで変数を解決する仕組み
変数によって、構成およびオペレーティング システムが異なるエンドポイントに同じポリシーをデプロイできます。 以下のプロセスでは、ポリシーの作成およびデプロイ後に、
Privileged Identity Manager
エンドポイントがポリシー内の変数を解決する仕組みについて説明します。
  1. policyfetcher がポリシーを取得すると、
    Privileged Identity Manager
    はポリシー内の変数がポリシーまたは
    Privileged Identity Manager
    データベースで定義されるかどうか確認します。 以下の
    いずれか
    のイベントが発生します。
    • 変数がポリシーまたはデータベースで定義されていない場合、 はポリシーのステータスを[デプロイの一時停止中]に変更します。
      注:
      .ポリシーをデプロイするには、未定義の変数を定義し、ポリシーを再デプロイする必要があります。
    • 変数がポリシーまたはデータベースで定義されている場合、
      Privileged Identity Manager
      はポリシーをコンパイルし、そのポリシーが含まれているルールを実行します。
  2. すべてのハートビートで、policyfetcher は、
    Privileged Identity Manager
    データベース内で変数値が変更されているかどうか確認します。
    以下の
    いずれかのイベントが発生します。
    • 変数値が変わっていない場合、policyfetcher は手順 2 を繰り返します。
    • 変数値が変わっている場合、 変更された変数を使用しているエンドポイント上の任意のポリシー ステータスを[非同期]に変更します。
      注:
      ポリシーの[非同期]ステータスをクリアするには、ポリシーを再デプロイする必要があります。