Skip to main content

Organization の Audit log をレビューする

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

Audit log にアクセスする

Audit logは、当月及び過去6ヶ月の間にOrganizationに影響するアクティビティによって生じたイベントをリストします。 Organization の Audit log にアクセスできるのはオーナーのみです。

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

  1. GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分の Organization] をクリックします。

    @octocat のプロファイル写真の下にあるドロップダウン メニューのスクリーンショット。 [Your organizations] (自分の組織) が濃いオレンジ色の枠線で囲まれています。

  2. 組織の隣の [設定] をクリックします。

  3. サイドバーの [アーカイブ] セクションで、 [ログ] をクリックしてから、 [監査ログ] をクリックします。

Audit log を検索する

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

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

  • アクションが実行された エンタープライズまたは組織
  • アクションを実行したユーザー (アクター)
  • アクションによって影響を受けたユーザー
  • アクションの対象となったリポジトリ
  • 実行されたアクションです
  • アクションが実行された国
  • アクションが発生した日時
  • 必要に応じて、アクションを実行したユーザー (アクター) の送信元 IP アドレス

テキストを使用してエントリを検索することはできません。 ただし、さまざまなフィルターを使用すれば検索クエリを作成できます。 ログを検索するときに使用される多くの演算子 (->< など) は、GitHub Enterprise Cloud 全体で検索するものと同じ形式です。 詳しくは、「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 を検索するだけでは機能しません。

ユーザーに基づく検索

actor 修飾子は、アクションを実行した人に基づいてイベントの範囲を指定できます。 たとえば次のような点です。

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

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

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

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

| カテゴリ名 | 説明 |------------------|------------------- | account | Organization アカウントに関連するすべてのアクティビティが含まれます。 | advisory_credit | GitHub Advisory Database のセキュリティ アドバイザリの共同作成者の与信に関連するすべてのアクティビティが含まれます。 詳細については、「About repository security advisories」を参照してください。 | auto_approve_personal_access_token_requests | fine-grained personal access token の組織の承認ポリシーに関連するアクティビティが含まれます。 詳細については、「Organization の個人用アクセス トークン ポリシーを設定する」を参照してください。 | billing | 組織の課金に関連するすべてのアクティビティが含まれます。 | business | エンタープライズのビジネス設定に関連するアクティビティが含まれます。 | | codespaces | Organization の codespace に関連するすべてのアクティビティが含まれます。 | | dependabot_alerts | 既存のリポジトリの Dependabot alertsに対する Organization レベルの設定アクティビティが含まれます。 詳しくは、「Dependabot アラートについて」を参照してください。 | dependabot_alerts_new_repos | Organization で作成された新しいリポジトリ内の Dependabot alertsの Organization レベルの構成アクティビティが含まれます。 | dependabot_security_updates | 既存のリポジトリ内の Dependabot security updatesの Organization レベルの構成アクティビティが含まれます。 詳しくは、「Configuring Dependabot security updates (Dependabot セキュリティ アップデートの構成)」を参照してください。 | dependabot_security_updates_new_repos | 組織で作成された新しいリポジトリ内の Dependabot security updates の組織レベルの構成アクティビティが含まれています。 | dependency_graph | リポジトリの依存関係グラフの組織レベルの構成アクティビティが含まれています。 詳しくは、「依存関係グラフについて」を参照してください。 | dependency_graph_new_repos | 組織で作成された新しいリポジトリの組織レベルの構成アクティビティが含まれています。 | discussion_post | チーム ページに投稿されたディスカッションに関連するすべてのアクティビティが含まれます。 | discussion_post_reply | チーム ページに投稿されたディスカッションへの返信に関連するすべてのアクティビティが含まれます。 | enterprise | エンタープライズ設定に関連するアクティビティが含まれます。 | | hook | Webhook に関連するすべてのアクティビティが含まれます。 | integration_installation | アカウント内にインストールされた統合に関連するアクティビティが含まれます。 | | integration_installation_request | Organization 内で使用するインテグレーションをオーナーが承認するよう求める、Organization メンバーからのリクエストに関連するすべてのアクティビティが含まれます。 | | ip_allow_list | Organization の IP 許可リストの有効化または無効化に関連するアクティビティが含まれます。 | ip_allow_list_entry | Organization に対する IP 許可リストのエントリの作成、削除、編集に関連するアクティビティが含まれます。 | issue | イシューの削除に関連するアクティビティが含まれます。 | marketplace_agreement_signature | GitHub Marketplace 開発者契約の署名に関連するすべてのアクティビティが含まれます。 | marketplace_listing | GitHub Marketplace のアプリの一覧表示に関連するすべてのアクティビティが含まれます。 | members_can_create_pages | 組織内のリポジトリの GitHub Pages サイトの発行の管理に関連するすべてのアクティビティが含まれます。 詳しくは、「Organization の GitHub Pages サイトの公開を管理する」を参照してください。 | | org | 組織のメンバーシップに関連するアクティビティが含まれます。 | org_credential_authorization | SAML シングル サインオンで使用する資格情報の承認に関連するすべてのアクティビティが含まれます。 | org_secret_scanning_automatic_validity_checks | secret scanning に対する自動有効性チェックの有効化と無効化に関連する組織レベルのアクティビティが含まれます。 詳しくは、「Organization のセキュリティおよび分析設定を管理する」を参照してください。 | org_secret_scanning_custom_pattern | secret scanning カスタム パターンに関連する組織レベルのアクティビティが含まれます。 詳しくは、「シークレット スキャンのカスタム パターンの定義」を参照してください。 | organization_default_label | Organization のリポジトリのデフォルト ラベルに関連するすべてのアクティビティが対象です。 | oauth_application | OAuth apps に関連するすべてのアクティビティが含まれます。 | packages | GitHub Packages に関連するすべてのアクティビティが含まれます。 | payment_method | Organization が GitHub に対して支払う方法に関連するすべてのアクティビティが含まれます。 | personal_access_token | Organization のfine-grained personal access tokenに関連するすべてのアクティビティが含まれます。 詳細については、「個人用アクセス トークンを管理する」を参照してください。 | profile_picture | 組織のプロファイル画像に関連するすべてのアクティビティが含まれます。 | project | プロジェクト ボードに関連するすべてのアクティビティが含まれます。 | protected_branch | 保護されたブランチに関連するすべてのアクティビティが対象です。 | repo | 組織が所有するリポジトリに関連するアクティビティが含まれます。 | repository_advisory |GitHub Advisory Database のセキュリティ アドバイザリに関連するリポジトリ レベルのアクティビティが含まれます。 詳しくは、「About repository security advisories」を参照してください。 | repository_content_analysis | プライベート リポジトリのデータ使用の有効化または無効化に関連するすべてのアクティビティが含まれます。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」を参照してください。 | repository_dependency_graph | プライベート リポジトリの依存関係グラフの有効化または無効化に関連するリポジトリレベルのアクティビティが含まれます。 詳細については、「依存関係グラフについて」を参照してください。 | 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 に関連するすべてのアクティビティが含まれます。 | repository_vulnerability_alerts |Dependabot alerts のリポジトリ レベルの構成アクティビティが含まれます。 | role | カスタム リポジトリ ロールに関連するすべてのアクティビティが含まれます。 | secret_scanning | 既存のリポジトリでの secret scanning に関連する組織レベルの構成アクティビティが含まれます。 詳しくは、「シークレット スキャンについて」を参照してください。 | secret_scanning_new_repos | Organization で作成された新しいリポジトリの secret scanning の Organization レベル構成が含まれます。 | restore_member |組織の所有者がメンバーを復帰したときにトリガーされます。 詳細については「組織の以前のメンバーの回復」を参照してください。| |sponsors| スポンサー ボタンに関連するすべてのイベントが含まれています (「リポジトリにスポンサーボタンを表示する」を参照) |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 月の月に発生したすべてのイベントを検索します。

: 監査ログには、当月と過去 6 か月の毎日のデータが含まれます。

場所に基づく検索

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

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

Audit log をエクスポートする

[エクスポート] ドロップダウン メニューを使うと、ログを JSON データまたはコンマ区切り値 (CSV) ファイルとしてエクスポートできます。

エクスポートの結果をフィルター処理するには、 [エクスポート] ドロップダウン メニューを使う前に、以下のサポートされている修飾子を 1 つ以上使って検索してください。

修飾子値の例
actionteam.create
actoroctocat
usercodertocat
orgocto-org
repoocto-org/documentation
created2019-06-01

注: Git イベントをエクスポートする場合、Web ブラウザー、REST API、または GraphQL API から開始されたイベントは含まれません。 たとえば、ユーザーが Web ブラウザーで pull request をマージすると、変更はベース ブランチにプッシュされますが、そのプッシュの Git イベントはエクスポートに含まれません。

エクスポートされたログの出力ファイルには、以下のキーと値があります。

Key値の例
actionteam.create
actoroctocat
usercodertocat
actor_location.country_codeUS
orgocto-org
repoocto-org/documentation
created_at1429548104000 (タイムスタンプは Epoch からの経過時間をミリ秒で示します。)
data.emailoctocat@nowhere.com
data.hook_id245
data.events["issues", "issue_comment", "pull_request", "pull_request_review_comment"]
data.events_were["push", "pull_request", "issues"]
data.target_loginoctocat
data.old_userhubot
data.teamocto-org/engineering

Audit log API を使用する

監査ログは、GraphQL API または REST API を使用して操作できます。これらの API を介して read:audit_log スコープを使用して、監査ログにアクセスできます。

注: 監査ログ API を使用するには、組織で GitHub Enterprise Cloud を使用している必要があります。 GitHub Enterprise Cloud を無料で試す方法の詳細については、「GitHub Enterprise Cloud の試用版を設定する」を参照してください。

GraphQL API を使用する

知的財産が確実にセキュアに保たれるようにし、組織のコンプライアンスを維持するために、Audit log GraphQL API を使って監査ログのデータのコピーを保持し、モニタリングできます: - 組織またはリポジトリの設定へのアクセス

  • アクセス許可の変更
  • 組織、リポジトリ、またはチームの追加または削除されたユーザー
  • 管理者に昇格されるユーザー
  • GitHub App のアクセス許可の変更
  • API 要求 (有効にする必要があります)

GraphQL API を使用して Git イベントを取得することはできませんので、ご注意ください。 Git イベントを取得するには、代わりに REST API を使用してください。 詳細については、「gitカテゴリ アクション」を参照してください。

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

たとえば、GraphQL にリクエストして、Organization に新しく追加された Organization メンバー全員を表示できます。 詳しくは、「インターフェイス」をご覧ください。

REST API を使用して

知的財産が確実にセキュアに保たれるようにし、組織のコンプライアンスを維持するために、Audit log REST API を使って監査ログのデータのコピーを保持し、モニタリングできます: - 組織またはリポジトリの設定へのアクセス

  • アクセス許可の変更
  • 組織、リポジトリ、またはチームの追加または削除されたユーザー
  • 管理者に昇格されるユーザー
  • GitHub App のアクセス許可の変更
  • API 要求 (有効にする必要があります)

監査ログには、Git イベントが 7 日間保持されます。 これは、最大 7 か月まで保持される他の監査ログ イベントよりも短い期間です。

デフォルトでは、過去3ヶ月のイベントのみが返されます。 さらに古いイベントを含めるには、クエリでタイムスタンプを指定しなければなりません。

監査ログ REST API の詳細については、「組織」を参照してください。

参考資料