トップレベルグループの監査イベントストリーミング
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
トップレベルグループの監査イベントストリーミングにより、グループオーナーは次のことが可能になります:
- トップレベルグループのストリーミング先を設定して、グループ、サブグループ、プロジェクトに関するすべての監査イベントを構造化されたJSONとして受信できます。
- サードパーティシステムで監査ログを管理します。構造化されたJSONデータを受信できるサービスは、ストリーミング先として使用できます。
各ストリーミング先:
- ストリーミングされるイベントごとに、最大20個のカスタムHTTPヘッダーを含めることができます。
- GitLab.comの場合、GitLab.com IPアドレス範囲からのトラフィックを許可する必要があります。
GitLabは、単一のイベントを同じ送信先に複数回ストリーミングできます。ペイロードのidキーを使用して、受信データを重複排除します。
監査イベントは、HTTPでサポートされているPOSTリクエストメソッドプロトコルを使用して送信されます。
ストリーミング先は、すべての監査イベントデータを受信します。これには機密情報が含まれる可能性があります。信頼できるストリーミング先であることを確認してください。ストリーミング先を信頼できることを確認してください。
HTTPの送信先
前提要件:
- セキュリティを強化するには、宛先URLでSSL証明書を使用する必要があります。
トップレベルグループのHTTPストリーミング先を管理します。
新しいHTTPの送信先を追加
トップレベルグループに新しいHTTPストリーミング先を追加します。
前提要件:
- トップレベルグループのオーナーロール。
トップレベルグループにストリーミング先を追加するには:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- セキュリティ > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- ストリーム先を追加を選択し、HTTPエンドポイントを選択して、送信先を追加するためのセクションを表示します。
- 名前フィールドと宛先URLフィールドに、送信先の名前とURLを追加します。
- オプション。Custom HTTP headers(カスタムHTTPヘッダー)テーブルを探します。
- ヘッダーを有効にするには、アクティブチェックボックスをオンにします。ヘッダーは監査イベントとともに送信されます。
- ヘッダーを追加を選択して、新しい名前と値のペアを作成します。必要な名前と値のペアの数だけ入力します。ストリーミング先ごとに最大20個のヘッダーを追加できます。
- すべてのヘッダーを入力したら、追加を選択して、新しいストリーミング先を追加します。
HTTPの送信先を更新
前提要件:
- グループのオーナーロール。
ストリーミング先の名前を更新するには:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- セキュリティ > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- 展開するストリームを選択します。
- 名前フィールドで、更新する宛先名を追加します。
- 保存を選択して、ストリーミング先を更新します。
トップレベルグループのストリーミング先のカスタムHTTPヘッダーを更新するには:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- セキュリティ > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- 展開するストリームを選択します。
- Custom HTTP headers(カスタムHTTPヘッダー)テーブルを探します。
- 更新するヘッダーを探します。
- ヘッダーを有効にするには、アクティブチェックボックスをオンにします。ヘッダーは監査イベントとともに送信されます。
- ヘッダーを追加を選択して、新しい名前と値のペアを作成します。必要な名前と値のペアの数だけ入力します。ストリーミング先ごとに最大20個のヘッダーを追加できます。
- 保存を選択して、ストリーミング先を更新します。
イベントの信頼性を検証
各ストリーミング先には、イベントの信頼性を検証するために使用できる一意の検証トークン(verificationToken)があります。このトークンはオーナーによって指定されるか、イベントの送信先が作成されたときに自動的に生成され、変更できません。
verificationTokenパラメータは、GraphQL APIを使用することによってのみ設定できます。
ストリーミングされる各イベントには、ストリーミング先をリストするときに送信先の値に対して検証できる、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ドキュメントでのサービスアカウントの作成と管理を参照してください。
- サービスアカウントのLogs Writer(ログライター)ロールを有効にして、Google Cloudでログを有効にします。詳細については、IAMを使用したアクセス制御を参照してください。
- サービスアカウントのJSONキーを作成します。詳細については、サービスアカウントキーの作成を参照してください。
新しいGoogle Cloud Loggingの送信先を追加
前提要件:
- トップレベルグループのオーナーロール。
トップレベルグループにGoogle Cloud Loggingのストリーミング先を追加するには:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- セキュリティ > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- ストリーム先を追加を選択し、Google Cloud Loggingを選択して、送信先を追加するためのセクションを表示します。
- 新しい送信先の名前として使用するランダムな文字列を入力します。
- 新しストリーミング先を追加するには、以前に作成したGoogle Cloudサービスアカウントキーから、GoogleプロジェクトID、Googleクライアントメール、Googleプライベートキーを入力します。
- 新しい送信先のログ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ヘッダーのみを削除するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- セキュリティ > 監査イベントを選択します。
- メイン領域で、ストリームタブを選択します。
- 展開するストリームを選択します。
- Custom HTTP headers(カスタムHTTPヘッダー)テーブルを探します。
- 削除するヘッダーを探します。
- ヘッダーの右側にある削除 ( )を選択します。
- 保存を選択します。