Securing access and handling credentials#

ハイブリッドマネージャーHMによって管理またはスタンドアロンのLokiインスタンスを介して監視されるPostgresクラスターで動作している監査AIエージェント。監査ログビューアは、機密データを含む可能性のあるPostgresクエリログを読み取り、監査対象の上流ソースの資格情報を保持します。 2つの異なる認証レイヤーがあり、すべての資格情報はサーバーサイドでライブです。ブラウザーに公開されるものはありません。

Layer

Question it answers

Mechanism

User authentication

Who may sign in to the viewer?

Identity federation through Dex (OIDC)

Upstream authentication

How does the backend reach HM or Loki?

Machine user API keys

ユーザーの認証#

上流のIDプロバイダーとフェデレーションするDexを介してサインインします。

  1. バックエンドは、DexのOIDCクライアントです。 Dexは、設定済みのコネクタOIDC、SAML、またはLDAPへのログインをブローカーし、どのIDプロバイダーがユーザーを認証したかを報告します。

  2. 成功すると、バックエンドはサーバーサイドセッション、つまり署名されたCookieと、保存時に暗号化されたリフレッシュトークンとIDトークンをミントします。トークンはブラウザーに到達しません。

  3. IDプロバイダーが構成される前に、ブートストラップ管理が存在します。最初のログインにそれを使用し、次にフェデレーションIDプロバイダーを追加して、毎日のログインをそれに切り替えます。

  4. 管理ゲーティング —メールが管理許可リストに含まれている場合、またはgroups クレームにgovernance-admin が含まれる場合、ユーザーは管理者です。 IDプロバイダー管理などの管理専用サーフェスは、これにゲートされます。

IDプロバイダーの構成については、 Deploying and configuring を参照してください。

上流ソースの認証#

マシンユーザーAPIキーを使用して、上流ソースへの認証を行います。HMデータプレーンまたはLokiインスタンス全体へのアクセスを許可する共有資格情報。これらのキーは次のとおりです。

  • HM管理ポータルで作成されるHMインスタンスの場合、または外部構成Lokiの場合。

  • バックエンドのPostgresデータベースに保存されます。

  • プロキシ化されたすべての要求にサーバーサイドで挿入されます。

  • ブラウザーへの応答には含まれません。サーバー上でクリアされ、省略されます。

バックエンドは、インスタンスタイプに基づいて、適切なヘッダーを追加します。

Instance type

Header

Format

HM

x-access-key

The raw key value, for example hmak_abc123...

Loki

Authorization

The full header value, for example Bearer token123...

資格情報の保存#

バックエンドは、Postgresデータベースに2つの資格情報ストアを維持します。

  • ビューアのデータベースには、インスタンスアクセスキーとユーザーセッションが保持されます。

  • Dexデータベースは、OIDCクライアントシークレットやLDAPバインドパスワードなどのIDプロバイダーコネクタのシークレットを平文で保持します。

基になるストレージボリュームは、暗号化された保存ストレージLUKSまたはdm-crypt、クラウドディスク暗号化、または同等のものに保持します。特にDexコネクタ資格情報にはアプリケーションレイヤーの暗号化がないため、ボリュームレベルの暗号化が重要な保護となります。

ネットワークの保護#

ビューアは、いくつかのネットワークレベルの保護を適用します。

TLS検証。 OIDC TLS検証—検出、JWKS、およびトークン交換用—は常にオンで、無効にすることはできません。自己署名またはプライベートCA発行者を信頼するには、検証をバイパスするのではなくシステム信頼プールに追加されるCAバンドルを提供します。

アップストリームの下り制御。 デフォルトでは、バックエンドはプライベートネットワーク範囲へのインスタンスの下りをブロックするため、登録されたインスタンスを使用して内部ネットワークをプローブすることはできません。クラウドメタデータ、ループバック、およびリンクローカルアドレスは、それに関係なくブロックされたままです。 HMまたはLoki上流がプライベートIPで合法的に存在するオンプレミス展開にのみプライベートレンジを許可します。

クロスオリジン要求。 ビューアとそのバックエンドは、通常のオペレーションで単一のオリジンから提供されるため、バックエンドAPIへのクロスオリジンアクセスは、明示的に許可したオリジンに制限されます。

データの取り扱い#

実行されたSQLテキストエージェントと、ターゲットデータベース、Postgresロール、期間などの実行メタデータを含むPostgresクエリログを確認します。