1.6 グラフ・データを使用したセキュリティのベスト・プラクティス

一部のセキュリティ関連のベスト・プラクティスは、グラフ・データを操作する場合に適用されます。

機密情報

グラフ・データには機密情報を含めることができるため、他のタイプのデータと同じように注意して取り扱う必要があります。Oracleでは、グラフ製品を使用する場合、次の考慮事項を検討することをお薦めします。

  • 分析に不要な場合は、機密情報をグラフに格納しないでください。既存のデータがある場合は、分析に必要な関連サブセットのみをグラフとしてモデル化します。このためには、前処理ステップを適用するか、グラフ製品の一部であるサブグラフとフィルタリング手法を使用します。
  • 頂点識別子およびエッジ識別子が機密情報とみなされないようにグラフをモデル化してください。
  • 信頼できない環境に製品をデプロイしたり、信頼できないクライアント接続へのアクセスを提供する方法で製品をデプロイしたりしないでください。
  • 信頼できるネットワーク内で実行されている場合であっても、すべての通信チャネルが暗号化されていること、および認証が常に有効になっていることを確認してください。

最小特権アカウント

データを読み取るためにグラフ・サーバー(PGX)が使用するデータベース・ユーザー・アカウントは、権限の低い読取り専用アカウントである必要があります。PGXは、データベースの上位で読取り専用キャッシュとして機能するインメモリー・アクセラレータで、データベースにデータを書き戻しません。

アプリケーションでグラフ・データを書き込み、後でPGXを使用して分析する必要がある場合は、各コンポーネントに2つの異なるデータベース・ユーザー・アカウントを必ず使用してください。

パブリック・ヘルス・エンドポイントのセキュリティ

ロード・バランサの背後で複数のグラフ・サーバー(ロード・バランサの背後でのOracle Graph Serverのデプロイ)を実行しない場合は、セキュリティ上の措置としてグラフ・サーバーのパブリック・エンドポイントを無効にすることをお薦めします。この場合、ロード・バランサがグラフ・サーバーの状態を判別する必要があります。

エンドポイントを無効にするには:

  1. グラフ・サーバーのWARファイルを見つけます。RPMを使用してグラフ・サーバーをインストールした場合、ファイルは/opt/oracle/graph/pgx/server/pgx-webapp-<version>.warにあります。
  2. .warファイルを任意の場所に解凍し、解凍されたディレクトリ内のWEB-INF/web.xmlファイルを任意のテキスト・エディタで編集します。
  3. このファイル内でpgx.auth.exceptionsパラメータを見つけます。パブリック・エンドポイントのリストが次のように表示されます。
    <init-param>
        <param-name>pgx.auth.exceptions</param-name>
        <param-value>isReady;isRunning;auth/token</param-value>
    </init-param>
  4. 次のように、パブリック・エンドポイントのリストからisReadyエンドポイントを削除します。
    <init-param>
        <param-name>pgx.auth.exceptions</param-name>
        <param-value>isRunning;auth/token</param-value>
    </init-param>
  5. 変更を保存し、WARファイルを再パッケージ化して元の場所に再デプロイします。
  6. グラフ・サーバーを再起動します。