インスタンスの監査イベントストリーミング
- プラン: Ultimate
- 提供形態: GitLab Self-Managed、GitLab Dedicated
インスタンスの監査イベントストリーミングでは、管理者は次のことができます:
- インスタンス全体のストリーミング宛先を設定し、そのインスタンスに関するすべての監査イベントを構造化されたJSONとして受信します。
- サードパーティシステムで監査ログを管理します。構造化されたJSONデータを受信できるサービスであれば、ストリーミング宛先として使用できます。
各ストリーミング宛先には、ストリーミングされる各イベントに最大20個のカスタムHTTPヘッダーを含めることができます。
GitLabは、単一のイベントを同じ宛先に複数回ストリーミングできます。ペイロード内のidキーを使用して、受信データの重複排除を行います。
監査イベントは、HTTPでサポートされているPOSTリクエストメソッドプロトコルを使用して送信されます。
ストリーミング宛先はすべての監査イベントデータを受信します。これには機密情報が含まれる可能性があります。ストリーミング宛先を信頼していることを確認してください。
インスタンス全体のストリーミング宛先を管理します。
HTTP宛先
前提条件:
- セキュリティ向上のため、宛先URLでSSL証明書を使用してください。
インスタンス全体のHTTPストリーミング宛先を管理します。
新しいHTTP宛先を追加
インスタンスに新しいHTTPストリーミング宛先を追加します。
前提条件:
- インスタンスへの管理者アクセス。
インスタンスのストリーミング宛先を追加するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- ストリーム先を追加を選択し、HTTPエンドポイントを選択して宛先追加セクションを表示します。
- 名前および宛先URLフィールドに、宛先名とURLを追加します。
- オプション。オプション。カスタムHTTPヘッダーを追加するには、ヘッダーを追加を選択して新しい名前と値のペアを作成し、その値を入力します。必要な数の名前と値のペアについて、この手順を繰り返します。ストリーミング宛先ごとに最大20個のヘッダーを追加できます。
- ヘッダーをアクティブにするには、アクティブチェックボックスを選択します。このヘッダーは監査イベントとともに送信されます。
- ヘッダーを追加を選択して、新しい名前と値のペアを作成します。必要な数の名前と値のペアについて、この手順を繰り返します。ストリーミング宛先ごとに最大20個のヘッダーを追加できます。
- すべてのヘッダーが入力されたら、追加を選択して新しいストリーミング宛先を追加します。
HTTP宛先を更新
前提条件:
- インスタンスへの管理者アクセス。
インスタンスのストリーミング宛先名を更新するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- ストリームを選択して展開します。
- 名前フィールドで、更新する宛先名を追加します。
- 保存を選択してストリーミング宛先を更新します。
インスタンスのストリーミング宛先のカスタムHTTPヘッダーを更新するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- ストリームを選択して展開します。
- Custom HTTP headersテーブルを見つけます。
- 更新するヘッダーを見つけます。
- ヘッダーをアクティブにするには、アクティブチェックボックスを選択します。このヘッダーは監査イベントとともに送信されます。
- ヘッダーを追加を選択して、新しい名前と値のペアを作成します。必要な数の名前と値のペアを入力します。ストリーミング宛先ごとに最大20個のヘッダーを追加できます。
- 保存を選択してストリーミング宛先を更新します。
イベントの認証情報を検証
各ストリーミング宛先には、イベントの認証情報を検証するために使用できる一意の検証トークン(verificationToken)があります。このトークンは、オーナーによって指定されるか、イベント宛先が作成されたときに自動的に生成され、変更することはできません。
ストリーミングされる各イベントには、X-Gitlab-Event-Streaming-Token HTTPヘッダーに検証トークンが含まれており、ストリーミング宛先を一覧表示する際に宛先の値と照合して検証できます。
前提条件:
- インスタンスへの管理者アクセス。
インスタンスのストリーミング宛先を一覧表示し、検証トークンを確認するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- 各項目の右側にある検証トークンを表示します。
イベントフィルターを更新
この機能が有効な場合、ユーザーは宛先ごとにストリーミングされる監査イベントをフィルタリングできます。フィルターなしで機能が有効な場合、宛先はすべての監査イベントを受信します。
イベントタイプのフィルターが設定されたストリーミング宛先には、フィルタリング済み( )のラベルが表示されます。
ストリーミング宛先のイベントフィルターを更新するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- ストリームを選択して展開します。
- 監査イベントタイプでフィルタリングドロップダウンリストを見つけます。
- ドロップダウンリストを選択し、必要なイベントタイプを選択またはクリアします。
- 保存を選択してイベントフィルターを更新します。
デフォルトのコンテンツタイプヘッダーを上書き
デフォルトでは、ストリーミング宛先はcontent-typeヘッダーとしてapplication/x-www-form-urlencodedを使用します。ただし、content-typeヘッダーを別のものに設定したい場合があります。例: application/json。
インスタンスのストリーミング宛先のcontent-typeヘッダーのデフォルト値を上書きするには、次のいずれかを使用します:
Google Cloud Logging宛先
インスタンス全体のGoogle Cloud Logging宛先を管理します。
前提条件
Google Cloud Loggingストリーミング監査イベントを設定する前に、次の操作が必要です:
- Google CloudプロジェクトでCloud Logging APIを有効にします。
- 適切な認証情報と権限を持つGoogle Cloudのサービスアカウントを作成します。このアカウントは、監査ログストリーミング認証を設定するために使用されます。詳細については、Google Cloudドキュメントのサービスアカウントの作成と管理を参照してください。
- サービスアカウントのLogs Writerロールを有効にして、Google Cloudでロギングを有効にします。詳細については、IAMによるアクセス制御を参照してください。
- サービスアカウントのJSONキーを作成します。詳細については、サービスアカウントキーの作成を参照してください。
新しいGoogle Cloud Logging宛先を追加
前提条件:
- インスタンスへの管理者アクセス。
インスタンスにGoogle Cloud Loggingストリーミング宛先を追加するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- ストリーム先を追加を選択し、Google Cloud Loggingを選択して宛先追加セクションを表示します。
- 新しい宛先の名前として使用するランダムな文字列を入力します。
- 以前に作成したGoogle Cloudサービスアカウントキーから、GoogleプロジェクトIDとGoogleクライアントメールを入力します。
- 以前に作成したGoogle Cloudサービスアカウントキーから、Googleプライベートキーを入力します。PEM形式で、
-----BEGIN PRIVATE KEY-----で始まる必要があります。JSONキー全体をアップロードしないでください。 - 新しい宛先のログIDとして使用するランダムな文字列を入力します。後でこれを使用して、Google Cloudでログ結果をフィルタリングできます。
- 追加を選択して新しいストリーミング宛先を追加します。
Google Cloud Logging宛先を更新
前提条件:
- インスタンスへの管理者アクセス。
インスタンスにGoogle Cloud Loggingストリーミング宛先を更新するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- Google Cloud Loggingストリームを展開するには、選択します。
- 宛先の名前として使用するランダムな文字列を入力します。
- 以前に作成したGoogle Cloudサービスアカウントキーから、GoogleプロジェクトIDとGoogleクライアントメールを入力して宛先を更新します。
- 宛先のログIDを更新するために、ランダムな文字列を入力します。後でこれを使用して、Google Cloudでログ結果をフィルタリングできます。
- 新しい秘密キーを追加を選択し、Googleプライベートキーを入力してプライベートキーを更新します。
- 保存を選択してストリーミング宛先を更新します。
AWS S3宛先
インスタンス全体のAWS S3宛先を管理します。
前提条件
AWS S3ストリーミング監査イベントを設定する前に、次の操作が必要です:
- 適切な認証情報と権限を持つAWSのアクセスキーを作成します。このアカウントは、監査ログストリーミング認証を設定するために使用されます。詳細については、アクセスキーの管理を参照してください。
- AWS S3バケットを作成します。このバケットは、監査ログストリーミングデータを保存するために使用されます。詳細については、バケットの作成を参照してください。
新しいAWS S3宛先を追加
前提条件:
- インスタンスへの管理者アクセス。
インスタンスにAWS S3ストリーミング宛先を追加するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- ストリーム先を追加を選択し、AWS S3を選択して宛先追加セクションを表示します。
- 新しい宛先の名前として使用するランダムな文字列を入力します。
- 以前に作成したAWSアクセスキーとバケットから、アクセスキーID、シークレットアクセスキー、バケット名、およびAWSリージョンを入力して新しい宛先に追加します。
- 追加を選択して新しいストリーミング宛先を追加します。
AWS S3宛先を更新
前提条件:
- インスタンスへの管理者アクセス。
インスタンスのAWS S3ストリーミング宛先を更新するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- AWS S3ストリームを展開するには、選択します。
- 宛先の名前として使用するランダムな文字列を入力します。
- 宛先を更新するには、以前に作成したAWSアクセスキーとバケットから、アクセスキーID、シークレットアクセスキー、バケット名、およびAWSリージョンを入力します。
- Select Add a new Secret Access Keyと入力し、AWSシークレットアクセスキーを入力してシークレットアクセスキーを更新します。
- 保存を選択します。
ストリーミング宛先を一覧表示
前提条件:
- インスタンスへの管理者アクセス。
インスタンスのストリーミング宛先を一覧表示するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- ストリームを選択して展開します。
ストリーミング宛先を有効化または無効化
宛先の設定を削除せずに、宛先への監査イベントストリーミングを一時的に無効にできます。ストリーミング宛先が無効になると:
- 監査イベントは、その宛先へのストリーミングを直ちに停止します。
- 宛先設定は保持されます。
- 宛先はいつでも再アクティブ化できます。
- 他のアクティブな宛先はイベントを受信し続けます。
ストリーミング宛先を無効化
前提条件:
- インスタンスへの管理者アクセス。
ストリーミング宛先を無効にするには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- ストリームを選択して展開します。
- アクティブチェックボックスをクリアします。
- 保存を選択します。
宛先は監査イベントの受信を停止します。
ストリーミング宛先を有効化
以前に無効化されたストリーミング宛先を再アクティブ化するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- ストリームを選択して展開します。
- 有効チェックボックスを選択します。
- 保存を選択します。
宛先は監査イベントの受信を直ちに再開します。
AI監査イベントストリーミング
- プラン: Ultimate
- 提供形態: GitLab Self-Managed、GitLab Dedicated
- ステータス: ベータ版
AI監査イベントストリーミングを有効にすると、インスタンスのパフォーマンスに影響を与える可能性があります。この設定は、インスタンスの負荷を評価した後にのみ有効にしてください。
GitLab Duo Agent Platformは、次のようなアクティビティのAI監査イベントを記録します:
- エージェントセッション。
- LLMリクエスト。
- ツールの呼び出し。
- ユーザー入力。
GitLabは、これらのイベントを常にデータベースに保存します。
また、個別の設定を使用して、GitLabがAI監査イベントを外部宛先にストリーミングするかどうかを制御できます。この設定はデフォルトでオフになっています。
AI監査イベントストリーミングの場合:
- 有効になっている場合、GitLabはAI監査イベントをすべてのアクティブなインスタンスストリーミング宛先にストリーミングします。イベントタイプフィルター、カスタムHTTPヘッダー、および検証トークンは、他の監査イベントと同じ方法でAI監査イベントに適用されます。
- 無効になっている場合でも、GitLabはAI監査イベントをデータベースに保存しますが、外部宛先には送信しません。他の監査イベントタイプは、各宛先の設定に従ってストリーミングを続行します。
AI監査イベントストリーミングを有効にする
前提条件:
- インスタンスへの管理者アクセス。
AI監査イベントストリーミングを有効にするには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、GitLab Duoを選択します。
- 設定の変更を選択します。
- Enable AI audit event streamingチェックボックスを選択します。
- 変更を保存を選択します。
AI監査イベントストリーミングを無効にする
前提条件:
- インスタンスへの管理者アクセス。
AI監査イベントストリーミングを無効にするには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、GitLab Duoを選択します。
- 設定の変更を選択します。
- Enable AI audit event streamingチェックボックスをクリアします。
- 変更を保存を選択します。
AI監査イベントは直ちにストリーミングを停止します。GitLabは引き続きデータベースに保存します。
ストリーミング宛先を削除
インスタンス全体のストリーミング宛先を削除します。最後の宛先が正常に削除されると、インスタンスのストリーミングは無効になります。
前提条件:
- インスタンスへの管理者アクセス。
インスタンスのストリーミング宛先を削除するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- ストリームを選択して展開します。
- 移動先を削除を選択します。
- 確認するには、移動先を削除を選択します。
カスタムHTTPヘッダーのみを削除
前提条件:
- インスタンスへの管理者アクセス。
ストリーミング宛先のカスタムHTTPヘッダーのみを削除するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、モニタリング > 監査イベントを選択します。
- メインエリアで、ストリームタブを選択します。
- 項目の右側にある編集( )を選択します。
- Custom HTTP headersテーブルを見つけます。
- 削除するヘッダーを見つけます。
- ヘッダーの右側にある削除( )を選択します。
- 保存を選択します。