見出し画像

GitHubのメンバーをGASでサクッと抽出する方法

今日の課題

会社で管理しているGitHubに対する権限付与や管理って難しいですよね。GitHubアカウントとメールアドレスが紐づかなかったり、本人を連想しにくいアカウント名になっていることが多かったりと…🥺

実は会社管理Organizations内のTeamsやレポジトリへの招待を以前はメールアドレスで行っていました。このため、一度棚卸を行うこととなりました。

GUIでリストアップするのは大変なので、GitHub APIを利用してMemberおよびoutside collaboratorを一覧取得するGASを書いてみました✌️

GASはこちら

GitHub Organizationsの管理者権限を持っているアカウントでTokenを発行しないとたぶんダメ(未検証です🙀)

その後は?

まずは作成されたリストをもとに社内でヒアリングし、すでにアクセスが必要でない人(退職者含む👻)をremoveしていきました。

また、棚卸しの際には社員のみなさんに誰が利用しているかをメールアドレスを記載してもらって明確にし、kintoneにGitHubアカウント管理用のアプリを作り、社員名簿と紐づけるようにしました。

kintoneについてはこちらの記事にまとめました。

もちろん、情シスが行っていたメールアドレスでの招待はこの棚卸し開始時は即時停止し、GitHubアカウントによる招待へと運用見直しを行いました。

申請者の負担が少し増えてしまいましたが、ソフトウェアやアプリを扱う会社にとっては、GitHubという重要なシステムを守ることが大事であること。後追いできない状態を放置すると退職者による不要なアクセス権が放置されかねないことを丁寧に説明することで一定の理解をいただけました。

実は今回のGitHubと同じ時期に、DeployGateというシステムについても同様の課題があり、メールアドレスでの招待からDeployGateアカウントでの招待に切り替えています。

結論
メールアドレスで追えないシステムのアカウント管理は入り口が大事
出口で管理しようとすると多大な労力がかかる

この記事が気に入ったらサポートをしてみませんか?