Skip to main content

Enterprise Server 3.22 は、現在リリース候補として使用できます。

あなたの組織の監査ログを確認する

Audit log により、Organization の管理者は Organization のメンバーによって行われたアクションをすばやくレビューできます。 これには、誰がいつ何のアクションを実行したかなどの詳細が残されます。

Audit log にアクセスする

メモ

Webhook は、特定のユース ケースの監査ログまたは API ポーリングの代替策として適している場合があります。 Webhook は、リポジトリ、Organization、または Enterprise で特定のイベントが発生したときに GitHub がサーバーに通知する方法です。 Enterprise、Organization、またはリポジトリで特定のイベントが発生したときに学習してログを記録するだけの場合、API や監査ログの検索と比較して、Webhook がより効率的である可能性があります。 「Webhook ドキュメント」をご覧ください。

監査ログには、過去 180 日以内に Organization に影響を及ぼすアクティビティによってトリガーされたイベントがリストされます。 Organization の Audit log にアクセスできるのはオーナーのみです。

既定では、過去 3 か月のイベントのみが表示されます。 古いイベントを表示するには、created パラメーターを使って日付範囲を指定します。 「検索構文を理解する」をご覧ください。

  1. GitHub の右上隅にあるプロフィール画像をクリックしてから、[ Your organizations] をクリックします。

  2. 組織をクリックして選択します。

  3. Organization 名の下で、[ Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    組織のプロファイルのタブのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で囲まれています。

  4. サイドバーの [Archive] セクションで、[ Logs] をクリックしてから、[Audit log] をクリックします。

Audit log を検索する

各監査ログ エントリの名前は、イベントのカテゴリと、それに続く操作タイプで構成されます。 たとえば、repo.create エントリは repo カテゴリに対する create 操作を意味します。

各 Audit log エントリには、次のようなイベントに関する適切な情報が表示されます:

  • アクションが実行された エンタープライズまたは組織
  • アクションを実行したユーザー (アクター)
  • アクションによって影響を受けたユーザー
  • アクションの対象となったリポジトリ
  • 実行されたアクションです
  • アクションが実行された国
  • アクションが発生した日時
  • アクションを実行したユーザー (アクター) の SAML SSO および SCIM ID
  • Web UI 以外のアクションの場合、ユーザー (アクター) が認証した方法

テキストを使用してエントリを検索することはできません。 ただし、さまざまなフィルターを使用すれば検索クエリを作成できます。 ログにクエリを実行するときに使用される多くの演算子 (->< など) は、GitHub 全体で検索するときのものと同じ形式です。 詳しくは、「GitHubでの検索について」をご覧ください。

操作に基づく検索

operation 修飾子は、アクションを特定の操作の種類に限定するときに使ってください。 たとえば次のような点です。

  • operation:access は、リソースがアクセスされたすべてのイベントを検索します。
  • operation:authentication は、認証イベントが実行されたすべてのイベントを検索します。
  • operation:create は、リソースが作成されたすべてのイベントを検索します。
  • operation:modify は、既存のリソースが変更されたすべてのイベントを検索します。
  • operation:remove は、既存のリソースが削除されたすべてのイベントを検索します。
  • operation:restore は、既存のリソースが復元されたすべてのイベントを検索します。
  • operation:transfer は、既存のリソースが移動されたすべてのイベントを検索します。

リポジトリに基づく検索

repo 修飾子は、アクションを特定のリポジトリに限定するときに使ってください。 次に例を示します。

  • repo:"my-org/our-repo" は、my-org 組織内の our-repo リポジトリで発生したすべてのイベントを検索します。
  • repo:"my-org/our-repo" repo:"my-org/another-repo" は、my-org組織内の our-repo および another-repo リポジトリで発生したすべてのイベントを検索します。
  • -repo:"my-org/not-this-repo" は、my-org 組織内の not-this-repo リポジトリで発生したすべてのイベントを除外します。

repo 修飾子内にアカウント名を含め、引用符で囲むか、\/ をエスケープする必要があることに注意してください。そして、repo:our-repo または repo:my-org/our-repo を検索するでけでは機能しません。

アクターに基づく検索

actor修飾子は、アクションを実行したユーザーまたはエージェントに基づいてイベントのスコープを設定できます。 たとえば次のような点です。

  • actor:octocatoctocat によって実行されたすべてのイベントを検索します。
  • actor:octocat actor:Copilot を使うと、octocat または Copilot によって実行されたすべてのイベントを検索できます。
  • -actor:CopilotCopilot によって実行されたすべてのイベントを除外します。

使用できるのは GitHub のユーザー名のみであり、個人の実名ではないことに注意してください。

実行されたアクションに基づく検索

特定のイベントを検索するには、クエリで action 修飾子を使用します。 監査ログに一覧表示されているアクションは、さまざまなカテゴリにグループ化されます。 各カテゴリの全イベントの一覧については、「Organization の監査ログ イベント」を参照してください。

カテゴリ名説明
auto_approve_personal_access_token_requests組織のfine-grained personal access tokenの承認ポリシーに関連するアクティビティが含まれています。 詳しくは、「組織の個人用アクセス トークン ポリシーを設定する」をご覧ください。
code-scanning組織のコードスキャンアラートに関連する全ての活動が含まれています。
dependabot_alerts既存のリポジトリ内の Dependabot alerts の組織レベルの構成アクティビティが含まれています。 詳しくは、「Dependabot アラート」をご覧ください。
dependabot_alerts_new_repos組織で作成された新しいリポジトリの Dependabot alerts の組織レベルの構成アクティビティが含まれています。
dependabot_security_updates既存のリポジトリ内の Dependabot security updates の組織レベルの構成アクティビティが含まれています。 詳しくは、「Dependabot セキュリティの更新の構成」をご覧ください。
dependabot_security_updates_new_repos組織で作成された新しいリポジトリの Dependabot security updates の組織レベルの構成アクティビティが含まれています。
discussion_postチーム ページに投稿されたディスカッションに関連するすべてのアクティビティが含まれます。
discussion_post_replyチーム ページに投稿されたディスカッションへの返答に関連するすべてのアクティビティが含まれます。
enterpriseEnterprise 設定に関連するアクティビティが含まれます。
hookwebhookに関連するすべてのアクティビティを含みます。
integration_installationアカウント内にインストールされた統合に関連するアクティビティが含まれます。
integration_installation_requestOrganization 内で使用するインテグレーションをオーナーが承認するよう求める、Organization メンバーからのリクエストに関連するすべてのアクティビティが含まれます。
issue問題の削除に関連するアクティビティは含まれています。
members_can_create_pages組織内のリポジトリの GitHub Pages サイトの発行の管理に関連するすべてのアクティビティが含まれます。 詳しくは、「Organization の GitHub Pages サイトの公開を管理する」をご覧ください。
org組織メンバーシップに関連する活動が含まれます。
org_secret_scanning_automatic_validity_checks
secret scanningの自動有効性チェックの有効化と無効化に関連する組織レベルのアクティビティが含まれています。 詳しくは、「カスタム セキュリティ構成を作成する」をご覧ください。
org_secret_scanning_custom_pattern
secret scanningカスタム パターンに関連する組織レベルのアクティビティが含まれています。 詳しくは、「シークレット スキャンのカスタム パターンの定義」をご覧ください。
organization_default_labelOrganization のリポジトリのデフォルト ラベルに関連するすべてのアクティビティが対象です。
oauth_application
OAuth appsに関連するすべてのアクティビティが含まれます。
packages
GitHub Packagesに関連するすべてのアクティビティが含まれます。
personal_access_token組織内の fine-grained personal access tokenに関連するアクティビティが含まれています。 詳しくは、「個人用アクセス トークンを管理する」をご覧ください。
profile_picture組織のプロフィール画像に関連するすべてのアクティビティが含まれます。
project
プロジェクトに関連するすべてのアクティビティが含まれます。
protected_branch保護されたブランチに関連するすべてのアクティビティが対象です。
repo貴社が所有するリポジトリに関連するアクティビティを含みます。
repository_secret_scanning
secret scanningに関連するリポジトリ レベルのアクティビティが含まれています。 詳しくは、「シークレット スキャン」をご覧ください。
repository_secret_scanning_automatic_validity_checks
secret scanningの自動有効性チェックの有効化と無効化に関連するリポジトリ レベルのアクティビティが含まれています。 詳しくは、「リポジトリのシークレット スキャンの有効化」をご覧ください。
repository_secret_scanning_custom_pattern
secret scanningカスタム パターンに関連するリポジトリ レベルのアクティビティが含まれています。 詳しくは、「シークレット スキャンのカスタム パターンの定義」をご覧ください。
repository_secret_scanning_custom_pattern_push_protection
secret scanningのカスタム パターンのプッシュ保護に関連するリポジトリ レベルのアクティビティが含まれています。 詳しくは、「シークレット スキャンのカスタム パターンの定義」をご覧ください。
repository_secret_scanning_push_protection
secret scanningプッシュ保護に関連するリポジトリ レベルのアクティビティが含まれています。 詳しくは、「プッシュプロテクション」をご覧ください。
repository_vulnerability_alert
[
Dependabot alerts
](/code-security/concepts/supply-chain-security/dependabot-alerts)に関連するすべてのアクティビティが含まれます。
role
カスタム リポジトリ ロールに関連するすべてのアクティビティが含まれます。
secret_scanning既存のリポジトリ内の secret scanning の組織レベルの構成アクティビティが含まれています。 詳しくは、「シークレット スキャン」をご覧ください。
secret_scanning_new_repos組織で作成された新しいリポジトリの secret scanning の組織レベルの構成アクティビティが含まれています。
team組織内のチームに関連するすべてのアクティビティが含まれます。
workflows
GitHub Actions ワークフローに関連するアクティビティが含まれています。

次の用語を使用すれば、特定の一連の行動を検索できます。 次に例を示します。

  • action:team は、チーム カテゴリ内でグループ化されたすべてのイベントを検索します。
  • -action:hook は、Webhook カテゴリのすべてのイベントを除外します。

各カテゴリには、フィルタできる一連の関連アクションがあります。 次に例を示します。

  • action:team.create は、チームが作成されたすべてのイベントを検索します。
  • -action:hook.events_changed は、Webhook 上のイベントが変更されたすべてのイベントを除外します。

アクション時間に基づく検索

created 修飾子を使用して、発生した日時に基づいて監査ログ内のイベントをフィルター処理します。 日付の書式設定は、ISO8601 標準の YYYY-MM-DD (年-月-日) に従う必要があります。 日付の後にオプションの時刻情報 THH:MM:SS+00:00 を追加して、時間、分、秒で検索することもできます。 これは、T の後に HH:MM:SS (時-分-秒)、UTC オフセット (+00:00) が続きます。

日付に対して検索を行う場合、結果をさらにフィルタリングするためにより大きい、より小さい、範囲の修飾子を利用できます。 詳しくは、「検索構文を理解する」をご覧ください。

次に例を示します。

  • created:2014-07-08 は、2014 年 7 月 8 日に発生したすべてのイベントを検索します。
  • created:>=2014-07-08 は、2014 年 7 月 8 日またはそれ以降に発生したすべてのイベントを検索します。
  • created:<=2014-07-08 は、2014 年 7 月 8 日またはそれより前に発生したすべてのイベントを検索します。
  • created:2014-07-01..2014-07-31 は、2014 年 7 月の月に発生したすべてのイベントを検索します。

メモ

監査ログには、過去 180 日間のデータが含まれています。

場所に基づく検索

修飾子 country を使用すると、発信元の国に基づいて監査ログ内のイベントをフィルター処理できます。 国の 2 文字のショートコードまたはフル ネームを使用できます。 名前に空白がある国は引用符で囲む必要があることに注意してください。 次に例を示します。

  • country:de は、ドイツで発生したすべてのイベントを検索します。
  • country:Mexico は、メキシコで発生したすべてのイベントを検索します。
  • country:"米国"はアメリカ合衆国で発生したイベントをすべて検出します。

Audit log API を使用する

GraphQL API を使用して監査ログを操作できます。 read:audit_log スコープを使って、API 経由で監査ログにアクセスできます。

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

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

GraphQL のレスポンスには、90 日から 120 日までのデータを含めることができます。

たとえば、GraphQL にリクエストを送信して、組織に新しく追加されたすべてのメンバーを確認できます。 詳細については、「企業管理」を参照してください。

参考資料