[GitHub] 使用 Audit log 找出誰修改了 GitHub 組織的設定

[GitHub] 使用 Audit log 找出誰修改了 GitHub 組織的設定

今天突然有人回報沒有權限存取 GitHub 專案,

不過同事間互相問了一下,似乎也沒有人去動了什麼。

稍微檢查了一下,GitHub organization (組織) 下的 repo 預設權限 (permission),

從 Write 被改成了 Read,不過不知道是誰改的…

 

看了一下,GitHub 有 Audit log 可以檢視所有的變更

(現在覺得這個東西真的很重要,尤其是出事的時候…)

到 GitHub organization > Settings,左側欄選 Logs > Audit log,

就可以看到這個組織下面,大家做過的所有事情,

不管是建立 PR、修改設定等等都看的到:

 

不過當然全部都列出來時,也很難找到想要的事件…

如果很明確知道要找的事件類型的話,可以在 Filters 欄輸入想過濾的事件,

也可以參考 Reviewing the audit log for your organization 來查可用的語法。

 

但像我也不太確定「修改 organization 的 repo 預設權限」這到底算是哪一種事件,

只大概知道可能是前一天到今天發生的事 (因為是今天開始有問題回報),

所以用蠢一點的方法來過濾:把不要的事件過濾掉~

 

像是我看到 Audit log 裡有一堆 repo.register_self_hosted_runner 的事件,

這明顯和我在找的無關,

就可以用 -action:repo.register_self_hosted_runner 把它排除。

陸續把一些無關的排除後,我的 Filter 變成了這麼長:

-action:repo.register_self_hosted_runner -action:pull_request_review -action:issue_comment -action:org.update_actions_secret -action:pull_request -action:workflows -action:repo.update_actions_secret

 

這時也終於找到了正確的事件 org.update_default_repository_permission

 

找到人之後,就可以確認修改的原因啦~

Audit log 真的很重要呢~~

(本頁面已被瀏覽過 4 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料