Skip to main content

SAMLのシングルサインオンでの認証について

ID プロバイダー (IdP) を介して認証することで、SAML シングル サインオン (SSO) を使用する Organization にアクセスできます。

SAML SSO での認証について

SAML シングル サインオン (SSO) により、GitHub Enterprise Cloud を使用する組織の所有者とエンタープライズの所有者は、リポジトリ、issue、pull request などの組織のリソースへのアクセス権を制御し、セキュリティで保護することができます。 Organization のオーナーは、GitHubで個人アカウントを SAML SSO を使用する Organization に招待できます。これにより、Organization に貢献することができ、GitHubの既存の ID とコントリビューションを保持できます。

マネージド ユーザーを含む Enterprise のメンバーである場合は、プロビジョニングされ、エンタープライズによって管理された新しいアカウントを代わりに使用します。 詳しくは、「GitHub アカウントの種類」を参照してください。

SAML SSO を使用する組織内のプライベート リソースにアクセスすると、GitHub によって認証のために組織の SAML IdP にリダイレクトされます。 IdP でアカウントが正常に認証されると、IdP はGitHubに戻り、Organization のリソースにアクセスできます。

次のように特定の方法でパブリック リポジトリにアクセスする場合、IdP 認証は必要ありません。

  • リポジトリの概要ページとファイルの内容を GitHub 上で表示する
  • リポジトリをフォークする
  • リポジトリのクローンなど、Git を使って読み取り操作を実行する

issue、pull request、プロジェクト、リリースの閲覧など、パブリック リポジトリへのその他のアクセスには認証が必要です。

注: SAML 認証は、外部コラボレーターにも必要ありません。 外部コラボレーターの詳細については、「Organizationのロール」を参照してください。

最近ブラウザで Organization の SAML IdP が認証された場合、SAML SSO を使う GitHub の Organization へのアクセスは自動的に認可されます。 最近ブラウザで Organization の SAML IdP が認証されていない場合は、Organization にアクセスする前に SAML IdP で認証を受ける必要があります。

認証を受けて、GitHub.com にある Organization のリソースにアクセスできるようにするには、SAML IdP を使って定期的に認証を受ける必要があります。 このログイン間隔は利用しているアイデンティティプロバイダ (IdP) によって指定されますが、一般的には 24 時間です。 このように定期的にログインしなければならないことから、アクセスの長さには制限があり、アクセスを続行するには再認証が必要になります。 アクティブな SAML セッションは、セキュリティ設定で表示および管理できます。 詳しくは、「アクティブな SAML セッションの表示と管理」をご覧ください。

リンクされた SAML ID

IdP アカウントで認証を行い、GitHub に戻ると、GitHub は、GitHub 個人アカウントとサインインした SAML ID の間の組織またはエンタープライズ内のリンクを記録します。 このリンク ID は、その組織のメンバーシップを検証するために使用されます。また、組織またはエンタープライズの設定に応じて、あなたがどの組織やチームのメンバーになっているかを判断するためにも使用されます。 各 GitHub アカウントは、組織ごとに 1 つの SAML ID にリンクできます。 同様に、各 SAML ID は、組織内の 1 つの GitHub アカウントにリンクできます。

別の GitHub アカウントに既にリンクされている SAML ID でサインインすると、その SAML ID でサインインできないことを示すエラー メッセージが表示されます。 この状況は、組織内で新しい GitHub アカウントを使用しようとしている場合に発生する可能性があります。 その GitHub アカウントでその SAML ID を使用しない場合は、その SAML ID からサインアウトしてから、SAML ログインを繰り返す必要があります。 その SAML ID を GitHub アカウントで使用する場合は、新しいアカウントにリンクできるように、古いアカウントから SAML ID のリンクを解除するように管理者に依頼する必要があります。 組織またはエンタープライズの設定によっては、管理者が SAML プロバイダー内で ID を再割り当てする必要がある場合もあります。 詳しくは、「組織に対するメンバーの SAML アクセスの表示と管理」を参照してください。

サインインする SAML ID が、現在 GitHub アカウントにリンクされている SAML ID と一致しない場合は、アカウントを再リンクしようとしているという警告が表示されます。 SAML ID はアクセスとチーム メンバーシップを管理するために使用されるため、新しい SAML ID を使用して続けると、GitHub 内のチームや組織にアクセスできなくなる可能性があります。 今後、その新しい SAML ID を認証に使用することがわかっている場合にのみ続けます。

SAML SSO を使った personal access token と SSH キーの認可

SAML SSO を使用する資格組織内の保護されたコンテンツにアクセスするために API またはコマンドライン上の Git を利用するには、認可された personal access token を HTTPS 経由で使うか、認可された SSH キーを使う必要があります。

personal access token または SSH キーを持っていない場合は、コマンド ラインの personal access token を作成するか、新しい SSH キーを生成することができます。 詳細については、「個人用アクセス トークンを管理する」または「新しい SSH キーを生成して ssh-agent に追加する」を参照してください。

新しい、または既存の personal access token か SSH キーを、SAML SSO を使用または要求する組織で利用するには、SAML SSO 組織で使うためにそのトークンや SSH キーを認可する必要があります。 詳細については、「SAMLシングルサインオンで利用するために個人アクセストークンを認可する」または「SAMLシングルサインオンで利用するためにSSHキーを認可する」を参照してください。

OAuth apps、GitHub Apps、SAML SSO について

SAML SSO を使用または要求する Organization にアクセスする OAuth app または GitHub App を認証するたびにアクティブな SAML セッションが必要です。 ブラウザーで https://github.com/orgs/ORGANIZATION-NAME/sso に移動し、アクティブな SAML セッションを作成できます。

企業または組織の所有者が Organization の SAML SSO を有効にしたか、適用した後、SAML を使用して初めて認証した後、以前に Organization へのアクセスを許可した OAuth apps または GitHub Apps を再認証する必要があります。

認証した OAuth apps を表示するには、OAuth apps ページにアクセスします。 認証した GitHub Apps を表示するには、GitHub Apps ページにアクセスします。

詳しくは、「SAML と GitHub Apps」を参照してください。

参考資料