Skip to main content

GitHub への認証方法について

認証先に応じて異なる認証情報を使用し、GitHub Enterprise Server への認証を行うことで、アカウントのリソースに安全にアクセスできます。

GitHub の認証について

アカウントを安全に保つには、GitHub Enterprise Server の特定のリソースにアクセスする前に認証する必要があります。 GitHub Enterprise Server への認証を行うときは、自分が確かに本人であることを証明するために、固有の認証情報を提供または確認します。

GitHub Enterprise Server のリソースには、ブラウザ内、GitHub Desktop または別のデスクトップアプリケーション経由、API 経由、またはコマンドライン経由など、さまざまな方法でアクセスできます。 GitHub Enterprise Server へのアクセス方法は、それぞれ異なる認証モードをサポートしています。

  • ID プロバイダー (IdP)
  • 2 要素認証を使用したユーザー名とパスワード、またはパスキー
  • Personal access token
  • SSH キー

ブラウザで認証する

GitHub Enterprise Server への認証は、ブラウザー内で多数の方法を使って行うことができます。

個人用アカウントやサービス アカウントなど、お使いの GitHub Enterprise Server インスタンス で複数のアカウントを使用する必要がある場合は、毎回再認証する必要なく、アカウントをすばやく切り替えることができます。 詳しくは、「アカウント間の切り替え」をご覧ください。

  • ユーザー名とパスワードのみ

    • GitHub Enterprise Server でアカウントを作成するときにパスワードを作成します。 パスワードマネージャを使用して、ランダムで一意のパスワードを生成することをお勧めします。 詳細については、「強力なパスワードの作成」を参照してください
  • 2 要素認証 (2FA) (推奨)

    • 2FA を有効にした場合は、ユーザー名とパスワードを正常に入力した後、モバイル デバイスで時間ベースのワンタイム パスワード (TOTP) アプリケーションによって生成されるコードも指定するように求められます。。 詳細については、「2 要素認証を利用した GitHub へのアクセス」を参照してください。

    • TOTP アプリケーションを使った認証に加えて、必要に応じて代替の方法として、WebAuthn を使ったセキュリティ キーを追加できます。 詳細については、「2 要素認証を設定する」を参照してください。

  • パスキー

    • アカウントにパスキーを追加して、セキュリティで保護されたパスワードレス ログインを実現できます。 パスキーはパスワードと 2FA の両方の要件を満たすので、1 つの手順でサインインを完了できます。 「パスキーの概要」を参照してください。
  • 外部認証

    • サイト管理者は、ユーザー名とパスワードの代わりに外部認証を使うように お使いの GitHub Enterprise Server インスタンス を構成することがあります。 詳細については、「ID とアクセス管理について」を参照してください。

セッション Cookie

GitHub は、Cookie を使用してサービスとセキュリティで保護された お使いの GitHub Enterprise Server インスタンス を提供します。

  • gist.HOSTNAME ドメインとインスタンスのベース ドメインでは個別の Cookie を使用します。
  • GitHub Enterprise Server は、通常、非アクティブ状態が 2 週間後にユーザー セッションに削除のマークを付けます。
  • GitHub Enterprise Server は、サインアウト時にセッションを直ちに削除しません。GitHub Enterprise Server は定期的に、期限切れのセッションを自動的に削除します。

GitHub Desktop で認証する

お使いのブラウザを使用して GitHub Desktop で認証できます。 詳しくは、「GitHub Desktop での GitHub への認証」をご覧ください。

API で認証する

さまざまな方法で API を使用して認証できます。 詳しくは、「REST API に対する認証」をご覧ください。

personal access token で API に認証を行う

個人用に GitHub REST API を使用する場合は、personal access tokenを作成できます。 可能であれば、GitHub は、personal access token (classic) ではなく fine-grained personal access token を使うことをお勧めします。 personal access tokenの作成の詳細については、「個人用アクセス トークンを管理する」を参照してください。

アプリを使用した API への認証

Organization または他のユーザーの代わりに API を使用する場合、GitHub では、GitHub App の使用が推奨されます。 詳しくは、「GitHub アプリでの認証について」をご覧ください。

また、OAuth app を使用して OAuth トークンを作成し、REST API にアクセスすることもできます。 しかし、GitHub では、代わりに GitHub App を使用することが推奨されます。 GitHub Apps を使うと、アプリのアクセスとアクセス許可をより詳細に制御できます。

GitHub Actions ワークフローにおける API への認証

GitHub Actions ワークフローで API を使用する場合、GitHub では、トークンを作成するのではなく、組み込み GITHUB_TOKEN で認証することが推奨されます。 permissions キーを使用して、GITHUB_TOKEN へのアクセス許可を付与できます。

GITHUB_TOKEN は、ワークフローを含むリポジトリ内のリソースにのみアクセスできることに注意してください。 ワークフロー リポジトリの外部にあるリソースを変更する必要がある場合は、personal access token または GitHub App を使う必要があります。

詳しくは、「自動トークン認証」をご覧ください。

コマンドラインで認証する

コマンドラインから GitHub Enterprise Server のリポジトリにアクセスするには、HTTPS と SSH の 2 つの方法がありますが、それぞれ認証方法が異なります。 認証方法は、リポジトリのクローンを作成するときに HTTPS または SSH リモート URL を選択したかどうかに基づいて決まります。 アクセス方法の詳細については、「リモートリポジトリについて」を参照してください。

HTTPS

ファイアウォールまたはプロキシの内側からでも、HTTPS を介して GitHub Enterprise Server 上のすべてのリポジトリを操作できます。

GitHub CLI で認証する場合は、personal access token または Web ブラウザーを使って認証できます。 GitHub CLI を使用した認証の詳細については、「gh auth login」を参照してください。

GitHub CLI なしで認証する場合は、personal access token で認証する必要があります。 Git からパスワードの入力するダイアログが表示されたら、personal access token を入力します。 または、Git Credential Manager などの認証情報ヘルパーを使用できます。 より安全な認証方法を優先し、Git のパスワードベースの認証が削除されました。 詳しくは、「個人用アクセス トークンを管理する」を参照してください。 Git を使って GitHub Enterprise Server で認証するたびに、資格情報ヘルパーでキャッシュしない限り、GitHub Enterprise Server で認証するための資格情報を入力するように求められます。

SSH

SSH 接続はファイアウォールとプロキシから許可されない場合がありますが、SSH 経由で GitHub Enterprise Server 上のすべてのリポジトリを操作できます。

GitHub CLI で認証すると、CLI によってマシン上で SSH 公開キーが検索され、アップロード用のものを選ぶようにダイアログが表示されます。 GitHub CLI でアップロード用の SSH 公開鍵が見つからない場合は、新しい SSH 公開/秘密キーペアを生成し、お使いの GitHub Enterprise Server インスタンス 上のアカウントに公開キーをアップロードできます。 これで、personal access token を使うか、Web ブラウザー経由で認証できるようになります。 GitHub CLI を使用した認証の詳細については、「gh auth login」を参照してください。

GitHub CLI なしで認証する場合は、ローカル コンピューターで SSH 公開/秘密鍵ペアを生成し、お使いの GitHub Enterprise Server インスタンス のアカウントに公開キーを追加する必要があります。 詳しくは、「新しい SSH キーを生成して ssh-agent に追加する」をご覧ください。 Git を使って GitHub Enterprise Server で認証するたびに、キーを保存していない限り、SSH キー パスフレーズを入力するように求められます。

GitHub のトークンフォーマット

GitHub は、トークンの種別を示すプレフィックスで始まるトークンを発行します。

トークンの種類Prefix詳細情報
Personal access token (classic)ghp_個人用アクセス トークンを管理する
Fine-grained personal access tokengithub_pat_個人用アクセス トークンを管理する
OAuth アクセス トークンgho_OAuth アプリの承認
GitHub App のユーザー アクセス トークンghu_ユーザーに代わって GitHub アプリで認証する
GitHub App インストール アクセス トークンghs_GitHub App インストールとしての認証
GitHub App のトークンのリフレッシュghr_ユーザー アクセス トークンを更新する