🐱

【git】Personal access token発行時はPermissionに気をつける

2024/10/06に公開

github pages を作ってみたいなぁと思い、初めてプライベートでgithubを触り始めました。
リモートリポジトリと接続するためにpersonal access tokenを発行したのですが、誤操作でpermissionの設定をしていない状態で発行されてしまい、接続に苦戦しました・・・
戒めも込めてメモを残します。

Personal access tokenについては以下です。
https://docs.github.com/ja/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens

今回は fine-grained personal access token を発行しており、Personal access tokens (classic) については整理していないため、後者についてはマッチしない情報かもしれません。

personal access token でつまづいたところ

token発行の際に、「Permission」の項目をそれぞれ選択しなかったため、ターミナルで接続しようとすると403エラーが発生しました。

https://docs.github.com/ja/enterprise-cloud@latest/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors

記事の冒頭には、エラーが生じる要因が書かれています。
Gitは入れたばかりなので、太字にしてある後者に心当たりがありました。

Git で HTTPS を使用する際によく生じるエラーがいくつかあります。 これらのエラーは通常、古いバージョンの Git を使用しているか、もしくはリポジトリへのアクセス権を持っていないことが原因です。

対処法

Permissionで必要な設定を行う

Permissionでは、さまざまな機能に対して最大以下3種類の中から権限を指定できます。

  • No access(アクセス不可)
  • Read-only(読み取りのみ可)
  • Read and write(読み書き可)※一部の項目は選択できない

状況によって、どの項目をどの権限に設定すべきか大きく変わると思うので、具体的な設定項目の説明は省きますが、以下から確認できます。
https://docs.github.com/ja/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens?apiVersion=2022-11-28#repository-permissions-for-actions

また、最悪誤操作で設定してしまった場合でも、fine-graind-tokensで設定を編集できます👍

感想

誤操作は気をつけた方が良いですね。わかってはいるけれど、雑な人間はこれが結構難しい・・・
また、面倒だからと細かな設定を読み飛ばすのもやめましょう。
(学生時代の私はそんな調子で何度か困ったので、反省しました。)

Discussion