Skip to main content

エンタープライズ マネージド ユーザーの SAML シングル サインオンの構成

Security Assertion Markup Language (SAML) シングル サインオン (SSO) を構成することで、GitHub の エンタープライズアカウントへのアクセスを自動的に管理できます。

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

Enterprise Managed Users の SAML SSO について

Enterprise Managed Users では、GitHub.com のエンタープライズ リソースへのアクセスは、ID プロバイダー (IdP) を介して認証する必要があります。 GitHub ユーザー名とパスワードを使用して GitHub にサインインする代わりに、エンタープライズのメンバーは IdP を介してサインインします。

SAML SSO を構成した後は、IdP が利用できない場合に Enterprise へのアクセスを回復できるように、回復用コードを格納することをお勧めします。

現在、認証に SAML SSO を使っており、OIDC を使って CAP サポートの恩恵を受けたい場合は、移行パスをたどることができます。 詳しくは、「SAML から OIDC への移行」を参照してください。

前提条件

  • IdP の統合要件とサポート レベルを理解していることを確認します。 詳しくは、「Enterprise Managed Users について」を参照してください。

  • IdP は SAML 2.0 仕様に準拠している必要があります。 詳細については、OASIS の Web サイトの SAML Wiki を参照してください。

  • Enterprise Managed Users で SAML SSO 用に IdP を構成するには、IdP に対するテナントと管理アクセス権が必要です。

  • 認証とプロビジョニングを最初に構成した後、GitHub では、認証またはプロビジョニングのために別のプラットフォームへの移行は推奨されません。 認証またはプロビジョニングのために既存の企業を別のプラットフォームに移行する必要がある場合は、GitHub の営業チーム のアカウント マネージャーにお問い合わせください。

Enterprise Managed Users の SAML SSO の構成

マネージド ユーザーを含む Enterprise の SAML SSO を構成するには、IdP でアプリケーションを構成してから、GitHub.com でエンタープライズを構成する必要があります。 SAML SSO を構成したら、ユーザー プロビジョニングを構成できます。

  1. IdP を構成する
  2. Enterprise を構成する
  3. プロビジョニングを有効にする

IdP を構成する

  1. パートナー IdP を使用する場合、GitHub Enterprise Managed User アプリケーションをインストールするには、次のいずれかのリンクをクリックします。

  2. IdP で Enterprise Managed Users の SAML SSO を構成するには、次のドキュメントを参照してください。 パートナー IdP を使用しない場合は、GitHub Enterprise Cloud の SAML 構成リファレンスを使用して、IdP に汎用 SAML 2.0 アプリケーションを作成して構成できます。

  3. Enterprise をテストして構成するには、自分または GitHub.com でエンタープライズの SAML SSO を構成するユーザーを、IdP で Enterprise Managed Users 用に構成したアプリケーションに割り当てます。

  4. GitHub.com で Enterprise を引き続き構成するには、IdP にインストールしたアプリケーションから次の情報を見つけてメモします。

    その他の名前説明
    IdP のサインオン URLログイン URL、IdP URLIdP 上のアプリケーションの URL
    IdP 識別子 URL発行者SAML 認証用のサービス プロバイダーに対する IdP 識別子
    署名証明書 (Base64 エンコード)公開証明書IdP が認証要求に署名するために使用する公開証明書

エンタープライズを設定する

IdP で Enterprise Managed Users の SAML SSO を構成した後、GitHub.com でエンタープライズを構成できます。

SAML SSO の初期構成後、既存の SAML 構成の GitHub.com で更新できる設定は SAML 証明書のみです。 サインオン URL または発行元 URL を更新する必要がある場合は、まず SAML SSO を無効にしてから、新しい設定で SAML SSO を再構成する必要があります。 詳しくは、「Disabling authentication for Enterprise Managed Users」を参照してください。

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

    : セットアップ ユーザーのパスワードをリセットする必要がある場合、GitHub Support ポータル から GitHub Support に問い合わせます。

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

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

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

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

  6. [SAML シングル サインオン] で、 [Require SAML authentication](SAML 認証が必要) を選択します。

  7. [サインオン URL] に、IdP の構成時にメモした SSO 要求の IdP の HTTPS エンドポイントを入力します。

  8. [発行者] に、IdP の構成時にメモした SAML 発行者 URL を入力して、送信されたメッセージの信頼性を確認します。

  9. [公開証明書] で、IdP の構成時にメモした証明書を貼り付けて、SAML 応答を確認します。

  10. 公開証明書で、現在のシグネチャ メソッドとダイジェスト メソッドの右側にある をクリックします。

    SAML 設定の現在のシグネチャ メソッドとダイジェスト メソッドのスクリーンショット。 鉛筆アイコンがオレンジ色の枠線で強調表示されています。

  11. [シグネチャ メソッド][ダイジェスト メソッド] のドロップダウン メニューを選び、SAML 発行者が使っているハッシュ アルゴリズムをクリックします。

  12. エンタープライズで SAML SSO を有効化する前に、 [Test SAML configuration](SAML 構成のテスト) をクリックして、入力した情報が正しいか確認します。 このテストではサービス プロバイダーによって開始される (SP によって開始される) 認証が使われ、SAML 設定を保存するにはこれに成功する必要があります。

  13. [保存] をクリックします。

    注: Enterprise に SAML SSO を要求すると、セットアップ ユーザーは Enterprise にアクセスできなくなりますが、GitHub にはサインインしたままになります。 IdP によってプロビジョニングされた マネージド ユーザー アカウント のみがエンタープライズにアクセスできます。

  14. 将来的に ID プロバイダーが利用できなくなった場合でも エンタープライズ GitHub.com にアクセスできるように,[ダウンロード],[印刷],または [コピー] をクリックして回復コードを保存してください。 詳しくは、「エンタープライズ アカウントのシングル サインオンの回復コードをダウンロードする」を参照してください。

プロビジョニングの有効化

SAML SSO を有効にした後、プロビジョニングを有効にします。 詳しくは、「エンタープライズ マネージド ユーザーの SCIM プロビジョニングの構成」を参照してください。

ゲスト コラボレーターの有効化

エンタープライズで Enterprise Managed Users を使用している場合は、ゲストコラボレーターのロールを使用して、ベンダーと請負業者への制限付きアクセスを許可できます。 ゲストコラボレーターは IdP によってプロビジョニングされ、特定のリポジトリまたは組織には、そこに追加された場合のみアクセスできます。 ゲストコラボレーターは、メンバーになっている組織内の内部リポジトリと、アクセスを明示的に承認されているプライベートリポジトリにのみアクセスできます。 ゲストコラボレーターには、メンバーではない組織内の内部リポジトリは表示されません。 詳しくは、「Enterprise におけるロール」を参照してください。

SAML 認証に Azure AD または Okta を使用する場合は、ゲスト コラボレーターを使用するように IdP アプリケーションを更新することが必要な場合があります。

Azure AD を使用する場合のゲスト コラボレーターの有効化

  1. Azure portal にサインインします。

  2. [ID] をクリックします。

  3. [アプリケーション] をクリックします。

  4. [エンタープライズ アプリケーション] をクリックします。

  5. [すべてのアプリケーション] をクリックします。

  6. Enterprise Managed Users アプリケーションの詳細を表示する

  7. 左側のサイド バーで [ユーザーとグループ] をクリックします。

  8. アプリケーションの登録を表示します。

    • アプリケーションの登録に "制限付きユーザー" ロールまたは "ゲストコラボレーター" ロールが表示される場合は、いつでもゲストコラボレーターをエンタープライズに招待できます。
    • アプリケーションの登録にそれらのロールが表示されない場合は、次の手順に進みます。
  9. Azure Portal で、[アプリの登録] をクリックします。

  10. [すべてのアプリケーション] をクリックし、検索バーを使用して Enterprise Managed Users のアプリケーションを検索します。

  11. SAML アプリケーションをクリックします。

  12. 左側のサイド バーで、[マニフェスト] をクリックします。

  13. [appRoles] で、次のコードを追加します。

    {
      "allowedMemberTypes": [
        "User"
      ],
      "description": "Guest Collaborator",
      "displayName": "Guest Collaborator",
      "id": "1ebc4a02-e56c-43a6-92a5-02ee09b90824",
      "isEnabled": true,
      "lang": null,
      "origin": "Application",
      "value": "null"
    },
    

    注: id 値は重要です。 別の id 値が存在する場合、更新は失敗します。

  14. [保存] をクリックします。

Okta を使用してエンタープライズのゲスト コラボレーターを有効にする

Okta アプリケーションにゲスト コラボレーター ロールを追加するには

  1. Okta の Enterprise Managed Users のアプリケーションに移動します。

  2. [プロビジョニング] をクリックします。

  3. [プロファイル エディターに移動] をクリックします。

  4. プロファイル エディターの下部にある [ロール] を見つけて、編集アイコンをクリックします。

  5. 新しいロールを追加します。

    • [表示名] に「Guest Collaborator」と入力します。
    • [値] に「guest_collaborator」と入力します。
  6. [保存] をクリックします。

ゲスト コラボレーターをエンタープライズに追加する

Enterprise に対してゲスト コラボレーターを有効にすると、ゲスト コラボレーターをエンタープライズに追加できます。 詳しくは、「エンタープライズ マネージド ユーザーの SCIM プロビジョニングの構成」を参照してください。