
Azure CLI extension for Cirro collection
امتداد Azure CLI يجمع بيانات موارد Azure بشكل سلبي في قاعدة بيانات SQLite متوافقة مع مخطط Cirro (https://github.com/bishopfox/cirro). كما يسجّل جميع استدعاءات CLI في ملف JSON-lines.
يرتبط بـ knack events:
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 |
| نمط معرّف موارد ARM | /subscriptions/x/providers/… | resources |
| بادئة أمر CLI | ad user list | users |