
Azure CLI extension for Cirro collection
Azure CLI 拡張機能で、Azure リソースデータを Cirro (https://github.com/bishopfox/cirro) スキーマと互換性のある SQLite データベースに受動的に収集します。また、 すべての CLI 呼び出しを JSON-lines ファイルに記録します。
フックする knack events:
EVENT_INVOKER_POST_PARSE_ARGS — コマンド引数を記録しますEVENT_INVOKER_FILTER_RESULT — リソースデータを SQLite に書き込みますaz extension add --source dist/cirro_azcli_ext-*.whl
az config set core.use_command_index=false
Azure CLI はコマンドインデックスによって拡張機能を遅延読み込みします。これを無効にすると、 この拡張機能がすべてのコマンドで読み込まれるようになり、すべての呼び出しを監視できます。
任意の az コマンドがリモートの Azure エンドポイント (ARM、Graph、
Key Vault など) からデータを返すと、拡張機能は各結果項目を分類し、それを
適切な SQLite テーブルに書き込みます:
ローカルのみのコマンド (version、extension、config など) はスキップされます。
CREATE TABLE resources (
id TEXT PRIMARY KEY, sub_id TEXT, rg_id TEXT, resource_type TEXT, data TEXT
);
CREATE TABLE keyVaultItems (
id TEXT PRIMARY KEY, item_type TEXT, data TEXT
);
id TEXT PRIMARY KEY, data TEXT)applications · administrativeUnits · conditionalAccessPolicies · devices · directoryRoles · eligibleArmRBAC · eligibleRoleAssignments · groups · managementGroupEntities · namedLocations · organization · oauth2PermissionGrants · policies · roleAssignments · servicePrincipals · subscriptions · tenants · users
| 設定キー | デフォルト | 説明 |
|---|---|---|
cirro.log_path | ~/.azure/cli_args.log | 引数ログファイルのパス |
cirro.db_path | ~/.azure/cirro_collect.db | SQLite データベースのパス |
az config set cirro.db_path=/var/data/cirro_collect.db
az cirro status # show log stats and per-table row counts
az cirro status --tail 5 # show last 5 argument log entries
| 分類シグナル | 例 | ターゲットテーブル |
|---|
項目の @odata.type | #microsoft.graph.user | users |
| ARM リソース ID パターン | /subscriptions/x/providers/… | resources |
| CLI コマンドプレフィックス | ad user list | users |