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)

Fine-grained personal access token

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

  •         **組織の所有者**: 個々のトークンを表示および取り消すことができます。 ただし、組織の所有者が fine-grained personal access tokenを取り消すと、トークンによって作成されたすべての SSH キーは引き続き機能し、トークンは組織内のパブリック リソースを読み取ることができることに注意してください。 失効により、リソース所有者が組織からユーザーに変更され、ユーザーはそれを再割り当てできます。 「[AUTOTITLE](/organizations/managing-programmatic-access-to-your-organization/reviewing-and-revoking-personal-access-tokens-in-your-organization)」を参照してください。
    
  •         **組織の所有者** と **エンタープライズ所有者** は、次のことができます。
    
  • パブリック リポジトリまたは gist にプッシュされた場合、または 1 年間使用されていない場合は 、自動的に取り消されます。 「トークンの有効期限と取り消し」を参照してください。

          OAuth app アクセス トークン

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

  •         **組織の所有者** は、以前に承認された OAuth appの組織へのアクセスを拒否できます。 「[AUTOTITLE](/enterprise-cloud@latest/organizations/managing-oauth-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization)」を参照してください。
    
  • エンタープライズおよび組織の所有者は、個々の OAuth app トークンの SSO 承認を直接取り消すことはできません。
  • パブリック リポジトリまたは gist にプッシュされた場合、または 1 年間使用されていない場合は 、自動的に取り消されます。 「トークンの有効期限と取り消し」を参照してください。

          GitHub App ユーザー アクセス トークン

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

  •         **組織の所有者** はユーザーの承認を直接取り消すことはできませんが、アプリを一時停止またはアンインストールして、組織のリソースへのアクセスを防ぐことができます。 「[AUTOTITLE](/apps/using-github-apps/reviewing-and-modifying-installed-github-apps)」を参照してください。
    
  • エンタープライズ所有者と組織の所有者は、個々の GitHub App ユーザー アクセス トークンの SSO 承認を直接取り消すことはできません。
  • 既定では、8 時間後に自動的に有効期限が切れます。 「トークンの有効期限と取り消し」を参照してください。

          GitHub App 更新トークン

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

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

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

* アプリの所有者 は、 DELETE /installation/token経由で取り消すことができます。 「GitHub App インストール用の REST API エンドポイント」を参照してください。 * 組織の所有者とエンタープライズ所有者: 組織からアプリをアンインストールできます。これにより、関連付けられているすべてのインストール トークンが非アクティブ化されます。 「インストールされている GitHub Apps の確認と変更」を参照してください。

  • 1 時間後に自動的に期限切れになります

ユーザー SSH キー

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

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

デプロイ キー

  •         **リポジトリ管理者** は、[ **セキュリティ] > [キーのデプロイ] >リポジトリ設定**を使用してキーを削除できます。 また、デプロイ キー REST API を使用して使用することもできます。 
            [「AUTOTITLE」を](/authentication/keeping-your-account-and-data-secure/reviewing-your-deploy-keys)参照してください。
    
  •         **組織の所有者** は、組織全体で展開キーを完全に無効にすることができます。これにより、既存のすべての展開キーが無効になります。 
            [「AUTOTITLE」を](/organizations/managing-organization-settings/restricting-deploy-keys-in-your-organization)参照してください。
    
  •         **エンタープライズ所有者** は、ポリシーを適用して、すべてのリポジトリのデプロイ キーを無効にすることができます。 「[AUTOTITLE](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise)」を参照してください。
    

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

          `GITHUB_TOKEN` (GitHub Actions)

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

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

SSO 認可

エンタープライズ レベルでシングル サインオン (SSO) が必要な場合、組織レベルで適用される場合、または組織に対して有効になっており、メンバーが ID をリンクしている場合は、組織リソースにアクセスする前に、特定の資格情報の種類を組織に対して承認する必要があります。 次の表は、組織に対して承認できる資格情報の種類を示しています。

トークンの種類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]: 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 [List SAML SSO authorizations for an organization](/rest/orgs/orgs#list-saml-sso-authorizations-for-an-organization) REST API endpoint.

SSO の資格情報を承認する方法については、「AUTOTITLE、AUTOTITLE個人用アクセス トークンを管理する」を参照してください。

SSO 承認の取り消し

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

  •         **資格情報自体を削除または取り消す: 資格情報**に関連付けられているすべてのアクセスを完全に削除します。 このアクションを実行できるユーザーについては、上記の個々の資格情報の種類に関するセクションを参照してください。
    
  •         **資格情報の SSO 承認を取り消す**: 資格情報を削除せずに、特定の組織のリソースにアクセスできないようにします。 取り消されると、ユーザーは同じ資格情報を再承認できません。新しいファイルを作成する必要があります。
    

エンタープライズ管理者と組織の所有者は、上記の表でマークされている資格情報の種類に対する SSO 承認を取り消すことができます。

  •         **組織の所有者** は、 GitHub UI を使用して、組織レベルの SSO を使用して組織の SSO 承認を管理できます。 「[AUTOTITLE](/enterprise-cloud@latest/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization)」を参照してください。
    
  •         **エンタープライズ所有者**は、Enterprise Managed Users UI を使用して、エンタープライズ レベルの SSO (GitHub を含む) を使用して企業の SSO 承認を管理できます。 「[AUTOTITLE](/enterprise-cloud@latest/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise#viewing-and-revoking-authorized-credentials)」を参照してください。
    

REST API を使用して SSO 承認を管理することもできます。 「組織のREST APIエンドポイント」を参照してください。

セキュリティ インシデント中に、エンタープライズ所有者は SSO 承認を一括で取り消すことができます。 セキュリティ インシデントの一括アクションを参照してください。

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

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

警告

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

  •         **SSO のロックダウン**: エンタープライズ所有者を除くすべてのユーザーの SSO を一時的にブロックし、SSO で保護されたリソースへのアクセスを防ぎます。 
            Enterprise Managed Users または SSO を使用する企業向けに利用可能です。 「[AUTOTITLE](/enterprise-cloud@latest/admin/managing-iam/respond-to-incidents/lock-down-sso)」を参照してください。
    
  •         **すべての SSO 承認を取り消す**: 企業内のすべての組織で、ユーザー資格情報の SSO 承認を削除します。 資格情報は削除されませんが、SSO で保護された組織リソースへのアクセスは失われます。 取り消されると、資格情報を再承認することはできません。ユーザーは新しい資格情報を作成する必要があります。 SSO を利用する企業または Enterprise Managed Users に対して利用できます。 「[AUTOTITLE](/enterprise-cloud@latest/admin/managing-iam/respond-to-incidents/revoke-authorizations-or-tokens)」を参照してください。
    
  •         **すべてのユーザー トークンとキーを削除する**: ユーザー資格情報を完全に削除し、すべてのアクセスを削除します。 のみEnterprise Managed Users**に使用**できます。 「[AUTOTITLE](/enterprise-cloud@latest/admin/managing-iam/respond-to-incidents/revoke-authorizations-or-tokens)」を参照してください。
    

メモ

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