Skip to main content

SAML から OIDC への移行

SAML を使用して マネージド ユーザーを含む Enterprise のメンバーを認証している場合は、OpenID Connect (OIDC) に移行すると、IdP の条件付きアクセス ポリシーのサポートからメリットを得ることができます。

Who can use this feature?

ID プロバイダーを使用して企業内のユーザーを管理するには、GitHub Enterprise Cloud で利用可能な Enterprise Managed Users が企業で有効になっている必要があります。 詳しくは、「Enterprise Managed Users について」を参照してください。

注: Enterprise Managed Users に対する OpenID Connect (OIDC) と条件付きアクセス ポリシー (CAP) のサポートは、Microsoft Entra ID (旧称 Azure AD) でのみ使用できます。

マネージド ユーザーを含む Enterprise の SAML から OIDC への移行について

マネージド ユーザーを含む Enterprise が SAML SSO を使用して Entra ID で認証を行う場合は、OIDC に移行できます。 企業で OIDC SSO を使うと、GitHub は IdP の条件付きアクセス ポリシー (CAP) の IP 条件を自動的に使って、メンバーが IP アドレスを変更したとき、personal access token または SSH キーが使われるたびに、GitHub でのユーザー操作を検証します。

SAML から OIDC に移行する場合、以前に SAML 用にプロビジョニングされたが、GitHub Enterprise Managed User (OIDC) アプリケーションによってプロビジョニングされていないマネージド ユーザー アカウントとグループには、表示名に "(SAML)" が付加されます。

Enterprise Managed Users を使用するのが初めてで、Enterprise の認証をまだ構成していない場合は、移行する必要はなく、OIDC シングル サインオンをすぐに設定できます。 詳しくは、「エンタープライズ マネージド ユーザーの OIDC の構成」を参照してください。

警告: 新しい IdP またはテナントに移行すると、GitHub チームと IdP グループの間の接続は削除されて、移行後には復元されなくなります。 これにより、チームからすべてのメンバーが削除され、チームは IdP に接続されなくなります。これにより、Team Sync を使用して IdP から組織またはライセンスへのアクセスを管理すると混乱が発生する可能性があります。 REST API の "外部グループ" エンドポイントを使用して、移行前にチームのセットアップに関する情報を収集し、移行後に接続を復帰させることをお勧めします。 詳しくは、「外部グループ」を参照してください。

前提条件

  • GitHub.com 上の Enterprise は、ID プロバイダー (IdP) として Entra ID による認証に SAML を使用するように構成されている必要があります。 詳しくは、「エンタープライズ マネージド ユーザーの SAML シングル サインオンの構成」を参照してください。

  • GitHub.com 上の Enterprise と Entra ID のテナントの両方にアクセスする必要があります。

  • ユーザーが Enterprise のリソースをあまり使っていない時間帯に、移行をスケジュールします。 移行中は、新しいアプリケーションとユーザーを再プロビジョニングとして構成するまで、ユーザーは Enterprise にアクセスできません。

Enterprise を移行する

Enterprise を SAML から OIDC に移行するには、Entra ID で既存の GitHub Enterprise Managed User アプリケーションを無効にし、GitHub.com 上の Enterprise のセットアップ ユーザーとして移行を準備して開始した後、Entra ID で OIDC 用の新しいアプリケーションをインストールして構成します。 移行が完了し、Entra ID によってユーザーがプロビジョニングされたら、ユーザーは OIDC を使用して GitHub.com 上の Enterprise のリソースにアクセスするための認証を行うことができます。

警告: SAML から OIDC への Enterprise の移行には、最大で 1 時間かかる場合があります。 移行の間、ユーザーは GitHub.com 上の Enterprise にアクセスできません。

  1. 移行を開始する前に、Azure にサインインし、既存の GitHub Enterprise Managed User アプリケーションでのプロビジョニングを無効にします。

  2. Entra ID で条件付きアクセス (CA) ネットワークの場所ポリシーを使用していて、現在、GitHub.com 上で、Enterprise アカウントまたは Enterprise アカウントで所有しているいずれかの Organization で IP 許可一覧を使用している場合、その IP 許可一覧を無効にします。 詳細については、「Enterprise でセキュリティ設定のポリシーを適用する」および「組織に対する許可 IP アドレスを管理する」を参照してください。

  3. ユーザー名 @SHORT-CODE_admin を使って、Enterprise のセットアップ ユーザーとして GitHub.com にサインインします。SHORT-CODE は、Enterprise の短いコードに置き換えます。

  4. GitHub.com の右上の自分のプロファイル写真をクリックし、 [自分の Enterprise] をクリックします。

  5. Enterpriseのリストで、表示したいEnterpriseをクリックしてください。

  6. Enterprise アカウントのサイドバーで、 [設定] をクリックします。

  7. ID プロバイダーに進むように続行を求められたら、 [回復用コードを使用する] をクリックし、Enterprise のいずれかの回復用コードを使用してサインインします。

    注: ユーザー アカウントではなく、エンタープライズ用の回復コードを使う必要があります。 詳しくは、「エンタープライズ アカウントのシングル サインオンの回復コードをダウンロードする」を参照してください。

  8. [設定] で、 [認証セキュリティ] をクリックします。

  9. ページ下部にある [OpenID Connect シングル サインオンへの移行] の横の [Azure で構成] をクリックします。

  10. 警告を読んでから、[理解しました。OpenID Connect への移行を始めます] をクリックします。

  11. GitHub Enterprise Cloud によって IdP にリダイレクトされたら、サインインしてから指示に従って同意し、GitHub Enterprise Managed User (OIDC) アプリケーションをインストールします。 Entra ID によって OIDC での GitHub Enterprise Managed Users のアクセス許可が要求されたら、[Organization の代理として同意する] を有効にし、その後 [同意する] をクリックします。

    警告: GitHub Enterprise Managed User (OIDC) アプリケーションのインストールに同意するには、グローバル管理者権限を持つユーザーとして Entra ID にサインインする必要があります。

  12. 同意を許可すると、新しいブラウザー ウィンドウで GitHub.com が開き、マネージド ユーザーを含む Enterprise の新しいリカバリ コードのセットが表示されます。 コードをダウンロードしてから、[OIDC 認証を有効にする] をクリックします。

  13. 移行が完了するまで待ちます。最大 1 時間かかる場合があります。 移行の状態を調べるには、Enterprise の認証セキュリティ設定ページに移動します。 [SAML 認証が必要] がオンになっている場合、移行はまだ進行中です。

    警告: 移行中は、Entra ID 上のアプリケーションから新しいユーザーをプロビジョニングしないでください。

  14. 新しいタブまたはウィンドウで、GitHub.com のセットアップ ユーザーとしてサインインしたまま、admin:enterprise スコープを持つ有効期限のないpersonal access token (classic)を作成し、クリップボードにコピーします。 新しいトークンの作成の詳細については、「エンタープライズ マネージド ユーザーの SCIM プロビジョニングの構成」を参照してください。

  15. Microsoft Entra 管理センターでの GitHub Enterprise Managed User (OIDC) アプリケーションに対するプロビジョニングの設定で、[テナント URL] に「https://api.github.com/scim/v2/enterprises/YOUR_ENTERPRISE」と入力します。YOUR_ENTERPRISE は、Enterprise アカウントの名前に置き換えます。

    たとえば、Enterprise アカウントの URL が https://github.com/enterprises/octo-corp の場合、Enterprise アカウントの名前は octo-corp です。

  16. [シークレット トークン] に、先ほど作成した admin:enterprise スコープのpersonal access token (classic)を貼り付けます。

  17. 構成をテストするには、 [接続のテスト] をクリックします。

  18. 変更を保存するには、フォームの上部にある [保存] をクリックします。

  19. Microsoft Entra 管理センターで、古い GitHub Enterprise Managed User アプリケーションから新しい GitHub Enterprise Managed User (OIDC) アプリケーションにユーザーとグループをコピーします。

  20. 1 人の新しいユーザーをプロビジョニングして、構成をテストします。

  21. テストが成功した場合は、 [プロビジョニングの開始] をクリックして、すべてのユーザーのプロビジョニングを開始します。