Git用のGitHub個人アクセストークン
GitHub個人アクセストークン
GitHub個人アクセストークン:作成、gitでの使用、取り消し | We.Inc
簡単なチェッカーでfine-grainedかclassicかを選び、トークンを作成して、HTTPSでのgitに使い、認証情報ヘルパーに保存し、有効期限と取り消しに対応する方法を解説します。
個人アクセストークンは、gitがHTTPSでGitHubと通信するときや、スクリプトがAPIを呼び出すときに、GitHubのパスワードの代わりになるものです。設定、開発者設定、個人アクセストークンの順に開いて作成し、classicの機能が必要でない限りfine-grainedを選び、gitがパスワードを求めたときに貼り付けます。
fine-grainedトークンとclassicトークンの比較
- 範囲
- 選んだリポジトリに、領域ごとの権限を付与
- アクセスできるすべてのリポジトリにまたがる広いスコープ
- GitHubの推奨
- デフォルトで使う
- fine-grainedで対応できない場合だけ
- メンバーではない公開リポジトリ
- コントリビュートできない
- 書き込みできる
- アカウントあたりの上限
- ドキュメントに上限の記載なし
GitHubはHTTPSでのgitにアカウントのパスワードを受け付けなくなったため、プライベートリポジトリのクローンやサーバーからのpushには、トークン、SSH鍵、認証情報マネージャーのいずれかが必要です。このページでは、トークンの種類の選び方と作成場所を示し、毎回貼り付ける代わりにマシン上で安全に保管する方法を説明します。
- チェッカーの質問に答えて、fine-grainedトークンで目的を果たせるかを確認します。
- プロフィール画像を開き、設定、開発者設定、個人アクセストークンと進み、チェッカーが勧める種類を選びます。
- 有効期限を設定し、リポジトリと権限を選んで生成し、すぐにトークンをコピーします。GitHubがトークンを表示するのは作成時だけです。
- HTTPSでのgitのパスワードとして使うか、より良い方法として、GitHub CLIかGit Credential Managerで一度サインインし、トークンを保存させましょう。
- 各トークンには1つの用途だけを持たせ、その用途に必要な最小限のリポジトリと権限にしましょう。漏えいしても影響を最小限にできます。
- 必ず有効期限を設定しましょう。期限が切れる前にカレンダーで通知しておけば、金曜日にデプロイが壊れるよりずっとましです。
- トークンをリポジトリやgistに入れてはいけません。GitHubは公開リポジトリにpushされたトークンを見つけると取り消しますが、プライベートリポジトリでも漏えいであることに変わりはありません。
- サーバーやCIでは、自分のアカウントに結び付いた個人トークンより、デプロイキーやプラットフォーム独自の短期間の認証情報を使いましょう。
よくある質問
gitでパスワード認証はサポートされていないと表示されるのはなぜですか?
GitHubは、HTTPSでのgitにアカウントのパスワードを受け付けなくなりました。gitがパスワードを求めたら代わりに個人アクセストークンを貼り付けるか、SSH、GitHub CLI、Git Credential Managerに切り替えましょう。
コードをpushするには、fine-grainedトークンにどの権限が必要ですか?
リポジトリを選び、リポジトリの権限でContentsを読み取りと書き込みに設定します。Pull requestsやIssuesなど、ほかの権限はスクリプトが必要とする場合だけ追加しましょう。
個人アクセストークンには有効期限がありますか?
作成時に有効期限を選び、組織は最大期間を強制できます。それとは別に、GitHubは1年間使われていない個人アクセストークンを自動的に取り消します。
トークンを取り消すには?
設定、開発者設定、個人アクセストークンと進み、トークンを開いて削除します。それを使っているgitのリモートやスクリプトはすぐに動かなくなるので、保存していたすべての場所で置き換えましょう。
トークンとSSHのどちらを使うべきですか?
どちらもgitで使えます。SSH鍵は削除しない限り期限切れにならず、自分のコンピューターに向いています。トークンは、HTTPSしか使えないネットワーク、APIも呼び出すスクリプト、自動で期限切れにしたい場合に向いています。
貼り付ける代わりにトークンを保存する
- GitHub自身は、認証をGitHub CLIかGit Credential Managerに任せることを勧めています。gh auth loginを実行してHTTPSを選べば、それ以降はクリップボードにトークンを置かなくてもgitコマンドが認証されます。
- Git Credential ManagerはGit for Windowsに同梱されており、macOSとLinuxにもインストールできます。認証情報をシステムの安全な保管場所に保存し、二要素認証のサインインをブラウザー経由で処理します。
組織がトークンの承認を求める場合がある
- 組織は、fine-grainedトークンに承認を必須にしたり、制限したり、classicトークンをブロックしたりできます。トークンが個人のリポジトリでは使えるのに会社のリポジトリでは使えない場合は、組織のオーナーにポリシーを確認しましょう。
gitでトークンを使う
GitHub CLIで一度だけサインインする
GitHub.com、HTTPSの順に選び、ブラウザーでサインインします。CLIが、保存した認証情報を使うようにgitを設定します。
gitがパスワードを求めたらトークンを貼り付ける
GitHubのユーザー名を入力し、パスワードとしてトークンを貼り付けます。その後は認証情報ヘルパーで保存できます。
ディスクに保存せずにスクリプトでトークンを使う
トークンを環境変数から読み込めば、スクリプトファイルにもリポジトリのリモートURLにも現れません。
- メンバーではない公開リポジトリにコントリビュートする
- 外部コラボレーターとして組織のリポジトリで作業する
- 1つのトークンで複数の組織のリポジトリにアクセスする
- GitHub Packagesを使う
- Checks APIを使う
どの種類のトークンが必要?
トークンでやりたいことにチェックを入れてください:
fine-grainedトークンで対応できます。GitHubはこれをデフォルトとして推奨しています。
次の用途にはclassicトークンが必要です:{v}。スコープは最小限にし、有効期限を設定しましょう。
作成する場所
Settings > Developer settings > Personal access tokens > Fine-grained tokens > Generate new token
Settings > Developer settings > Personal access tokens > Tokens (classic) > Generate new token
無料で始める · クレジットカード不要
関連: ガイド|Webマーケティングと集客を学ぶ
製品
ご利用いただける方
機能
リソース
会社情報
サイトマップを見る