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

pip install cartography
ثبّت cartography[neo4j-rust] بدلاً من ذلك لاستبداله ببرنامج ترميز Bolt المكتوب بلغة Rust الخاص بـ Neo4j، مما يقلل وقت المزامنة بنحو 20-30%. راجع Faster Neo4j driver.
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 أو استخدم أحد خيارات كلمة المرور الآمنة الأخرى في وثائق القواعد.