
30以上のクラウド、ID、SaaSプラットフォームからインフラ資産とその関係性をNeo4jグラフに取り込み、セキュリティクエリとルールベース分析を可能にします。
Cartography は、インフラストラクチャの資産とそれらの関係性を Neo4j グラフデータベースに取り込む Python ツールです。
接続対象: AWS、GCP、Azure、Kubernetes、GitHub、Okta、Entra ID、CrowdStrike、および30以上のプラットフォーム。
答えられる問い:

pip install cartography
代わりに cartography[neo4j-rust] をインストールすると、Neo4j の Rust Bolt コーデックに切り替わり、同期時間が約 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を設定するか、ルールのドキュメントにある他の安全なパスワードオプションのいずれかを使用してください。