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

pip install cartography
동기화 시간을 약 20~30% 단축하려면 대신 cartography[neo4j-rust]를 설치하여 Neo4j의 Rust Bolt 코덱으로 교체하세요. 자세한 내용은 더 빠른 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를 열고 다음을 시도해보세요:
// 계정별 암호화되지 않은 RDS 인스턴스 찾기
MATCH (a:AWSAccount)-[:RESOURCE]->(rds:AWSRDSInstance{storage_encrypted:false})
RETURN a.name, rds.id
// 인터넷에 노출된 EC2 인스턴스 찾기
MATCH (instance:AWSEC2Instance{exposed_internet: true})
RETURN instance.instanceid, instance.publicdnsname
더 많은 사용 사례는 쿼리 튜토리얼 및 데이터 스키마를 참조하세요.
Cartography가 도달 가능한 Neo4j 그래프를 채우면 보안 규칙을 나열하고 검사한 후 실행합니다. 이 빠른 시작 가이드는 위에서 시작한 인증 없는(no-auth) Neo4j 컨테이너를 사용하므로 비밀번호가 필요하지 않습니다:
cartography-rules list
cartography-rules list object_storage_public
cartography-rules run object_storage_public
인증이 필요한 Neo4j의 경우 NEO4J_PASSWORD를 설정하거나 규칙 문서의 다른 안전한 비밀번호 옵션을 사용하세요.