يسحب أصول البنية التحتية وعلاقاتها من أكثر من 30 منصة سحابية للهوية وSaaS إلى رسم بياني Neo4j لاستعلامات الأمان والتحليل القائم على القواعد.
Cartography هي أداة بايثان تقوم بسحب أصول البنية التحتية وعلاقاتها إلى قاعدة بيانات رسومية Neo4j.
ما يتصل به: AWS، GCP، Azure، Kubernetes، GitHub، Okta، Entra ID، CrowdStrike، وأكثر من 30 منصة أخرى.
الأسئلة التي تجيب عليها:

pip install cartography
بدلاً من ذلك، قم بتثبيت cartography[neo4j-rust] لاستبدال مكوّن ترميز Bolt الخاص بـ Neo4j المكتوب بلغة Rust، مما يقلل وقت المزامنة بنسبة 20-30٪ تقريبًا. انظر مُشغّل Neo4j الأسرع.
docker run -d --publish=7474:7474 --publish=7687:7687 -v data:/data --env=NEO4J_AUTH=none neo4j:5-community
تأكد من أن http://localhost:7474 يعمل.
تأكد من تكوين بيانات اعتماد AWS ومنطقتها الافتراضية (على سبيل المثال عبر AWS_PROFILE، AWS_DEFAULT_REGION، أو ~/.aws/config). انظر وثائق بيانات اعتماد AWS للمرجع.
شغّل Cartography:
cartography --neo4j-uri bolt://localhost:7687 --selected-modules aws
انظر دليل التثبيت الكامل للمنصات الأخرى.
افتح http://localhost:7474 وجرب:
// Find unencrypted RDS instances by account
MATCH (a:AWSAccount)-[:RESOURCE]->(rds:AWSRDSInstance{storage_encrypted:false})
RETURN a.name, rds.id
// Find EC2 instances exposed to the internet
MATCH (instance:AWSEC2Instance{exposed_internet: true})
RETURN instance.instanceid, instance.publicdnsname
انظر درس الاستعلام ومخطط البيانات لمزيد من حالات الاستخدام.
بمجرد أن يعبئ Cartography الرسم البياني القابل للوصول في Neo4j، يمكنك سرد وفحص وتشغيل قواعد الأمان. يستخدم هذا الدليل السريع حاوية Neo4j بدون مصادقة تم تشغيلها أعلاه، لذا لا حاجة لكلمة مرور:
cartography-rules list
cartography-rules list object_storage_public
cartography-rules run object_storage_public
لـ Neo4j المعتمد على المصادقة، اضبط NEO4J_PASSWORD أو استخدم أحد خيارات كلمة المرور الآمنة الأخرى في وثائق القواعد.