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 要素認証のユーザー名とパスワード
  • Personal access token
  • 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 を使用して認証できます。

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

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

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

HTTPS

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

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

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

SSH

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

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

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

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

personal access token または SSH キーを使って、SAML シングル サインオンを使う組織が所有するリソースにアクセスするには、個人用トークンまたは SSH キーも認可する必要があります。 詳細については、「SAML シングル サインオンで利用するために personal access token を認可する」または「SAML シングル サインオンで利用するために SSH キーを認可する」を参照してください。

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

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

トークンの種類Prefix詳細情報
Personal access token (classic)ghp_personal access token の作成
Fine-grained personal access tokengithub_pat_personal access tokenの作成
OAuth アクセス トークンgho_OAuth Apps の承認
GitHub App のユーザからサーバーへのトークンghu_GitHub Apps のユーザーの識別と認可
GitHub App のサーバーからサーバーへのトークンghs_GitHub Apps による認証
GitHub App のトークンのリフレッシュghr_ユーザーからサーバーへのアクセス トークンの更新