
30以上のクラウド、ID、SaaSプラットフォームからインフラ資産とその関係性をNeo4jグラフに取り込み、セキュリティクエリとルールベース分析を可能にします。
Cartographyは、インフラストラクチャ資産とその関連性をNeb4j グラフデータベースに統合するPythonツールです。
接続先: 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
他のプラットフォームについては完全なインストールガイドをご覧ください。
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 を設定するか、ルールドキュメント内の他の安全なパスワードオプションのいずれかを使用してください。