GrantForge

    外部システムの権限

    データサービス、ポリシーとエージェント

    プラグインで HDFS、ZooKeeper、MySQL などの外部システムの権限を管理します。データサービス、アクセスポリシー、エージェント、アクセス監査について説明します。

    「データ権限」グループは GrantForge 以外のデータシステムの権限を管理します。アーキテクチャは Apache Ranger に似ており、プラグインがサービスタイプを定義し、管理者がコンソールでポリシーを作成し、アクセス経路上のエージェントがポリシーをダウンロードしてローカルでアクセスを判定します。

    flowchart LR
      C["コンソール:データサービスとポリシー"] --> S["GrantForge サーバー"]
      S -->|署名付きポリシースナップショット| A["ポリシー適用エージェント"]
      A -->|ハートビートとアクセス監査| S
      U["ユーザーのデータアクセス"] --> A

    プラグイン

    プラットフォーム管理 → プラグイン には、読み込まれたサービスタイプのプラグインが列挙されます。組み込みのプラグインはサーバーに同梱され、それ以外のプラグインは plugins ディレクトリに入れて「再スキャン」を押すだけです。各プラグインは独立して読み込まれるため、エラーが発生してもそのプラグインだけが無効化されます。プラグインの開発については プラグインとサービスタイプ を参照してください。

    プラグイン

    HDFS

    配布パッケージには HDFS サービスタイプのプラグインが含まれます。インストール、接続設定、ディレクトリーの参照、パスポリシーは Apache Hadoop HDFS を参照してください。

    MySQL

    MySQL サービスプラグインは接続検証、データベース・テーブル・列の検索、およびアクセス、列マスキング、行フィルタリングのポリシー管理を担当します。MySQL を参照してください。別途配置する MySQL プロキシエージェント がポリシーを適用します。クライアントはプロキシの待受アドレスに接続し、プロキシがバックエンドの MySQL にアクセスします。MySQL サーバープロセス内にはインストールしません。バックエンドへの直接接続は GrantForge ポリシーを迂回します。

    データサービス

    データ権限 → データサービス:サービスは GrantForge が権限を管理する外部システムのインスタンス 1 つであり、たとえば HDFS クラスター 1 つです。サービスを追加するときにサービスタイプを選択し、プラグインが定義した設定項目に従って接続情報を入力します。先に 接続テスト を実行できます。パスワードなどの機密性の高い設定は暗号化して保存され、保存後は表示されません。

    データサービス

    ポリシー

    データ権限 → ポリシー は、誰がデータサービス内のどのリソースに対して何ができるかを決定します。

    • アクセスポリシーはアクセスを許可または拒否します。
    • マスキングポリシーはフィールドを覆い隠します。
    • 行フィルタポリシーは一部の行だけを出します。

    リソースの階層(MySQL のデータベース、テーブル、列など)、アクセスタイプ(select、update など)、条件は、すべてサービスタイプのプラグインから提供されます。リソースを入力するときは、対象システムに実際に存在するリソースを検索できます。ポリシーの対象はユーザー、ユーザーグループ、またはロールです。

    参照できるレベル(HDFS のパスなど)には 参照 ボタンがあります。ディレクトリを階層ごとに開き、所有者・グループ・権限を確認しながら、複数のファイルやディレクトリをまとめて選べます。検索や参照に失敗すると理由(権限なし、接続できない、ディレクトリが大きすぎるなど)が表示され、再試行できます。

    ポリシー

    エージェント

    データ権限 → エージェント:エージェントは対象システム内、または独立したネットワークプロキシとして配置され、トークンで定期的にハートビートを報告し、署名されたポリシーのスナップショットをダウンロードしてローカルでアクセスを判定します。ここではエージェントトークンを発行し(一度だけ表示されます)、各エージェントが最新のポリシーを使えているかを確認します。

    エージェント

    アクセス監査

    データ権限 → アクセス監査:エージェントが報告するアクセスの判定 1 件ごとに、誰がいつどこからどのリソースに対して何をしたか、許可されたか拒否されたか、どのポリシーが決定したかが記録されます。記録はデフォルトで 90 日間保持されます。

    アクセス監査

    GitHub でこのページを編集