Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

個人用アクセス トークンの作成

コマンド ラインまたは API を使って GitHub に認証する際、パスワードの代わりに personal access token を使用します。

警告: アクセス トークンは、パスワードと同様の扱いとしてください。 詳しくは、「personal access token のセキュリティ保護を維持する」をご覧ください。

personal access tokenについて

GitHub API またはコマンド ラインを使うときは、パスワードの代わりに Personal access token を使って、GitHub Enterprise Cloud に対する認証を行うことができます。

Personal access tokenは、GitHub リソースに自動的にアクセスすることを目的としています。 Organization に代わってリソースにアクセスするため、または有効期間の長い統合を行う場合、GitHub App を使用する必要があります。 詳しくは、「アプリケーションについて」を参照してください。

personal access token の種類

現在、GitHub では、2 種類のpersonal access token (fine-grained personal access token と personal access tokens (classic)) がサポートされています。 GitHub では、可能な限り、personal access tokens (classic) ではなく fine-grained personal access token を使用することをお勧めします。

Organization の所有者は、personal access tokens (classic) のアクセス権を自分の Organization に限定するようにポリシーを設定できます。Enterprise の所有者は、personal access tokens (classic) のアクセス権を、Enterprise または Enterprise が所有する Organization に限定できます。 詳しくは、「Organization の個人用アクセス トークン ポリシーを設定する」を参照してください。

Fine-grained personal access token

Fine-grained personal access token には、personal access tokens (classic) に勝るいくつかの利点があります。

  • 各トークンは、1 人のユーザーまたは 1 つの Organization が所有するリソースにのみアクセスできます。
  • 各トークンは、特定のリポジトリにのみアクセスできます。
  • 各トークンには特定のアクセス許可が付与されます。これにより、personal access tokens (classic) に付与されるスコープよりも細かく制御できます。
  • 各トークンには、有効期限が必要です。
  • Organization オーナーは、Organization 内のリソースにアクセスできる fine-grained personal access token の承認を要求できます。
  • Enterprise オーナーは、Enterprise が所有する Organization 内のリソースにアクセスできる fine-grained personal access token の承認を要求できます。

Personal access tokens (classic)

Personal access tokens (classic) は安全性が低くなります。 ただし、現在、一部の機能は personal access tokens (classic) でしか機能しません:

  • 自分、または自分がメンバーではない組織によって所有されていないパブリック リポジトリに対する書き込みアクセス権を持つのは、personal access tokens (classic) のみです。
  • エンタープライズが所有する内部リポジトリに対する書き込みアクセス権を自動的に持つのは、personal access tokens (classic) のみです。 Fine-grained personal access tokenには、内部リポジトリへのアクセス権を付与する必要があります。
  • 外部コラボレーターは、personal access tokens (classic) のみを使って、コラボレーターである組織のリポジトリにアクセスできます
  • personal access tokens (classic) のみがエンタープライズにアクセスできます。 (Fine-grained personal access token は、エンタープライズが所有する組織にアクセスできます。)
  • GraphQL API にアクセスできるのは personal access tokens (classic) だけです。
  • 一部の REST API 操作は、fine-grained personal access token では使用できません。 fine-grained personal access token でサポートされている REST API 操作の一覧については、「きめ細かい個人用アクセス トークンに使用できるエンドポイント」を参照してください。

personal access token (classic) を使う場合は、それによって、そのユーザーがアクセスできる Organization 内のすべてのリポジトリと、そのユーザーの個人アカウント内のすべての個人リポジトリへのアクセスが許可されることに注意してください。

セキュリティ上の理由から、GitHub は過去 1 年間使われていない personal access token を自動的に削除します。 セキュリティを強化するため、personal access token には有効期限を設けることを強くお勧めします。

personal access token のセキュリティ保護を維持する

Personal access token はパスワードのようなものであり、どちらにも同じ固有のセキュリティ リスクがあります。 新しい personal access token を作成する前に、より安全な認証方法を使用できるかどうかを検討してください。

  • コマンド ラインから GitHub にアクセスするには、personal access token を作成する代わりに、GitHub CLI または Git Credential Manager を使用できます。
  • GitHub Actions ワークフローで personal access token を使う場合は、代わりに組み込み GITHUB_TOKEN を使用できるかどうかを検討してください。 詳しくは、「自動トークン認証」を参照してください。

これらのオプションを使用できず、personal access token を作成する必要がある場合は、1Password CLI などの別のサービスを使ってトークンを安全に格納すること、または 1Password の GitHub シェル プラグインを使って GitHub CLI に対する認証を安全に行うことを検討してください。

スクリプトで personal access token を使う場合は、トークンをシークレットとして格納し、GitHub Actions を使ってスクリプトを実行できます。 詳しくは、「暗号化されたシークレット」をご覧ください。また、トークンを Codespaces シークレットとして格納し、Codespaces でスクリプトを実行することもできます。 詳細については、「codespaces の暗号化されたシークレットを管理する」を参照してください。

fine-grained personal access token の作成

: Fine-grained personal access token は現在ベータ版であり、変更される可能性があります。 フィードバックを残すには、フィードバックのディスカッションに関するページを参照してください。

  1. まだ検証していない場合は、メール アドレスを検証します。 1. 任意のページで、右上隅にあるプロファイルの画像をクリックし、次に[設定]をクリックします。

    GitHub のアカウント メニューのスクリーンショット。ユーザーがプロファイル、コンテンツ、設定を表示および編集するためのオプションが表示されています。 メニュー項目 [設定] が濃いオレンジ色の枠線で囲まれています。

  2. 左側のサイドバーで、 [開発者向け設定] をクリックします。

  3. 左側のサイドバーの [ Personal access tokens] の下にある [Fine-grained トークン] をクリックします。

  4. [新しいトークンの生成] をクリックします。

  5. [トークン名] にトークンの名前を入力します。

  6. [有効期限] で、トークンの有効期限を選びます。

  7. 必要に応じて、 [説明] で、トークンの目的を説明するメモを追加します。

  8. [リソース所有者] で、リソース所有者を選びます。 トークンは、選んだリソース所有者が所有するリソースにのみアクセスできます。 fine-grained personal access token にオプトインしない限り、所属している Organization は表示されません。 詳しくは、「Organization の個人用アクセス トークン ポリシーを設定する」をご覧ください。 選んだ Organization で SAML シングル サインオン (SSO) が要求されていて、アクティブな SAML セッションがまだない場合は、SAML SSO の実行を要求されることがあります。

  9. 必要に応じて、リソース所有者が fine-grained personal access token の承認を要求する Organization である場合、リソース所有者の下にあるボックスに、要求の正当な理由を入力します。

  10. [リポジトリ アクセス] で、トークンでアクセスするリポジトリを選びます。 ニーズを満たす最小限のリポジトリ アクセスを選ぶ必要があります。 トークンには、GitHub 上のすべてのパブリック リポジトリへの読み取り専用アクセスが常に含まれています。

  11. 前の手順で [リポジトリの選択のみ] を選んだ場合は、 [選択されたリポジトリ] ドロップダウンで、トークンでアクセスするリポジトリを選びます。

  12. [アクセス許可] で、トークンに付与するアクセス許可を選びます。 指定したリソース所有者とリポジトリ アクセスに応じて、リポジトリ、Organization、アカウントのアクセス許可があります。 ニーズに必要な最小限のアクセス許可を選ぶ必要があります。 各 REST API 操作に必要なアクセス許可について詳しくは、「きめ細かい個人用アクセス トークンに必要なアクセス許可」をご覧ください。

  13. [トークンの生成] をクリックします。

リソース所有者として Organization を選び、その Organization が fine-grained personal access token の承認を要求する場合、Organization 管理者によって確認されるまで、トークンは pending としてマークされます。 トークンは、承認されるまでパブリック リソースの読み取りのみを実行できます。 Organization のオーナーである場合、要求は自動的に承認されます。 詳しくは、「Organization での個人用アクセス トークンの確認と取り消し」をご覧ください。

personal access token (classic) の作成

: Organization オーナーは、personal access token (classic) のアクセスを自分の Organization に制限できます。 personal access token (classic) を使用して、personal access token (classic) のアクセスが無効の Organization 内のリソースにアクセスしようとすると、要求は 403 応答で失敗します。 代わりに、GitHub App、OAuth App、または fine-grained personal access token を使用する必要があります。

: personal access token (classic) は、アクセスできるすべてのリポジトリにアクセスできます。 GitHub では、代わりに、特定のリポジトリに制限できる fine-grained personal access token を使用することをお勧めします。 Fine-grained personal access token を使用すると、広範なスコープの代わりにきめ細かなアクセス許可を指定することもできます。

  1. まだ検証していない場合は、メール アドレスを検証します。 1. 任意のページで、右上隅にあるプロファイルの画像をクリックし、次に[設定]をクリックします。

    GitHub のアカウント メニューのスクリーンショット。ユーザーがプロファイル、コンテンツ、設定を表示および編集するためのオプションが表示されています。 メニュー項目 [設定] が濃いオレンジ色の枠線で囲まれています。

  2. 左側のサイドバーで、 [開発者向け設定] をクリックします。 1。 左側のサイドバーの [ Personal access tokens] で、 [トークン (クラシック)] を選びます。 1。 [新しいトークンの生成] を選び、 [新しいトークン (クラシック)] をクリックします。

  3. トークンにわかりやすい名前を付けます。 トークンの [説明] フィールド

  4. トークンに有効期限を設定するには、 [有効期限] ドロップダウン メニューを選択し、既定をクリックするか、カレンダー ピッカーを使用します。 トークンの [有効期限] フィールド

  5. このトークンに付与するスコープを選びます。 トークンを使用してコマンドラインからリポジトリにアクセスするには、 [リポジトリ] を選択します。 スコープが割り当てられていないトークンでは、パブリック情報にのみアクセスできます。 詳細については、「OAuth Appのスコープ」を参照してください。 トークンのスコープの選択

  6. [トークンの生成] をクリックします。 [トークンの生成] ボタン 新しく作成されたトークン

  7. トークンを使用して、SAML シングル サインオンを使用する Organization が所有するリソースにアクセスするには、トークンを承認します。 詳しくは、「SAMLシングルサインオンで利用するために個人アクセストークンを認可する」をご覧ください。

コマンド ラインで personal access token を使用する

トークンを入手したなら、HTTPS経由でGitの操作をする際にパスワードの代わりにそのトークンを入力できます。

たとえば、コマンドラインでは以下のように入力できます。

$ git clone https://github.com/USERNAME/REPO.git
Username: YOUR_USERNAME
Password: YOUR_TOKEN

Personal access tokenは、HTTPS Git 操作にのみ使用できます。 リポジトリで SSH リモート URL が使用されている場合は、リモートを SSH から HTTPS に切り替える必要があります。

ユーザ名とパスワードの入力を求められない場合、資格情報がコンピュータにキャッシュされている可能性があります。 キーチェーンの資格情報を更新して、古いパスワードをトークンに置き換えることができます。

すべての HTTPS Git 操作でpersonal access tokenを手動で入力する代わりに、Git クライアントを使用してpersonal access tokenをキャッシュできます。 Git では、有効期限が経過するまで、資格情報をメモリに一時的に格納します。 また、Git ですべての要求の前に読み取ることができるプレーンテキスト ファイルにトークンを格納することもできます。 詳しくは、「Git に GitHub の認証情報をキャッシュする」を参照してください。

参考資料