Skip to main content

SAML から OIDC への移行

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

この機能を使用できるユーザーについて

GitHub Enterprise Cloud で Enterprise Managed Users を使用するエンタープライズ アカウントで使用できます。 「Enterprise Managed Users について」をご覧ください。

Note

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 条件を自動的に使って、メンバーが Web UI を使用するか IP アドレスを変更したとき、およびpersonal access tokenまたはユーザー アカウントに関連付けられた SSH キーを使用した認証のたびに、GitHub での操作を検証します。

Note

Web セッションの CAP 保護は現在パブリック プレビュー段階にあり、変更される可能性があります。

Enterprise で IdP CAP のサポートが既に有効になっている場合は、Enterprise の [Authentication security] の設定から Web セッションの拡張保護にオプトインできます。 この機能を有効にするには、Enterprise でアクティブまたは中断状態のメンバーが 1,000 人以下である必要があります。

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

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

Warning

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

前提条件

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

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

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

Enterprise を移行する

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

Warning

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

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

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

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

  4. GitHub の右上隅にあるプロフィール写真をクリックして、[Your enterprise] をクリックします。

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

    Note

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

  6. ページの左側にある Enterprise アカウント サイドバーで、[Identity provider] をクリックします。

  7. [Identity Provider] で、[Single sign-on configuration] をクリックします。

  8. ページの下部にある [Migrate to OpenID Connect single sign-on] をクリックします。

  9. 警告を読んだら [Migrate to OIDC] をクリックします。

  10. [Begin OIDC migration] をクリックします。

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

    Warning

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

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

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

    Warning

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

  14. 新しいタブまたはウィンドウで、セットアップ ユーザーとしてサインインしたまま、scim:enterprise スコープを持つ有効期限のない personal access token (classic) を作成し、クリップボードにコピーします。 新しいトークンの作成について詳しくは、「Migrating from SAML to OIDC」をご覧ください。

  15. Microsoft Entra 管理センターでの GitHub Enterprise Managed User (OIDC) アプリケーションに対するプロビジョニングの設定で、[Tenant URL] に Enterprise のテナント URL を入力します。

    • GitHub.com の場合: https://api.github.com/scim/v2/enterprises/YOUR_ENTERPRISE。YOUR_ENTERPRISE を Enterprise アカウントの名前に置き換えます。 たとえば、Enterprise アカウントの URL が https://github.com/enterprises/octo-corp の場合、Enterprise アカウントの名前は octo-corp です。
    • GHE.com の場合: https://api.SUBDOMAIN.ghe.com/scim/v2/enterprises/SUBDOMAIN。SUBDOMAIN は、GHE.com 上の自社のサブドメインです。
  16. [Secret token] に、先ほど作成した scim:enterprise スコープのpersonal access token (classic) を貼り付けます。

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

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

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

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

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