Audit log にアクセスする
メモ
Webhook は、特定のユース ケースの監査ログまたは API ポーリングの代替策として適している場合があります。 Webhook は、リポジトリ、Organization、または Enterprise で特定のイベントが発生したときに GitHub がサーバーに通知する方法です。 Enterprise、Organization、またはリポジトリで特定のイベントが発生したときに学習してログを記録するだけの場合、API や監査ログの検索と比較して、Webhook がより効率的である可能性があります。 「Webhook ドキュメント」をご覧ください。
監査ログには、過去 180 日以内に Organization に影響を及ぼすアクティビティによってトリガーされたイベントがリストされます。 Organization の Audit log にアクセスできるのはオーナーのみです。
既定では、過去 3 か月のイベントのみが表示されます。 古いイベントを表示するには、created パラメーターを使って日付範囲を指定します。 「検索構文を理解する」をご覧ください。
-
GitHub の右上隅にあるプロフィール画像をクリックしてから、[ Your organizations] をクリックします。
-
組織をクリックして選択します。
-
Organization 名の下で、[ Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![組織のプロファイルのタブのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で囲まれています。](/assets/cb-49309/images/help/discussions/org-settings-global-nav-update.png)
-
サイドバーの [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:octocatはoctocatによって実行されたすべてのイベントを検索します。actor:octocat actor:Copilotを使うと、octocatまたはCopilotによって実行されたすべてのイベントを検索できます。-actor:CopilotはCopilotによって実行されたすべてのイベントを除外します。
使用できるのは GitHub のユーザー名のみであり、個人の実名ではないことに注意してください。
実行されたアクションに基づく検索
特定のイベントを検索するには、クエリで action 修飾子を使用します。 監査ログに一覧表示されているアクションは、さまざまなカテゴリにグループ化されます。 各カテゴリの全イベントの一覧については、「Organization の監査ログ イベント」を参照してください。
| カテゴリ名 | 説明 |
|---|---|
auto_approve_ | 組織のfine-grained personal access tokenの承認ポリシーに関連するアクティビティが含まれています。 詳しくは、「組織の個人用アクセス トークン ポリシーを設定する」をご覧ください。 |
code-scanning | 組織のコードスキャンアラートに関連する全ての活動が含まれています。 |
dependabot_alerts | 既存のリポジトリ内の Dependabot alerts の組織レベルの構成アクティビティが含まれています。 詳しくは、「Dependabot アラート」をご覧ください。 |
dependabot_alerts_ | 組織で作成された新しいリポジトリの Dependabot alerts の組織レベルの構成アクティビティが含まれています。 |
dependabot_security_ | 既存のリポジトリ内の Dependabot security updates の組織レベルの構成アクティビティが含まれています。 詳しくは、「Dependabot セキュリティの更新の構成」をご覧ください。 |
dependabot_security_ | 組織で作成された新しいリポジトリの Dependabot security updates の組織レベルの構成アクティビティが含まれています。 |
discussion_post | チーム ページに投稿されたディスカッションに関連するすべてのアクティビティが含まれます。 |
discussion_post_ | チーム ページに投稿されたディスカッションへの返答に関連するすべてのアクティビティが含まれます。 |
enterprise | Enterprise 設定に関連するアクティビティが含まれます。 |
hook | webhookに関連するすべてのアクティビティを含みます。 |
integration_installation | アカウント内にインストールされた統合に関連するアクティビティが含まれます。 |
integration_installation_ | Organization 内で使用するインテグレーションをオーナーが承認するよう求める、Organization メンバーからのリクエストに関連するすべてのアクティビティが含まれます。 |
issue | 問題の削除に関連するアクティビティは含まれています。 |
members_can_create_ | 組織内のリポジトリの GitHub Pages サイトの発行の管理に関連するすべてのアクティビティが含まれます。 詳しくは、「Organization の GitHub Pages サイトの公開を管理する」をご覧ください。 |
org | 組織メンバーシップに関連する活動が含まれます。 |
org_secret_scanning_ | |
| secret scanningの自動有効性チェックの有効化と無効化に関連する組織レベルのアクティビティが含まれています。 詳しくは、「カスタム セキュリティ構成を作成する」をご覧ください。 | |
org_secret_scanning_ | |
| secret scanningカスタム パターンに関連する組織レベルのアクティビティが含まれています。 詳しくは、「シークレット スキャンのカスタム パターンの定義」をご覧ください。 | |
organization_ | Organization のリポジトリのデフォルト ラベルに関連するすべてのアクティビティが対象です。 |
oauth_application | |
| OAuth appsに関連するすべてのアクティビティが含まれます。 | |
packages | |
| GitHub Packagesに関連するすべてのアクティビティが含まれます。 | |
personal_access_ | 組織内の fine-grained personal access tokenに関連するアクティビティが含まれています。 詳しくは、「個人用アクセス トークンを管理する」をご覧ください。 |
profile_picture | 組織のプロフィール画像に関連するすべてのアクティビティが含まれます。 |
project | |
| プロジェクトに関連するすべてのアクティビティが含まれます。 | |
protected_branch | 保護されたブランチに関連するすべてのアクティビティが対象です。 |
repo | 貴社が所有するリポジトリに関連するアクティビティを含みます。 |
repository_secret_ | |
| secret scanningに関連するリポジトリ レベルのアクティビティが含まれています。 詳しくは、「シークレット スキャン」をご覧ください。 | |
repository_secret_ | |
| secret scanningの自動有効性チェックの有効化と無効化に関連するリポジトリ レベルのアクティビティが含まれています。 詳しくは、「リポジトリのシークレット スキャンの有効化」をご覧ください。 | |
repository_secret_ | |
| secret scanningカスタム パターンに関連するリポジトリ レベルのアクティビティが含まれています。 詳しくは、「シークレット スキャンのカスタム パターンの定義」をご覧ください。 | |
repository_secret_ | |
| secret scanningのカスタム パターンのプッシュ保護に関連するリポジトリ レベルのアクティビティが含まれています。 詳しくは、「シークレット スキャンのカスタム パターンの定義」をご覧ください。 | |
repository_secret_ | |
| secret scanningプッシュ保護に関連するリポジトリ レベルのアクティビティが含まれています。 詳しくは、「プッシュプロテクション」をご覧ください。 | |
repository_vulnerability_ | |
| [ | |
| Dependabot alerts | |
| ](/code-security/concepts/supply-chain-security/dependabot-alerts)に関連するすべてのアクティビティが含まれます。 | |
role | |
| カスタム リポジトリ ロールに関連するすべてのアクティビティが含まれます。 | |
secret_scanning | 既存のリポジトリ内の secret scanning の組織レベルの構成アクティビティが含まれています。 詳しくは、「シークレット スキャン」をご覧ください。 |
secret_scanning_ | 組織で作成された新しいリポジトリの 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 にリクエストを送信して、組織に新しく追加されたすべてのメンバーを確認できます。 詳細については、「企業管理」を参照してください。