Skip to main content

GitHub への認証方法について

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

GitHub の認証について

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

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

  • ID プロバイダー (IdP)
  • 2 要素認証のユーザー名とパスワード
  • 個人用アクセス トークン
  • SSH キー

ブラウザで認証する

enterprise with managed users のメンバーである場合は、IdP を使ってブラウザーで GitHub Enterprise Cloud に対して認証します。 詳細については、GitHub Enterprise Cloud ドキュメントのマネージド ユーザーとして認証

enterprise with managed users のメンバーでない場合は、GitHub.com のユーザー名とパスワードを使って認証します。 また、2 要素認証と SAML シングル サインオンを使うこともできます。これは、組織と企業の所有者が必要とする場合があります。

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

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

    • 2FA を有効にしていない場合、GitHub Enterprise Cloud では、認識できないデバイス (新しいブラウザー プロファイル、Cookie が削除されたブラウザー、新しいコンピューターなど) から初めてサインインしたときに、追加の検証を求められます。

      ユーザー名とパスワードを指定すると、メールで送信される確認コードの入力を求められます。 GitHub Mobile アプリケーションがインストールされている場合は、代わりにここで通知を受け取ります。 詳細については、「GitHub Mobile」を参照してください。

  • 2 要素認証 (2FA) (推奨)

    • 2FA を有効にした場合は、ユーザー名とパスワードを正常に入力した後、モバイル デバイスで時間ベースのワンタイム パスワード (TOTP) アプリケーションによって生成されるか、テキスト メッセージ (SMS)として送信されるコードも指定するように求められます。 詳細については、「2 要素認証を使用した GitHub へのアクセス」を参照してください。
    • TOTP アプリケーションまたはテキスト メッセージを使った認証に加えて、必要に応じて代替の方法として、GitHub Mobile での認証か、WebAuthn を使ったセキュリティ キーを追加できます。 詳細については、GitHub Mobile を使って 2 要素認証を構成するに関するページと「セキュリティ キーを使って 2 要素認証を設定する」を参照してください。
  • SAML シングル サインオン

    • SAML シングル サインオンを使う組織またはエンタープライズ アカウントが所有するリソースにアクセスするには、その前に IdP による認証も必要になる場合があります。 詳細については、GitHub Enterprise Cloud ドキュメントの「SAML シングル サインオンによる認証について

GitHub Desktop で認証する

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

API で認証する

さまざまな方法で API を使用して認証できます。

  • 個人用アクセス トークン
    • テストなどの限られた状況では、個人アクセストークンを使用して API にアクセスできます。 個人アクセストークンを使用すると、いつでもアクセスを取り消すことができます。 詳細については、個人アクセス トークンの作成に関する記事を参照してください。
  • Web アプリケーション フロー
  • GitHub アプリ
    • 製品としての GitHub App の場合、アプリケーションのインストールに代わって認証する必要があります。 詳細については、「GitHub Apps による認証」を参照してください。

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

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

HTTPS

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

GitHub CLI で認証する場合は、個人用アクセス トークンまたは Web ブラウザーを使って認証できます。 GitHub CLI を使用した認証の詳細については、「gh auth login」を参照してください。

GitHub CLI なしで認証する場合は、個人用アクセス トークンで認証する必要があります。 Git からパスワードの入力を求められたら、個人用アクセス トークン (PAT) を入力します。 または、Git Credential Manager などの資格情報ヘルパーを使用することもできます。より安全な認証方法を優先して、Git のパスワードベースの認証が削除されました。詳細については、「個人用アクセス トークンの作成」を参照してください。 Git を使って GitHub Enterprise Cloud で認証するたびに、資格情報ヘルパーでキャッシュしない限り、GitHub Enterprise Cloud で認証するための資格情報を入力するように求められます。

SSH

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

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

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

SAML シングル サインオンの認可

個人用アクセス トークンまたは SSH キーを使って、SAML シングル サインオンを使う組織が所有するリソースにアクセスするには、個人用トークンまたは SSH キーも認可する必要があります。 詳細については、GitHub Enterprise Cloud のドキュメントの「SAML シングル サインオンで利用するために個人用アクセス トークンを認可する」または「SAML シングル サインオンで利用するために SSH キーを認可する

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

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

トークンの種類Prefix詳細情報
個人用アクセス トークンghp_個人用アクセス トークンを作成する
OAuth アクセス トークンgho_OAuth Apps の承認
GitHub App のユーザからサーバーへのトークンghu_GitHub Apps のユーザーの識別と認可
GitHub App のサーバーからサーバーへのトークンghs_GitHub Apps による認証
GitHub App のトークンのリフレッシュghr_ユーザーからサーバーへのアクセス トークンの更新