Извлекает инфраструктурные активы и их взаимосвязи из более чем 30 облачных, идентификационных и SaaS-платформ в граф Neo4j для запросов безопасности и анализа на основе правил.
Cartography — это инструмент на Python, который собирает инфраструктурные ресурсы и связи между ними в графовую базу данных Neo4j.
Что он подключает: AWS, GCP, Azure, Kubernetes, GitHub, Okta, Entra ID, CrowdStrike и ещё более 30 платформ.
На какие вопросы он отвечает:

pip install cartography
Установите cartography[neo4j-rust] вместо этого, чтобы заменить кодек Neo4j Rust Bolt, что сокращает время синхронизации примерно на 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
Полное руководство по установке для других платформ см. в full install guide.
Откройте 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 или используйте один из других безопасных вариантов пароля в документации по правилам.