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を介してサインインします。
バックエンドは、DexのOIDCクライアントです。 Dexは、設定済みのコネクタOIDC、SAML、またはLDAPへのログインをブローカーし、どのIDプロバイダーがユーザーを認証したかを報告します。
成功すると、バックエンドはサーバーサイドセッション、つまり署名されたCookieと、保存時に暗号化されたリフレッシュトークンとIDトークンをミントします。トークンはブラウザーに到達しません。
IDプロバイダーが構成される前に、ブートストラップ管理が存在します。最初のログインにそれを使用し、次にフェデレーションIDプロバイダーを追加して、毎日のログインをそれに切り替えます。
管理ゲーティング —メールが管理許可リストに含まれている場合、または
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クエリログを確認します。