オープンソースプロジェクト
cartography-cncf/cartography avatar
cartography-cncf/cartography

Cartographyでインフラ資産をNeo4jの関係グラフに集める

Cartography は、インフラストラクチャ資産とその関係を Neo4j グラフ データベースに取り込む Python ツールです。

スター 4,061フォーク 562PythonApache-2.0

ひと目でわかる

これは何?
クラウドやSaaSの資産と関係を収集しNeo4jへ格納するCartographyの構成、同期、設定、権限上の確認点を整理する。
誰に向いている?
Cartographyは、複数のクラウドやSaaSに散らばる資産と関係をNeo4jで横断検索したいセキュリティ・インフラ担当者に向く。収集対象の完全性や権限設定を自動で保証する製品ではない。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に Python です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

cartographyのREADMEが定義する対象

cartography-cncf/cartography の README はプロジェクトを「Cartography is a Python tool that pulls infrastructure assets and their relationships into a Neo4j graph database.」と説明しています。ここではリポジトリで確認できる事実だけを整理します。star 数やバッジは注目度の手掛かりであり、品質の証明ではありません。「README」には次の説明があります。Cartography is a Python tool that pulls infrastructure assets and their relationships into a Neo4j graph database.。これは範囲の説明であり、本番検証の結果ではありません。

cartographyの向いている用途

README の「README」にある内容から、用途が合うかを先に判断できます。Am I affected by any critical vulnerabilities or compromised software packages?。目的が違うなら、人気だけで採用する理由にはなりません。プロジェクト名やコマンドは原文のまま残し、一次資料へ戻って用語を確認できるようにしています。 README には次の確認可能な項目もあります。Which identities have access to which datastores? How about across multiple tenants, or providers?。初回テストの材料にはなりますが、実際の環境での確認を省略する理由にはなりません。

cartographyの動作の考え方

動作の説明は「Sync your first data source (AWS example)」など複数の箇所に分かれています。確認できる情報は次の通りです。Ensure your AWS credentials and default region are configured (e.g. via AWSPROFILE, AWSDEFAULTREGION, or /.aws/config). See AWS credentials docs for reference.。書かれていない構成、性能、セキュリティを推測で補いません。導入時はディレクトリ、設定ファイル、release 履歴を確認してください。

cartographyのインストールと初回起動

初回導入は README の入口から始めます。確認できるコマンドは次の通りです。

pip install cartography

実行可能なコマンドがない場合は手順を作らず、「Install Cartography」で依存関係、待受ポート、初回設定を確認します。

cartographyの設定と日常運用

日常運用は公式文書の範囲に限ります。「Sync your first data source (AWS example)」にはSee the full install guide for other platforms.とあります。設定、環境変数、権限、データ保存先は明記されたものだけを扱います。未記載の既定値は隔離環境で確認し、戻せる設定を保存してください。 同じ資料にはWhat are the network paths in and out of my environment?ともあります。

cartographyのREADME で確認できる制約

制約も確認が必要です。現在の資料からは、cartography-cncf/cartography の互換表、性能基準、サービス保証、長期サポートを確認できません。README の記載は「See the querying tutorial for more use-cases.」です。不明点は採用記録の検証項目として残し、断定に変えないでください。

cartographyのセキュリティ・プライバシー・ライセンス

ライセンスはメタデータと LICENSE に基づき、SPDX は Apache-2.0 です。再配布や改変の条件を確認する情報であり、安全審査の代わりではありません。認証情報、公開範囲、ログ、依存ライブラリの扱いは別途確認が必要です。

cartographyの保守とアップグレード

保守判断の材料は、既定ブランチ master、3994 stars、546 forks、108 件の open issue です。「Run security rules」にはOnce Cartography has populated the reachable Neo4j graph, list, inspect, and run security rules. This quickstart uses the no-auth Neo4j container started above, so no password is required:とあります。更新計画の参考にはなりますが、実際の upgrade テストは省略できません。 保守時は README の「Run security rules」も確認します。For authenticated Neo4j, set NEO4JPASSWORD or use one of the other secure password options in the rules docs.。

Cartographyの出力先がNeo4jである以上、評価の中心は収集元の一覧ではなく、グラフに何がどの識別子で入り、関係がいつ更新されるかに置くべきだ。READMEにあるクラウド・SaaS連携を一度に有効にせず、検証用の一つのアカウントと少量の資産から始める。収集用の認証情報は読み取り専用に限定し、環境変数や設定ファイルがログへ出ないことを確認する。同期前後でノード数、エッジ数、削除済み資産の扱い、同名リソースの識別を比較し、Neo4jのクエリ結果を保存する。READMEが説明しない収集間隔、API制限、部分失敗時の再試行、個別インテグレーションの権限は、採用判断に残る未確認事項として扱う。

収集結果を閲覧できる利用者の範囲もNeo4j側で分け、グラフに含まれる所有者、リージョン、識別子が社内の資産台帳と一致するかを照合する。同期を定期実行する場合は、同じ資産が重複して増えないこと、削除された資産が古い関係を残さないこと、API制限に達したとき全体が成功扱いにならないことを確認する。設定の変更は一つずつ行い、実行時刻、収集元、Neo4jのデータベース名、件数、エラーを保存する。Cartographyが作るグラフは判断材料であり、アクセス権の付与や資産の削除を自動で正当化するものではない。

検証用のグラフでは、まず一つのクラウドアカウントに限定して資産の種類を数える。次に、所有関係や接続関係を表すエッジがREADMEの説明と一致するか、同じ名前の資産が別リージョンや別アカウントとして区別されるかを見る。Neo4jの認証情報をCartographyの実行ログ、CIの出力、共有したクエリに残さない。収集元のAPI応答が部分的に失敗したときは、前回のデータと今回のデータを分けて表示できるかを確認し、空になった結果を資産削除と解釈しない。対象インテグレーションを増やす前に、必要な権限、収集間隔、保存期間、グラフの閲覧者をレビュー記録へ残す。

差分の確認には同じNeo4jクエリを使い、同期前後のノード数だけでなく、特定資産の所有者と接続先が変わっていないかを照合する。読み取り権限で取得できない資産は「存在しない」と結論づけず、権限不足としてログへ分ける。初回同期の出力を基準にし、設定変更後の増減理由をインテグレーションごとに説明できる状態にする。

編集部の結論

Cartographyは、複数のクラウドやSaaSに散らばる資産と関係をNeo4jで横断検索したいセキュリティ・インフラ担当者に向く。収集対象の完全性や権限設定を自動で保証する製品ではない。まず検証用アカウントの読み取り権限だけで同期を実行し、Neo4jのノードとエッジ、同期対象、失敗ログ、資格情報の保管場所を確認する。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート