コンプライアンスコマンド
Keeperコマンダーのコンプライアンスレポート作成コマンド
概要
コンプライアンスレポート作成のアドオンが必要です
コンプライアンスレポートを使用すると、アカウント管理者は、組織全体のレコードおよび認証情報に対するアクセス権限をオンデマンドで可視化でき、各種規制への対応を支援できます。
コマンダーを使用すると、コンプライアンスレポートのスケジュール設定および自動実行が可能で、結果をCSVまたはJSON形式でエクスポートできます。
コンプライアンスレポートの詳細については、以下のドキュメントをご参照ください。
compliance-reportコマンド
compliance-report コマンドを使用すると、Keeper管理コンソールで行うのと同じようにレポートを実行できます。ノード、ユーザー、タイトル別のレコード権限の表示、所有するレコードまたは共有レコードによるフィルタ、結果のファイルへの出力ができます。
キャッシュ
compliance-report コマンドは、複数のレポートクエリのパフォーマンス向上のためにキャッシュが利用されます。
このため、compliance-report の最初の呼び出しでは、システムが必要なデータを取得するまでに数分かかる場合があります。
この間、コマンダーには実行中の手順を説明するメッセージが表示されます。

また、-r フラグを使用すると、キャッシュを手動で再構築できます。コンプライアンスデータの最新の変更を反映させる場合に実行します。
compliance-report -r
既定では (生成されるレポートにできる限り最新かつ正確なデータを反映させるため)、1日を超えて保持されているローカルキャッシュは、前述のプロセスに従って自動的に更新されます。そのため、同じ compliance-report コマンドを前回実行してから1日以上経過している場合は、初回実行時と同様にデータ取得処理が再度実行され、完了までに時間がかかることがあります (前述の初回呼び出しの説明をご参照ください)。
この既定の動作を手動で変更する方法については、以下のセクションをご参照ください。
一方で、前述の自動キャッシュ更新を行わず、既存のキャッシュデータのみを使用してレポートを生成することもできます。この場合、結果は最新ではない可能性がありますが、キャッシュ再構築に伴う時間のかかる読み込み処理を回避できます。その場合は、-nr または --no-rebuild フラグを使用します。前回のコマンド実行やキャッシュ更新以降、関連データに大きな変更がないと判断できる場合に、コンプライアンスデータへ迅速にクエリを実行する目的で使用します。
compliance-report -nr
キャッシュの削除
--no-cache フラグを使用すると、コンプライアンスレポートのキャッシュを手動で削除できます。実行すると、マシンに保存されているコンプライアンスレポートのキャッシュ情報がすべて削除されます。
compliance-report --no-cache
または、コマンダーを実行した場所のローカルディスク上にあるキャッシュファイルを削除することもできます。暗号化されたコンプライアンスデータが保存されている sox_<ID>.db というファイルを削除してください。
フィルタ指定時のクエリ性能
--username または --team フィルタを使用した場合、更新されるのは組織全体ではなく対象ユーザーのキャッシュデータのみです。この動作は、compliance-report および compliance record-access-report の両方に適用されます。
フィルタ
コンプライアンスレポートは、ノード、ユーザー、役職に加え、レコードの状態 (共有済み、削除済み、有効) でフィルタリングできます。
ノードでフィルタ
形式
--node [NODE NAME or ID] または -n [NODE NAME or ID]
例
compliance-report --node "Chicago Office"
概要
指定したノード内のKeeperボルトに存在するレコードのみに結果を絞り込みます。既定では、エンタープライズのルートノードが対象となり、すべてのボルトが検索されます。
ユーザー名でフィルタ
形式
--username [USER EMAIL] または -u [USER EMAIL]
例
compliance-report --username "Craig@keepersecurity.com"
概要
指定したユーザー名のKeeperボルトに存在するレコードのみに結果を絞り込みます。
レコードでフィルタ
形式
--record [UID or TITLE] または -r [UID or TITLE]
例
compliance-report --record "Twitter Login"
概要
指定したUIDまたはタイトルを持つレコードのみに結果を絞り込みます。
URLでフィルタ
形式
--url [URL]
例
compliance-report --url "https://www.twitter.com"
概要
指定したURL値を持つレコードのみに結果を絞り込みます。
役職でフィルタ
形式
--job-title [TITLE] または -jt [TITLE]
例
compliance-report --job-title "Engineers"
概要
指定した役職を持つユーザーが所有するKeeperボルト内のレコードのみに結果を絞り込みます。
削除済みレコードでフィルタ
形式
--deleted-items
例
compliance-report --deleted-items
概要
削除済みのレコードのみを表示 (--active-items フラグとは併用不可)
アクティブなレコードでフィルタ
形式
--active-items
例
compliance-report --active-items
概要
有効なレコードのみを表示 (--deleted-items フラグとは併用不可)
チームでフィルタ
コマンダーバージョン16.7.5以降が必要です
形式
--team <TEAM NAME>
例
compliance-report --team "Engineering"
概要
指定したチームに所属するユーザーのみを表示
パスワードの経過日数データを含める
形式
--aging
使用例
compliance-report --aging
compliance-report --aging --username "user@company.com"
compliance-report --aging --team "Engineering" --format csv --output "./aging_report.csv"
概要
レポートに Created、Last Modified、Last Password Change、Last Rotationの各列を追加します。作成以降一度もパスワードが変更されていないレコードでは、Last Password Change に --- が表示されます。
このフラグは、既存の各種フィルタ (--username、--team、--node、--job-title など) と組み合わせて使用でき、対象を絞り込んだ経過日数レポートを生成できます。
--aging を初めて実行する場合、パスワード変更のイベント履歴が取得・キャッシュされるため、追加の時間がかかることがあります。2回目以降の実行ではキャッシュされたデータが使用されます。ただし、キャッシュが古い場合や -r によって手動で再構築した場合は、再度データ取得が行われます。
複数のフィルタをまとめて使用
フィルタフラグを組み合わせると、高度なレポートを作成できます。
例
compliance-report --node "Chicago" --job-title "Managers" --shared
この例では、ChicagoノードのManagersが所有するボルトから共有されたレコードのレポートが表示されます。
同じフィルタを複数回使用することもできます
compliance-report -u "user1@example.com" -u "user2@example.com"
この例では、「user1@example.com」と「user2@example.com」の両方のユーザーに属するレコードが取得されます。
--username と --team を同時に使用する場合
--username と --team を同時に指定した場合、OR条件として処理されます。つまり、指定したユーザーまたは指定したチームのメンバーに該当するレコードがレポートに含まれます。
compliance-report --username "user@company.com" --team "Engineering"
この例では、user@company.com が所有するレコードまたは Engineering チームのメンバーが所有するレコードが返されます。
概要
指定したノード内のKeeperボルトに存在するレコードのみに結果を絞り込みます。
ファイルへの出力
コマンダーの他の多くのレポートと同様に、コンプライアンスレポートの結果はファイルに保存できます。保存するには、--output および --format オプションを使用します。
出力
--output [ファイルパス]
指定した保存先に結果が書き出されます。ファイルが存在しない場合は新規に作成されます。
形式
--format [csv, json, table]
レポート結果の出力形式を指定します。既定ではテーブル形式で出力され、整形された一覧が表示されます。その他の出力形式として、CSVおよびJSONを指定できます。
--format フラグのみを指定し、--output フラグを指定しない場合は、指定した形式でコマンダー上に結果が表示されます。
結果をCSV (Excel) に保存
コンプライアンスレポートの結果をExcelで表示可能なCSVファイルとして保存するには、以下のフラグを使用します。
--format csv および --output /path/to/file.csv
例
compliance-report --username "Craig@keepersecurity.com" --format csv --output "./craig_compliance.csv"
結果は、指定した場所にcsv形式のファイルとして保存されます。
結果をJSONに保存
コンプライアンスレポートの結果をコードやスクリプトで使用するJSONファイルとして保存するには、以下のフラグを使用します。
--format json および --output /path/to/file.json
例
compliance-report --username "Craig@keepersecurity.com" --format csv --output "./craig_compliance.json"
結果は、指定した場所にjson形式のファイルとして保存されます。
complianceコマンド
コマンダーでは、カスタムレポートの生成に加えて、compliance コマンドで特定のレポートも生成できます。これらは compliance コマンドのサブコマンドを呼び出して実行します。
compliance コマンドでは、以下のサブコマンドが利用できます。
summary-reportsまたはstats
詳細については、各サブコマンドのセクションをご参照ください。
すべての compliance サブコマンドは、上記の compliance-report のフィルタ で取り扱った --username (-u)、--team、--node、--rebuild (-r)、--no-rebuild (-nr)、--no-cache (-nc) フラグに対応しています。これらの共通フラグは、すべてのサブコマンドで同様に動作します。
Compliance Team Report
共有フォルダは個人にもチームにも共有できます。コンプライアンスレポートには、各チームがこれらの共有フォルダに対して持つアクセス権に関するレポートを表示できます。
コンプライアンスチームレポートを実行するには、コマンダーで以下のコマンドを使用します。
compliance team-report
このレポートでは、前述のコンプライアンスレポートのキャッシュが使用されます。
このレポートには、共有フォルダにアクセスできる各チームと、その共有フォルダに対するアクセス権の種類が表示されます。
レポートにチームの所属情報 (各チームにどのユーザーが所属しているか) を含める場合は、オプションの --show-team-users/-tu フラグを指定します。
compliance team-report -tu
上記のコマンドでは追加フラグを指定しているため、生成されるレポートに「Team Users」という列が追加されます。この列には、該当する各チームのメンバーのユーザー名が表示されます。
--team でフィルタする場合、--resolve-teams フラグを指定すると、チームに直接共有されたフォルダに加え、チームメンバーが個別に含まれている共有フォルダも対象に含められます。
compliance team-report --team "Engineering" --resolve-teams
Compliance Record-Access Report
コンプライアンスレコードアクセスレポートには、指定したユーザーが過去にアクセスしたレコード、または現在アクセス可能な組織内のレコードの一覧と、その他の関連情報 (使用したアプリ、IPアドレス、イベントのタイムスタンプなど) が表示されます。
コンプライアンスレコードアクセスレポートを実行し、ユーザーのレコードアクセス履歴を表示するには、コマンダーで以下のコマンドを実行します。
compliance record-access-report --email user1@company.com
ここで user1@company.com は、レコードアクセスを監査したいユーザーです。結果の出力は以下のようになります。
同じユーザーが現在アクセス可能なすべてのレコード (つまり、そのユーザーのボルト内に現在存在するすべてのレコード) を表示するには、以下のコマンドを実行します。
compliance record-access-report --report-type vault --email user1@company.com
上記コマンドの出力は前の例とほぼ同様ですが、現在そのユーザーのボルトに存在しないレコードは除外されます。一方で、そのユーザーがこれまで一度もアクセスしていないレコードが含まれる場合があります。
ボルト全体を把握するための推奨ワークフロー
ユーザーがアクセス可能なすべてのレコード (所有レコードおよびそのユーザーのボルトに共有されたレコード) をユーザー単位で完全に把握するには、以下の2つのコマンドを実行し、ユーザーと Record UID の両方で結果をマージします。
compliance report --username user1@company.com --format json --output "./user1_owned.json"
compliance record-access-report --report-type vault --email user1@company.com --format json --output "./user1_vault.json"
compliance report.username == rar.vault_owner かつ record_uid が一致する行で結合します。
所有レコードの取得元として compliance report を、共有関係の取得元として compliance record-access-report --report-type vault を使用します。
コマンダーのバージョンによっては、--report-type vault ですべての共有レコードが含まれない場合があります。ボルト全体を把握するには、上記の推奨ワークフローをご利用ください。
複数ユーザーに対してこのレポートを実行する場合は、1) 各ユーザー名/IDを個別に指定する、2) すべてのユーザーを対象とする @all 省略形を使用する、3) ユーザーを指定しない (すべてのユーザーを対象とするより簡潔な方法) 、のいずれかを使用できます。対応する例は以下のとおりです。
compliance record-access-report -e user1@company.com -e user2@company.com
compliance record-access-report --email @all
compliance record-access-report
--aging フラグを追加すると、Created、Last Modified、Last Password Change、Last Rotation の各列を含めることができます。
compliance record-access-report --email user1@company.com --aging
compliance record-access-report --email @all --aging --format csv --output "./rar_aging.csv"
Compliance Summary Report
コンプライアンス概要レポートには、組織内のレコードに関する集計情報が表示されます (現在は既定でレコード所有者ごとにグループ化されていますが、今後は他のエンティティによるグループ化が追加される可能性があります)。
コンプライアンス概要レポートを実行するには、コマンダーで以下のコマンドを実行します。
compliance summary-report
または
compliance stats
結果の出力は以下のようになります。
Compliance Shared-Folder Report
compliance team-report と同様に、このコマンドは組織内のすべての共有フォルダに対して、すべてのエンティティ (チームおよび個々のユーザー) が持つアクセス権を詳細に示すレポートを出力します。
コンプライアンス共有フォルダレポートを実行するには、コマンダーで以下のコマンドを実行します。
compliance shared-folder-report
または
compliance sfr
出力は以下のとおりです。
前述の compliance team-report コマンドと同様に、このコマンドも --show-team-users/-tu フラグを指定して、必要に応じてレポートにチームメンバーシップデータを含められます。以下が使用例です。
compliance sfr -tu
compliance team-report -tu の出力とは対照的に、上記のコマンドによって生成されたレポートでは、既存の「Email」列にチームメンバーシップデータが追加され、チームに関連付けられた各ユーザー名の前に (TU) が付きます。
--resolve-teams フラグを使用すると、--team によるフィルタに加え、チームメンバーが個別に含まれている共有フォルダも対象に含められます。
compliance sfr --team "Engineering" --resolve-teams
コマンダーで使用可能なその他のレポートについては、レポート作成のドキュメントをご参照ください。
最終更新

