
Azure CLI extension for Cirro collection
Una extensión de Azure CLI que recopila de forma pasiva datos de recursos de Azure en una base de datos SQLite compatible con el esquema de Cirro (https://github.com/bishopfox/cirro). También registra todas las invocaciones de la CLI en un archivo JSON-lines.
Se engancha a los eventos de knack:
EVENT_INVOKER_POST_PARSE_ARGS — registra los argumentos de los comandosEVENT_INVOKER_FILTER_RESULT — escribe los datos de recursos en SQLiteaz extension add --source dist/cirro_azcli_ext-*.whl
az config set core.use_command_index=false
Azure CLI carga extensiones de forma diferida mediante el índice de comandos. Deshabilitarlo asegura que esta extensión se cargue para todos los comandos, de modo que pueda observar cada invocación.
Cuando cualquier comando az devuelve datos desde un endpoint remoto de Azure (ARM, Graph,
Key Vault, etc.), la extensión clasifica cada elemento del resultado y lo escribe en
la tabla SQLite correspondiente:
Los comandos solo locales (version, extension, config, etc.) se omiten.
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
| Clave de configuración | Valor predeterminado | Descripción |
|---|---|---|
cirro.log_path | ~/.azure/cli_args.log | Ruta del archivo de registro de argumentos |
cirro.db_path | ~/.azure/cirro_collect.db | Ruta de la base de datos 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
| Señal de clasificación | Ejemplo | Tabla de destino |
|---|
@odata.type en el elemento | #microsoft.graph.user | users |
| Patrón de ID de recurso ARM | /subscriptions/x/providers/… | resources |
| Prefijo de comando CLI | ad user list | users |