クエリレポート

PAM360はクエリベースのレポート作成をサポートしており、カスタムSQLクエリを記述するか既存のクエリを変更することで、データベースから特定のデータを抽出することができます。この機能により、ユーザーはさまざまなテーブルから情報を取得し、実用的なレポートとして整形することができます。たとえば、次のようなシナリオのレポートを作成できます:

  • 自動ログインに使用された後に変更されていないパスワードの特定
  • リソース作成以降に一度も変更されていないパスワードの検索
  • 同一メンバーを持つユーザーグループの一覧
  • 同一メールアドレスを持つユーザーの一覧

PAM360は、以下のようなカテゴリ別に整理された定義済みクエリレポートを提供します:

  • 記録されたセッション
  • リソースグループ
  • リソース
  • セルフサービス特権昇格
  • SSHコマンドコントロール
  • ユーザーグループ
  • ユーザー
  • ゼロトラスト

各カテゴリには複数のクエリレポートが含まれており、ユーザーは新しいレポートを追加したり、カスタムカテゴリを作成したりすることができます。新しいカスタムクエリレポートカテゴリを作成するには、「レポート」>>「クエリレポート」>>「カスタムカテゴリ」>>「カテゴリの管理」に移動し、「カテゴリを追加」をクリックします。表示されるポップアップで、カテゴリ名を入力し、「保存」をクリックします。

このドキュメントでは、以下のトピックについて説明します:

  1. クエリレポートの作成
  2. クエリレポートのシナリオ例
  3. クエリレポートのスケジュール設定
  4. カテゴリの管理

1.クエリレポートの作成

クエリベースのレポートは、次の2つの方法で生成できます:

  1. 「リソースグループ」、「リソース」、「ユーザーグループ」、「ユーザー」などの定義済みカテゴリにある既定のクエリレポートを使用する。
  2. 製品インターフェースで提供されるテーブルスキーマを使用して独自のSQLクエリを記述し、カスタムレポートを作成する。

新しいクエリレポートを作成する際、既定のレポートをそのまま使用するか、クエリを編集して新しいレポートとして保存することができます。または、独自のSQLクエリを使用してゼロから新しいクエリを作成するには、以下の手順に従ってください:

  1. 「レポート」>>「クエリレポート」に移動し、右上に表示されている「クエリレポートを作成」をクリックします。
    query-reports1
  2. 表示されるインターフェースで、識別しやすくするために「レポート名」「レポートの説明」を入力します。
    query-reports2
  3. 定義済みのリストから「レポートカテゴリ」を選択するか、「新規追加」(+ボタン)をクリックして新しいカテゴリを作成します。
  4. データの機密性に応じて、レポートの「プライバシー」「すべてのユーザー」または「私のみ」に設定します。
  5. 必要なデータを抽出するためのSQLクエリを記述します。UIの右上隅にある「テーブルスキーマ」を参照して、データベース構造を把握することができます。
    query-reports3
  6. クエリを記述したら、「レポート生成」をクリックするか、将来の使用のために「保存」をクリックします。

カスタムクエリ用のSQLプレースホルダー

独自の SQL クエリを作成する際に使用できるプレースホルダーは次のとおりです:

  • `decrypt(COLUMNNAME)`: 暗号化されたコラムを復号化するために使用します。復号化する際はエイリアス名を指定する必要があります。

    追加の詳細

    暗号化されたコラムは、「Tables Schema」に表示されるSCHARデータ型によって識別できます。

    query-reports4
  • 比較演算子には`%GREATERTHAN%`、`%GREATERTHANEQUAL%`、`%LESSTHAN%`、および`%LESSTHANEQUAL%`を使用します。

2.クエリレポートのシナリオ例

一般的なユースケースに対応したSQLクエリをいくつか示します。

シナリオ1 - 自動ログオン後にパスワードが変更されていない場合

このクエリレポートは、対象システムへの自動ログオンに使用された後にローテーションされていないパスワードを識別します。自動ログイン後の定期的なパスワードリセットは、セキュリティ上重要です。

SELECT Ptrx_Resource.RESOURCENAME AS "Resource Name", Ptrx_Account.LOGINNAME AS "Account Name", Ptrx_DummyPwdNotChan.retrievedtime AS "Lastaccessedtime", Ptrx_ResourceSystem.OPERATINGSYSTEM AS "Type", Ptrx_Resource.LOCATION AS "Location", Ptrx_Resource.RESOURCEDESC AS "Description" FROM ( SELECT accountid, retrievedtime FROM ( SELECT Ptrx_DummyPwdRetr.accountid AS accountid, Ptrx_DummyPwdRetr.accessedtime AS retrievedtime, Ptrx_DummyPwdChanged.time AS time FROM ( SELECT RESOURCEID, ACCOUNTID, MAX(LASTACCESSEDTIME) AS accessedtime FROM Ptrx_UserAudit INNER JOIN Ptrx_AuditConfiguration ON Ptrx_AuditConfiguration.CONF_ID = Ptrx_UserAudit.OPERATIONTYPE WHERE Ptrx_AuditConfiguration.OPERATION_TYPE = 'Password Retrieved' AND REASON LIKE '%auto logon helper reason%' GROUP BY RESOURCEID, ACCOUNTID ) Ptrx_DummyPwdRetr LEFT JOIN ( SELECT ACCOUNTID, MAX(LASTACCESSEDTIME) AS time FROM Ptrx_UserAudit INNER JOIN Ptrx_AuditConfiguration ON Ptrx_AuditConfiguration.CONF_ID = Ptrx_UserAudit.OPERATIONTYPE WHERE Ptrx_AuditConfiguration.OPERATION_TYPE = 'Password Changed' GROUP BY ACCOUNTID ) Ptrx_DummyPwdChanged ON Ptrx_DummyPwdRetr.accountid = Ptrx_DummyPwdChanged.accountid AND Ptrx_DummyPwdChanged.time %GREATERTHAN% Ptrx_DummyPwdRetr.accessedtime ) AS Ptrx_DummyPwdRetrAndChan WHERE Ptrx_DummyPwdRetrAndChan.time IS NULL ) AS Ptrx_DummyPwdNotChan INNER JOIN Ptrx_Account ON Ptrx_DummyPwdNotChan.accountid = Ptrx_Account.ACCOUNTID INNER JOIN Ptrx_Resource ON Ptrx_Resource.RESOURCEID = Ptrx_Account.RESOURCEID INNER JOIN Ptrx_ResourceSystemMembers ON Ptrx_ResourceSystemMembers.RESOURCEID = Ptrx_Resource.RESOURCEID INNER JOIN Ptrx_ResourceSystem ON Ptrx_ResourceSystem.OSID = Ptrx_ResourceSystemMembers.OSID ORDER BY Ptrx_Resource.RESOURCENAME;

シナリオ2 - リソース作成以降パスワードが一度も変更されていない場合

このクエリは、作成以降パスワードが一度も変更されていないリソースを追跡するのに役立ちます。定期的なパスワードのリセットは重要であり、このレポートは、古いパスワードを持つすべてのリソースを追跡するのに役立ちます。

特定の期間に追加されたリソースのパスワードが変更されていないことを調べるために、以下のクエリを書き換えることもできます。

SELECT Ptrx_Resource.RESOURCENAME AS "Resource Name", Ptrx_Account.LOGINNAME AS "Account Name", Ptrx_ResourceSystem.OPERATINGSYSTEM AS "Type", Ptrx_Resource.LOCATION AS "Location", Ptrx_Resource.RESOURCEDESC AS "Description" FROM ( SELECT Ptrx_Account.ACCOUNTID AS accountid, Ptrx_Resource.RESOURCEID FROM Ptrx_Account INNER JOIN Ptrx_Resource ON Ptrx_Resource.RESOURCEID = Ptrx_Account.RESOURCEID WHERE accountid NOT IN ( SELECT Ptrx_UserAudit.ACCOUNTID FROM Ptrx_UserAudit FULL OUTER JOIN ( SELECT accountid, lastaccessedtime, OPERATION_TYPE FROM Ptrx_UserAudit INNER JOIN Ptrx_AuditConfiguration ON Ptrx_AuditConfiguration.CONF_ID = Ptrx_UserAudit.OPERATIONTYPE WHERE Ptrx_AuditConfiguration.OPERATION_TYPE LIKE 'Account Added' ) AS Ptrx_DummyAccAdded ON Ptrx_UserAudit.ACCOUNTID = Ptrx_DummyAccAdded.accountid AND Ptrx_UserAudit.lastaccessedtime %GREATERTHAN% Ptrx_DummyAccAdded.lastaccessedtime WHERE Ptrx_DummyAccAdded.OPERATION_TYPE LIKE 'Password Changed' AND Ptrx_UserAudit.lastaccessedtime BETWEEN Ptrx_DummyAccAdded.lastaccessedtime AND ( Ptrx_DummyAccAdded.lastaccessedtime ::timestamp::date + INTERVAL '5' day ) ) ) AS Ptrx_DummyPwdNotChan INNER JOIN Ptrx_Account ON Ptrx_DummyPwdNotChan.accountid = Ptrx_Account.ACCOUNTID INNER JOIN Ptrx_Resource ON Ptrx_Resource.RESOURCEID = Ptrx_Account.RESOURCEID INNER JOIN Ptrx_ResourceSystemMembers ON Ptrx_ResourceSystemMembers.RESOURCEID = Ptrx_Resource.RESOURCEID INNER JOIN Ptrx_ResourceSystem ON Ptrx_ResourceSystem.OSID = Ptrx_ResourceSystemMembers.OSID ORDER BY Ptrx_Resource.RESOURCENAME;

3.クエリレポートのスケジュール設定

既存のクエリレポートまたは新しいクエリレポートを自動生成するようにスケジュールすることができます。これをするには下記の通りにして下さい:

  1. 「レポート」>>「クエリレポート」に移動し、該当するカテゴリに進みます。
  2. スケジュールを設定する対象のレポートの横にある「スケジュールレポート」アイコンをクリックします。
    query-reports6
  3. 開いたポップアップフォームで、希望するスケジュール(日、月毎など)を設定し、開始時刻を指定します。
  4. 次に、レポートを受信者にメール送信する際のフォーマットとして、「PDF」「XLS」、または「両方」を選択します。
  5. レポートの送信先となる受信者を指定されたオプションから選択します。代わりに電子メール ID のカスタム リストを提供することもできます。
  6. [スケジュール]をクリックします。
    query-reports7

既存のスケジュールをキャンセルするには、以下の手順に従ってください。

  1. 目的のレポートの横にある「レポートアクション」コラムの「スケジュールレポート」アイコンをクリックします。
  2. 表示されるポップアップフォームで、オプション「なし」を選択し、「スケジュール」をクリックします。

4.カテゴリの管理

カテゴリを管理するには、「レポート」>>「クエリレポート」>>「カスタムカテゴリ」>>「カテゴリの管理」に移動します。

query-reports1
  1. カテゴリを編集するには、カテゴリの横にある「カテゴリを編集」アイコンをクリックします。ポップアップで名前を変更し、「保存」をクリックします。
  2. カテゴリを削除するには、対象カテゴリの横にある「カテゴリを削除」アイコンをクリックし、削除を確認します。

    追加の詳細

    カテゴリを削除するには、まずそのカテゴリの下にレポートが存在しないことを確認する必要があります。レポートがある場合は、別のカテゴリに移動できます。

  3. カテゴリ間でレポートを移動するには、対象カテゴリの横にある「レポートを移動」アイコンをクリックし、移動先のカテゴリを選択して「保存」をクリックします。