Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

Enterprise の監査ログのストリーミング

監査イベントと Git イベントのデータを GitHub から外部のデータ管理システムにストリーミングできます。

この機能を使用できるユーザー

Enterprise owners can configure audit log streaming.

注: GitHub Enterprise Server の監査ログ ストリーミングは現在、ベータ版であり、変更される可能性があります。

監査ログのストリーミングについて

知的財産を保護し、組織のコンプライアンスを維持するために、ストリーミングを使用して監査ログ データのコピーを保持し、監視できます。* 組織またはリポジトリの設定へのアクセス

  • アクセス許可の変更
  • 組織、リポジトリ、またはチームの追加または削除されたユーザー
  • 管理者に昇格されるユーザー
  • GitHub Appの権限の変更

監査ログのストリーミングには、次の利点があります。

  • データの探索。 大量のデータに対してクエリを実行するために、推奨されるツールを使用して、ストリーミングされたイベントを調べることができます。 ストリーミングには、Enterprise アカウント全体の監査イベントと Git イベントの両方が含まれます。
  • データ保有。 エクスポートされた監査ログと Git イベント データを必要な期間だけ保持できます。

Enterprise 所有者は、ストリームをいつでも設定または削除することができます。 ストリーミングによって、Enterprise 内のすべての Organization に関する監査と Git イベント データがエクスポートされます。

メモ: すべての監査ログは JSON 形式でストリーミングされます。

監査ログのストリーミングの設定

プロバイダーの指示に従って、GitHub Enterprise Server での監査ログのストリーミングを設定します。

Amazon S3 へのストリーミングの設定

監査ログを Amazon の S3 エンドポイントにストリーミングするには、バケットとアクセス キーが必要です。 詳しくは、AWS のドキュメント「Amazon S3 バケットの作成、設定、操作」をご覧ください。 必ず、バケットへのパブリック アクセスをブロックして監査ログ情報を保護してください。

GitHub から監査ログのストリーミングを設定するには、次のものが必要です。

  • Amazon S3 バケットの名前
  • AWS アクセス キー ID
  • AWS 秘密鍵

アクセス キー ID と秘密鍵の作成またはアクセスについては、AWS ドキュメントの「Understanding and getting your AWS credentials」 (AWS 資格情報の理解と取得) を参照してください。

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise] 1. Enterprise アカウントのサイドバーで、 [設定] をクリックします。 1. [ 設定] で、 [監査ログ] をクリックします。

  2. [Audit log](監査ログ) の [Log streaming](ログ ストリーミング) をクリックします。 1. [Configure stream](ストリームの構成) ドロップダウンを選び、 [Amazon S3] をクリックします。

    ドロップダウン メニューから [Amazon S3] を選択する

  3. ストリームの設定を構成します。

    • [バケット] に、ストリーミング先のバケットの名前を入力します。 たとえば、auditlog-streaming-test のようにします。
    • [アクセス キー ID] に、アクセス キーの ID を入力します。 たとえば、ABCAIOSFODNN7EXAMPLE1 のようにします。
    • [シークレット キー] に、シークレット キーを入力します。 たとえば、aBcJalrXUtnWXYZ/A1MDENG/zPxRfiCYEXAMPLEKEY のようにします。
  4. GitHub で Amazon S3 エンドポイントに接続して書き込めることを確認するには、 [Check endpoint](エンドポイントのチェック) をクリックします。

    エンドポイントをチェックする 1. エンドポイントを正常に確認したら、 [保存] をクリックします。

AWS CloudTrail Lake との統合

監査ログの S3 ストリーミングを AWS CloudTrail Lake と統合することで、GitHub Enterprise Server からの監査ログは AWS アクティビティ ログと連結できます。 詳しくは、AWS CloudTrail ドキュメントか、aws-samples/aws-cloudtrail-lake-github-audit-log リポジトリの「GitHub 監査ログと CloudTrail オープン監査の統合」をご覧ください。

Azure Blob Storage へのストリーミングの設定

GitHub でのストリーミングを設定する前に、まず、Microsoft Azure でストレージ アカウントとコンテナーを作成しておく必要があります。 詳細については、Microsoft のドキュメント「Azure Blob Storage の概要」を参照してください。

GitHub でストリーミングを構成するには、SAS トークンの URL が必要です。

Microsoft Azure portal で次の操作を行います。

  1. [ホーム] ページで、 [ストレージ アカウント] をクリックします。
  2. [名前] で、使用するストレージ アカウントの名前をクリックします。
  3. [データ ストレージ] で、 [コンテナー] をクリックします。
  4. 使用するコンテナーの名前をクリックします。
  5. 左側のサイドバーの [設定] で、 [共有アクセス トークン] をクリックします。
  6. [アクセス許可] ドロップダウン メニューを選択し、CreateWrite を選択して他のすべてのオプションの選択を解除します。
  7. シークレット ローテーション ポリシーに準拠する有効期限を設定します。
  8. [SAS トークンおよび URL を生成] をクリックします。
  9. 表示される BLOB SAS URL フィールドの値をコピーします。 この URL を GitHub で使用します。

GitHub で次の操作を行います。1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise] 1. Enterprise アカウントのサイドバーで、 [設定] をクリックします。 1. [ 設定] で、 [監査ログ] をクリックします。

  1. [Audit log](監査ログ) の [Log streaming](ログ ストリーミング) をクリックします。

  2. [Configure stream] をクリックし、 [Azure Blob Storage] を選択します。

    ドロップダウン メニューから [Azure Blob Storage] を選択する

  3. 構成ページで、Azure でコピーした BLOB SAS URL を入力します。 [Container] フィールドは、その URL に基づいて自動入力されます。

    ストリーミングの設定を入力する

  4. [Check endpoint] をクリックして、GitHub で Azure Blob Storage エンドポイントに接続して書き込むことができることを確認します。

    エンドポイントをチェックする

  5. エンドポイントを正常に確認したら、 [保存] をクリックします。

Azure Event Hubs へのストリーミングの設定

GitHub でのストリーミングを設定する前に、まず、Microsoft Azure でイベント ハブ名前空間が必要です。 次に、その名前空間内にイベント ハブ インスタンスを作成する必要があります。 ストリーミングを設定するときに、このイベント ハブ インスタンスの詳細が必要になります。 詳細については、Microsoft のドキュメント「クイック スタート:Azure portal を使用したイベント ハブの作成」を参照してください。

イベント ハブに関する 2 つの情報 (インスタント名と接続文字列) が必要です。

Microsoft Azure portal で次の操作を行います。

  1. ページの上部にある [Microsoft Azure] の横にある検索ボックスを使用して、"Event Hubs" を検索します。

  2. [Event Hubs] を選択します。 イベント ハブの名前が一覧表示されます。

    イベント ハブの一覧

  3. ストリーミング先のイベント ハブの名前をメモします。

  4. 必要なイベント ハブをクリックします。 次に、左側のメニューで、 [共有アクセスポリシー] を選択します。

  5. ポリシーの一覧で共有アクセス ポリシーを選択するか、新しいポリシーを作成します。

    共有アクセス ポリシーの一覧

  6. [接続文字列 – 主キー] フィールドの右側にあるボタンをクリックして、接続文字列をコピーします。

    イベント ハブの接続文字列

GitHub で次の操作を行います。1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise] 1. Enterprise アカウントのサイドバーで、 [設定] をクリックします。 1. [ 設定] で、 [監査ログ] をクリックします。

  1. [Audit log](監査ログ) の [Log streaming](ログ ストリーミング) をクリックします。

  2. [Configure stream] をクリックし、 [Azure Event Hubs] を選択します。

    ドロップダウン メニューから [Azure Events Hubs] を選択する

  3. 構成ページで、次の項目を入力します。

    • Azure Event Hubs インスタンスの名前。
    • 接続文字列。

    ストリーミングの設定を入力する

  4. [Check endpoint] をクリックして、GitHub で Azure Events Hubs エンドポイントに接続して書き込むことができることを確認します。

    エンドポイントをチェックする

  5. エンドポイントを正常に確認したら、 [保存] をクリックします。

Google Cloud Storage へのストリーミングの設定

Google Cloud Storage へのストリーミングを設定するには、適切な資格情報とアクセス許可を使用して、Google Cloud にサービス アカウントを作成し、そのサービス アカウントの資格情報を認証に使用して GitHub Enterprise Server での監査ログのストリーミングを構成します。

  1. Google Cloud のサービス アカウントを作成します。 サービス アカウントのアクセス制御または IAM ロールを設定する必要はありません。 詳細については、Google Cloud のドキュメント「サービス アカウントの作成と管理」を参照してください。

  2. サービス アカウントの JSON キーを作成し、キーを安全に格納します。 詳細については、Google Cloud のドキュメント「サービス アカウント キーの作成と管理」を参照してください。

  3. バケットをまだ作成していない場合は、作成します。 詳細については、Google Cloud のドキュメント「ストレージ バケットの作成」を参照してください。

  4. バケットのストレージ オブジェクト作成者のロールをサービス アカウントに付与します。 詳細については、Google Cloud のドキュメント「クラウド IAM 権限を使用する」を参照してください。

  5. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise] 1. Enterprise アカウントのサイドバーで、 [設定] をクリックします。 1. [ 設定] で、 [監査ログ] をクリックします。

  6. [Audit log](監査ログ) の [Log streaming](ログ ストリーミング) をクリックします。

  7. [Configure stream] ドロップダウン メニューを選択し、 [Google Cloud Storage] をクリックします。

    [Configure stream] ドロップダウン メニューのスクリーンショット

  8. [Bucket] で、Google Cloud Storage バケットの名前を入力します。

    [Bucket] テキスト フィールドのスクリーンショット

  9. [JSON Credentials] で、サービス アカウントの JSON キーのファイルの内容全体を貼り付けます。

    [JSON Credentials] テキスト フィールドのスクリーンショット

  10. GitHub で Google Cloud Storage バケットに接続して書き込めることを確認するには、 [Check endpoint] をクリックします。

    [Check endpoint] ボタンのスクリーンショット

  11. エンドポイントを正常に確認したら、 [保存] をクリックします。

Splunk へのストリーミングの設定

監査ログを Splunk の HTTP Event Collector (HEC) エンドポイントにストリーミングするには、エンドポイントが HTTPS 接続を受け入れるように構成されていることを確認する必要があります。 詳細については、Splunk のドキュメント「Set up and use HTTP Event Collector in Splunk Web」 (Splunk Web で HTTP Event Collector を設定および作成する) を参照してください。

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise] 1. Enterprise アカウントのサイドバーで、 [設定] をクリックします。 1. [ 設定] で、 [監査ログ] をクリックします。

  2. [Audit log](監査ログ) の [Log streaming](ログ ストリーミング) をクリックします。

  3. [Configure stream] をクリックし、 [Splunk] を選択します。

    ドロップダウン メニューから [Splunk] を選択する

  4. 構成ページで、次の項目を入力します。

    • ストリーミング先のアプリケーションがホストされているドメイン。

      Splunk Cloud を使用している場合、Domainhttp-inputs-<host> である必要があります。ここで、host は、Splunk Cloud で使用するドメインです。 (例: http-inputs-mycompany.splunkcloud.com)。

    • アプリケーションでデータを受け入れるポート。

      Splunk Cloud を使用していて、ポート構成を変更していない場合、Port443 である必要があります。 Splunk Cloud の無料試用版を使用している場合、Port8088 である必要があります。

    • GitHub でサードパーティ アプリケーションに対する認証に使用できるトークン。

    ストリーミングの設定を入力する

  5. [Enable SSL verification] チェック ボックスはオンのままにします。

    監査ログは常に、暗号化されたデータとしてストリーミングされます。ただし、このオプションを選択すると、GitHub によって、イベントの配信前に Splunk インスタンスの SSL 証明書が検証されます。 SSL 検証は、イベントが URL エンドポイントに安全に配信されることを保証するために役立ちます。 このオプションの選択をオフにすることはできますが、SSL 検証を有効のままにすることをお勧めします。

  6. [Check endpoint] をクリックして、GitHub で Splunk エンドポイントに接続して書き込むことができることを確認します。 エンドポイントをチェックする 1. エンドポイントを正常に確認したら、 [保存] をクリックします。

監査ログのストリーミングの削除

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise] 1. Enterprise アカウントのサイドバーで、 [設定] をクリックします。 1. [ 設定] で、 [監査ログ] をクリックします。

  2. [Audit log](監査ログ) の [Log streaming](ログ ストリーミング) をクリックします。

  3. [Delete stream] をクリックします。

    ストリーミングを削除する

  4. 確認メッセージが表示されます。 [Delete stream] をクリックして確定します。