
30개 이상의 클라우드, 아이덴티티 및 SaaS 플랫폼에서 인프라 자산과 그 관계를 Neo4j 그래프로 가져와 보안 쿼리 및 규칙 기반 분석을 수행합니다.
Cartography는 인프라 자산과 그 관계를 Neo4j 그래프 데이터베이스로 가져오는 Python 도구입니다.
연결 대상: AWS, GCP, Azure, Kubernetes, GitHub, Okta, Entra ID, CrowdStrike 및 30개 이상의 플랫폼.
답변할 수 있는 질문:

pip install cartography
Neo4j의 Rust Bolt 코덱으로 교체하려면 대신 cartography[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를 설정하거나 규칙 문서에 있는 다른 보안 비밀번호 옵션 중 하나를 사용하세요.