インスタンスの監査イベントストリーミング
- プラン: 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ヘッダーを更新するには:
- 左側のサイドバーの下部で、管理者を選択します。
- 左側のサイドバーの下部にあるモニタリング > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- 展開するストリームを選択します。
- カスタムHTTPヘッダーテーブルを探します。
- 更新するヘッダーを探します。
- ヘッダーを有効にするには、有効チェックボックスをオンにします。ヘッダーは監査イベントとともに送信されます。
- ヘッダーを追加を選択して、新しい名前と値のペアを作成します。必要な名前と値のペアの数だけ入力します。ストリーミング先ごとに最大20個のヘッダーを追加できます。
- 保存を選択して、ストリーミング先を更新します。
イベントの信頼性を検証
各ストリーミング先には、イベントの信頼性を検証するために使用できる一意の検証トークン(verificationToken)があります。このトークンはオーナーによって指定されるか、イベントの送信先が作成されたときに自動的に生成され、変更できません。
ストリーミングされる各イベントには、ストリーミング先をリストするときに送信先の値に対して検証できる、X-Gitlab-Event-Streaming-Token HTTPヘッダーに検証トークンが含まれています。
前提要件:
- インスタンスの管理者アクセス制御。
インスタンスのストリーミング先を一覧表示し、検証トークンを表示するには:
- 左側のサイドバーの下部で、管理者を選択します。
- 左側のサイドバーの下部にあるモニタリング > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- 各項目の右側にある検証トークンを表示します。
イベントフィルターを更新
この機能が有効になっている場合、ユーザーは送信先ごとにストリーミングされた監査イベントをフィルタリングできます。機能がフィルターなしで有効になっている場合、送信先はすべての監査イベントを受信します。
イベントタイプのフィルターが設定されているストリーミング先には、フィルタリング済み ( ) ラベルが付きます。
ストリーミング先のイベントフィルターを更新するには:
- 左側のサイドバーの下部で、管理者を選択します。
- 左側のサイドバーの下部にあるモニタリング > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- 展開するストリームを選択します。
- 監査イベントタイプでフィルタリングでフィルターするドロップダウンリストを探します。
- ドロップダウンリストを選択し、必要なイベントタイプを選択またはクリアします。
- 保存を選択して、イベントフィルターを更新します。
デフォルトのコンテンツタイプのヘッダーをオーバーライド
デフォルトでは、ストリーミング先はcontent-typeのヘッダーであるapplication/x-www-form-urlencodedを使用します。ただし、content-typeヘッダーを他の値に設定することもできます。たとえばapplication/jsonなどです。
インスタンスのストリーミング先のcontent-typeヘッダーのデフォルト値をオーバーライドするには、次のいずれかを使用します:
- GitLab UI。
- GraphQL APIを使用します。
Google Cloud Loggingの送信先
インスタンス全体のGoogle Cloud Loggingの送信先を管理します。
前提要件
Google Cloud Loggingの監査イベントのストリーミングを設定する前に、次のことを行う必要があります:
- Google CloudプロジェクトでCloud Logging APIを有効にします。
- 適切な認証情報と権限を持つGoogle Cloudのサービスアカウントを作成します。このアカウントは、監査ログのストリーミング認証を構成するために使用されます。詳細については、Google Cloudドキュメントでのサービスアカウントの作成と管理を参照してください。
- サービスアカウントのログライターロールを有効にして、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リージョンを入力します。
- Add a new Secret Access Key(新しいシークレットアクセスキーを追加)を選択し、AWSのシークレットアクセスキーを入力して、シークレットアクセスキーを更新します。
- 保存を選択します。
ストリーミング先をリスト
前提要件:
- インスタンスの管理者アクセス制御。
インスタンスのストリーミング先をリストするには:
- 左側のサイドバーの下部で、管理者を選択します。
- 左側のサイドバーの下部にあるモニタリング > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- 展開するストリームを選択します。
ストリーミング先を有効または無効にする
送信先の構成を削除せずに、送信先への監査イベントのストリーミングを一時的に無効にすることができます。ストリーミング先が無効になっている場合:
- ストリーミング先への監査イベントのストリーミングがただちに停止します。
- ストリーミング先設定は保持されます。
- いつでもストリーミング先を再度アクティブにできます。
- 他のアクティブなストリーミング先は、引き続きイベントを受信します。
ストリーミング先を非アクティブにする
前提要件:
- インスタンスの管理者アクセス制御。
ストリーミング先を非アクティブにするには、次の手順に従います:
- 左側のサイドバーの下部で、管理者を選択します。
- 左側のサイドバーの下部にあるモニタリング > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- 展開するストリームを選択します。
- 有効チェックボックスをオフにします。
- 保存を選択します。
ストリーミング先は監査イベントの受信を停止します。
ストリーミング先をアクティブにする
以前に非アクティブ化されたストリーミング先を再度アクティブにするには、次の手順に従います:
- 左側のサイドバーの下部で、管理者を選択します。
- 左側のサイドバーの下部にあるモニタリング > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- 展開するストリームを選択します。
- 有効チェックボックスを選択します。
- 保存を選択します。
ストリーミング先は、監査イベントの受信をただちに再開します。
ストリーミング先を削除する
インスタンス全体のストリーミング先を削除します。最後のストリーミング先が正常に削除されると、インスタンスのストリーミングは無効になります。
前提要件:
- インスタンスの管理者アクセス制御。
インスタンスでストリーミング先を削除するには、次の手順に従います:
- 左側のサイドバーの下部で、管理者を選択します。
- 左側のサイドバーの下部にあるモニタリング > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- 展開するストリームを選択します。
- 移動先を削除を選択します。
- 確認するには、移動先を削除を選択します。
カスタムHTTPヘッダーのみを削除する
前提要件:
- インスタンスの管理者アクセス制御。
ストリーミング先のカスタムHTTPヘッダーのみを削除するには、次の手順に従います:
- 左側のサイドバーの下部で、管理者を選択します。
- 左側のサイドバーの下部にあるモニタリング > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- 項目の右側にある編集 ( )を選択します。
- カスタムHTTPヘッダーテーブルを探します。
- 削除するヘッダーを探します。
- ヘッダーの右側にある削除 ( )を選択します。
- 保存を選択します。