Skip to main content

GitHub 資格情報の種類のリファレンス

トークン形式、有効期間、SSO 承認機能、失効オプションなど、 GitHubにアクセスできるすべてのプログラム資格情報の種類に関するリファレンス ドキュメント。

この記事では、 GitHubにアクセスできるすべてのプログラムによる資格情報の種類に関する統合リファレンスを提供します。 この参照を使用して、アクティビティを監査し、特にセキュリティ インシデント時に資格情報の失効を管理します。

資格情報の種類の概要

次の表に、プログラムで GitHubにアクセスできるすべての資格情報の種類を示します。

認証タイプ資格情報プレフィックス寿命撤回関連付け られて いる
Personal access token (classic)ghp_長命手動ユーザー アカウント
Fine-grained personal access tokengithub_pat_構成可能 (最大 1 年間、または有効期限なし)手動ユーザー アカウント
[
          OAuth app アクセス トークン](#oauth-app-access-tokens) | `gho_` | 長命 | 手動 | ユーザー アカウント |

| GitHub App ユーザー アクセス トークン | ghu_ | 有効期間が短い (8 時間) | 自動有効期限または手動 | ユーザー アカウント | | GitHub App インストール アクセス トークン | ghs_ | 有効期間が短い (1 時間) | 自動有効期限 | アプリのインストール | | GitHub App 更新トークン | ghr_ | 有効期間 (6 か月) | 手動 | ユーザー アカウント | | ユーザー SSH キー | 適用なし | 長命 | 手動 | ユーザー アカウント | | キーをデプロイする | 適用なし | 長命 | 手動 | リポジトリ | | GITHUB_TOKEN (GitHub Actions) | 適用なし | 有効期間が短い (ジョブの期間) | 自動有効期限 | ワークフローの実行 |

資格情報の失効

次のセクションでは、ロールに基づいて資格情報の種類ごとに失効オプションについて説明します。 「トークンの有効期限と取り消し」も参照してください。

メモ

エンタープライズ所有者には、主要なインシデントでの 一括アクション のオプションがあります。 セキュリティ インシデントの一括アクションを参照してください。

Personal access token (classic)

  • トークンが 自分に属している場合は、個人用アカウント設定を使用してトークンを削除できます。 「個人用アクセス トークンを管理する」を参照してください。

  • トークンが他のユーザーによって所有されていて、実際のトークン値がわかっている場合は、 誰でも REST API を使用して取り消す要求を送信できます。 API は認証を必要としません。トークンの値を持っている人であれば誰でも失効のために提出できます。 REST API ドキュメントの 無効化 を参照してください。

  • 組織の所有者エンタープライズ所有者 は、個々のトークンを直接可視化または制御することはできません。 ただし、次のことができます。

  • SSO が適用された**** のGitHub Enterprise Cloudは、特定のpersonal access token (classic)の SSO 承認を取り消すことができます。 詳細については、 SSO 承認の取り消し を参照してください。

  • パブリック リポジトリまたは gist にプッシュされた場合、または 1 年間使用されていない場合は 、自動的に取り消されます。 「トークンの有効期限と取り消し」を参照してください。

Fine-grained personal access token

  • トークンが 自分に属している場合は、個人用アカウント設定を使用してトークンを削除できます。 「個人用アクセス トークンを管理する」を参照してください。

  • トークンが他のユーザーによって所有されていて、実際のトークン値がわかっている場合は、 誰でも REST API を使用して取り消す要求を送信できます。 API は認証を必要としません。トークンの値を持っている人であれば誰でも失効のために提出できます。 REST API ドキュメントの 無効化 を参照してください。

  • 組織の所有者: 個々のトークンを表示および取り消すことができます。 ただし、組織の所有者が fine-grained personal access tokenを取り消すと、トークンによって作成されたすべての SSH キーは引き続き機能し、トークンは組織内のパブリック リソースを読み取ることができることに注意してください。 失効により、リソース所有者が組織からユーザーに変更され、ユーザーはそれを再割り当てできます。 「組織内での個人用アクセス トークンの確認と取り消し」を参照してください。

  • 組織の所有者エンタープライズ所有者 は、次のことができます。

  • パブリック リポジトリまたは gist にプッシュされた場合、または 1 年間使用されていない場合は 、自動的に取り消されます。 「トークンの有効期限と取り消し」を参照してください。

          OAuth app アクセス トークン
  • ユーザーは 、個人アカウント設定の OAuth app に対する承認を取り消すことができます。これによって、アプリに関連付けられているトークンが取り消されます。 「承認された OAuth アプリをレビューする」を参照してください。

  • トークンが他のユーザーによって所有されていて、実際のトークン値がわかっている場合は、 誰でも REST API を使用して取り消す要求を送信できます。 API は認証を必要としません。トークンの値を持っている人であれば誰でも失効のために提出できます。 REST API ドキュメントの 無効化 を参照してください。

  • 組織の所有者 は、以前に承認された OAuth appの組織へのアクセスを拒否できます。 「以前に承認された OAuth アプリによる Organization へのアクセスを拒否する」を参照してください。

  • GitHub Enterprise Cloudでは、企業と組織の所有者は、個々のOAuth app トークンの SSO 承認を直接取り消すことはできません。 SSO 資格情報の承認は、 GitHub Enterprise Serverには適用されません。

  • パブリック リポジトリまたは gist にプッシュされた場合、または 1 年間使用されていない場合は 、自動的に取り消されます。 「トークンの有効期限と取り消し」を参照してください。

          GitHub App ユーザー アクセス トークン
  • ユーザーは 、個人アカウント設定で GitHub App に対する承認を取り消すことができます。 これにより、特定の組織だけでなく、 すべての 組織の承認が取り消されることに注意してください。 「GitHub アプリの承認の確認と取り消し」を参照してください。

  • トークンが他のユーザーによって所有されていて、実際のトークン値がわかっている場合は、 誰でも REST API を使用して取り消す要求を送信できます。 API は認証を必要としません。トークンの値を持っている人であれば誰でも失効のために提出できます。 REST API ドキュメントの 無効化 を参照してください。

  • 組織の所有者 はユーザーの承認を直接取り消すことはできませんが、アプリを一時停止またはアンインストールして、組織のリソースへのアクセスを防ぐことができます。 「インストールされている GitHub Apps の確認と変更」を参照してください。

  • GitHub Enterprise Cloudでは、企業と組織の所有者は、個々のGitHub App ユーザー アクセス トークンに対する SSO 承認を直接取り消すことはできません。 SSO 資格情報の承認は、 GitHub Enterprise Serverには適用されません。

  • 既定では、8 時間後に自動的に有効期限が切れます。 「トークンの有効期限と取り消し」を参照してください。

          GitHub App 更新トークン
  • ユーザーはGitHub App承認を取り消すことができます。これによって、関連付けられている更新トークンも無効になります。 「GitHub アプリの承認の確認と取り消し」を参照してください。

  • トークンが他のユーザーによって所有されていて、実際のトークン値がわかっている場合は、 誰でも REST API を使用して取り消す要求を送信できます。 API は認証を必要としません。トークンの値を持っている人であれば誰でも失効のために提出できます。 REST API ドキュメントの 無効化 を参照してください。

  • 6 か月後に自動的に期限切れになります

          GitHub App インストール アクセス トークン

ユーザー SSH キー

  • ユーザーは**、[設定] > SSH キーと GPG キー**を使用して資格情報を削除できます。 「SSH キーをレビューする」を参照してください。
  • SSO が適用された**** のGitHub Enterprise Cloudは、特定の SSH キーの SSO 承認を取り消すことができます。 取り消されると、同じキーを再承認することはできません。ユーザーは新しい SSH キーを作成する必要があります。 詳細については、 SSO 承認の取り消し を参照してください。
  • 1 年間未使用の場合は自動的に削除されます。 「SSH キーの削除または紛失」を参照してください。

SSH キーの詳細については、 GitHub アカウントへの新しい SSH キーの追加 を参照してください。

デプロイ キー

  • リポジトリ管理者 は、[ セキュリティ] > [キーのデプロイ] >リポジトリ設定を使用してキーを削除できます。 また、デプロイ キー REST API を使用して使用することもできます。 「AUTOTITLE」を参照してください。
  • 組織の所有者 は、組織全体で展開キーを完全に無効にすることができます。これにより、既存のすべての展開キーが無効になります。 「AUTOTITLE」を参照してください。
  • エンタープライズ所有者 は、ポリシーを適用して、すべてのリポジトリのデプロイ キーを無効にすることができます。 「Enterprise でリポジトリ管理ポリシーを適用する」を参照してください。

キーの展開の詳細については、「 デプロイキーの管理」を参照してください。

          `GITHUB_TOKEN` (GitHub Actions)
  • 自動的に期限切れになる: GITHUB_TOKEN は各ワークフロー ジョブの開始時に作成され、ジョブが完了すると期限切れになります。 手動による失効メカニズムはありません。 インシデント中に、リポジトリの GitHub Actions を無効にして、新しいトークンが発行されないようにすることができます。

            `GITHUB_TOKEN`の詳細については、「[AUTOTITLE](/actions/concepts/security/github_token)」を参照してください。
    

SSO 認可

          GitHub Enterprise Cloud、エンタープライズ レベルでシングル サインオン (SSO) が必要な場合、組織レベルで適用されている場合、または組織に対して有効になっていて、メンバーが ID をリンクしている場合は、組織リソースにアクセスする前に、特定の資格情報の種類を組織に対して承認する必要があります。 次の表は、組織に対して承認できる資格情報の種類を示しています。 SSO 資格情報の承認は、 GitHub Enterprise Serverには適用されません。
トークンの種類SSO 承認をサポートします管理者は SSO 承認を取り消すことができます
Personal access token (classic)
Fine-grained personal access token
OAuth app アクセス トークン
          <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Yes" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>
          [^1] | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="No" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |

| GitHub App ユーザー アクセス トークン | [^1] | | | GitHub App インストール アクセス トークン | (必須ではありません) | 適用なし | | GitHub App 更新トークン | | 適用なし | | ユーザー SSH キー | | | | デプロイ キー | (リポジトリ固有のスコープ) | 適用なし | | GITHUB_TOKEN (GitHub Actions) | (リポジトリ固有のスコープ) | 適用なし |

          [^1]: On GitHub Enterprise Cloud, SSO authorization is granted automatically when the user authorizes the app during an active SAML or OIDC session. These authorizations are not visible to users or admins in the GitHub UI, and are not returned by the [AUTOTITLE](/rest/orgs/orgs#list-saml-sso-authorizations-for-an-organization) REST API endpoint.

          GitHub Enterprise Cloudで、SSO の資格情報を承認する方法については、[AUTOTITLE](/enterprise-cloud@latest/authentication/authenticating-with-single-sign-on/authorizing-a-personal-access-token-for-use-with-single-sign-on)、[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)、[および AUTOTITLE](/enterprise-cloud@latest/authentication/authenticating-with-single-sign-on/authorizing-an-ssh-key-for-use-with-single-sign-on) を参照してください。

SSO 承認の取り消し

SSO が適用された GitHub Enterprise Cloud では、資格情報が SSO 承認をサポートする場合、次の 2 つの独立した包含オプションがあります。

  • 資格情報自体を削除または取り消す: 資格情報に関連付けられているすべてのアクセスを完全に削除します。 このアクションを実行できるユーザーについては、上記の個々の資格情報の種類に関するセクションを参照してください。

  • 資格情報の SSO 承認を取り消す: 資格情報を削除せずに、特定の組織のリソースにアクセスできないようにします。 取り消されると、ユーザーは同じ資格情報を再承認できません。新しいファイルを作成する必要があります。

            GitHub Enterprise Cloud、エンタープライズ管理者と組織の所有者は、上記の表でマークされている資格情報の種類に対する SSO 承認を取り消すことができます。
    
  • 組織の所有者 は、 GitHub UI を使用して、組織レベルの SSO を使用して組織の SSO 承認を管理できます。 「組織に対するメンバーの SAML アクセスの表示と管理」を参照してください。

  • エンタープライズ所有者は、Enterprise Managed Users UI を使用して、エンタープライズ レベルの SSO (GitHub を含む) を使用して企業の SSO 承認を管理できます。 「Enterprise へのユーザの SAML アクセスの表示および管理」を参照してください。

            GitHub Enterprise Cloudでは、REST API を使用して SSO 承認を管理することもできます。
    
            GitHub Enterprise Cloud、セキュリティ インシデント中に、エンタープライズ所有者は SSO 承認を一括で取り消すことができます。 
            [セキュリティ インシデントの一括アクションを](#bulk-actions-for-security-incidents)参照してください。
    

セキュリティ インシデントの一括アクション

大規模なセキュリティ インシデントでは、 GitHub Enterprise Cloud の企業所有者が迅速に対応するために実行できるエンタープライズ レベルの一括アクションがいくつかあります。 これらのアクションは、ユーザー SSH キー、ユーザー アクセス トークン OAuth app 、ユーザー アクセス トークンの GitHub App 、 personal access tokens (classic)、および fine-grained personal access tokensに影響します。 インストール アクセス トークン展開キーには影響しません

警告

これらは、重大なセキュリティ インシデント用に予約する必要がある影響の大きいアクションです。 自動化が中断される可能性があり、元の状態を復元するには数か月かかる場合があります。

  • SSO のロックダウン: エンタープライズ所有者を除くすべてのユーザーの SSO を一時的にブロックし、SSO で保護されたリソースへのアクセスを防ぎます。 Enterprise Managed Users または SSO を使用する企業向けに利用可能です。 「企業におけるシングルサインオンの制限」を参照してください。
  • すべての SSO 承認を取り消す: 企業内のすべての組織で、ユーザー資格情報の SSO 承認を削除します。 資格情報は削除されませんが、SSO で保護された組織リソースへのアクセスは失われます。 取り消されると、資格情報を再承認することはできません。ユーザーは新しい資格情報を作成する必要があります。 Enterprise Managed Users または SSO を使用する企業向けに利用可能です。 「企業での SSO 承認の取り消しまたは資格情報の削除」を参照してください。
  • すべてのユーザー トークンとキーを削除する: ユーザー資格情報を完全に削除し、すべてのアクセスを削除します。 のみEnterprise Managed Usersに使用できます。 「企業での SSO 承認の取り消しまたは資格情報の削除」を参照してください。

メモ

SSO を使用する個人アカウント (EMU 以外) を持つ企業の場合、[すべてのトークンとキーを削除する] オプションは 使用できません。 "SSO 承認の取り消し" アクションは、SSO で保護された組織リソースへのアクセスをブロックしますが、SSO を適用しない組織のエンタープライズ レベルのエンドポイントまたはリソースへの資格情報のアクセスをブロックしません。 SSO を使用しない企業の場合、どちらの一括アクションも使用できません。