
Azure CLI extension for Cirro collection
Расширение Azure CLI, которое пассивно собирает данные ресурсов Azure в SQLite-базу данных, совместимую со схемой Cirro (https://github.com/bishopfox/cirro). Оно также записывает все вызовы CLI в файл формата JSON-lines.
Подключается к событиям knack:
EVENT_INVOKER_POST_PARSE_ARGS — записывает аргументы командEVENT_INVOKER_FILTER_RESULT — записывает данные ресурсов в SQLiteaz 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 |
| Шаблон ID ресурса ARM | /subscriptions/x/providers/… | resources |
| Префикс команды CLI | ad user list | users |