Okta を使用して Enterprise アカウントの SAML シングルサインオンおよび SCIM を設定する

Okta を使う Security Assertion Markup Language (SAML) シングルサインオン (SSO) および System for Cross-domain Identity Management (SCIM) を使用すると、 GitHub で Enterprise アカウントへのアクセスを自動的に管理することができます。

Enterpriseアカウントは、GitHub Enterprise Cloud、GitHub Enterprise Serverで利用できます。 詳しい情報については「Enterpriseアカウントについて」を参照してください。

ノート: Enterpriseアカウント内のOrganizationのためのユーザプロビジョニングは、現在Oktaでのみサポートされており、プライベートベータであり、変更されることがあります。 ベータへのアクセスをリクエストするには、営業チームにお問い合わせください。

Okta での SAML と SCIM について

Enterprise アカウントがアイデンティティプロバイダ (IdP) である Okta を使う SAML SSO と SCIM を使用するように設定すれば、GitHub の Enterprise アカウントや 他の Web アプリケーションへのアクセスを 1 つの集中インターフェースから制御することができます。

SAML SSO は、リポジトリや Issue、プルリクエストといった Enterprise アカウントのリソースに対するアクセスを制御し、保護します。 SCIM は、Okta で変更を行ったとき、Enterprise アカウントによって所有されている Organization に対するメンバーのアクセスを自動的に追加、管理、削除します。 詳細は、「Enterprise アカウントでセキュリティ設定を強制する」を参照してください。

SCIM を有効にすると、Okta で GitHub Enterprise Cloud アプリケーションを割り当てる任意のユーザが次のプロビジョニング機能を使えるようになります。

機能説明
新しいユーザのプッシュOkta で作成される新しいユーザは Enterprise アカウントのリソースにアクセスでき、Enterprise アカウントによって所有されている Organization にオプションで自動的に招待されます。
ユーザ無効化のプッシュOkta のユーザを無効にすると、そのユーザは Enterprise アカウントのリソースにアクセスできなくなり、Enterprise アカウントで所有されているすべての Organization から削除されます。
プロフィール更新のプッシュOkta のユーザのプロファイルに対する更新が、そのユーザの Enterprise アカウントのメタデータにプッシュされます。
ユーザの再アクティブ化Okta のユーザを再アクティブ化すると、そのユーザの Enterprise アカウントに対するアクセスが再度有効になり、オプションでそのユーザが以前メンバーだった Enterprise アカウントによって所有されている Organization に再度参加するための 招待メールがオプションで送信されます。

必要な環境

Oktaでは"Classic UI"を使わなければなりません。 詳しい情報については、Okta のブログで「Organized Navigation」を参照してください。

ダッシュボードの上にある Okta の UI 選択機能で [Classic UI] を選択

Okta で GitHub Enterprise Cloud アプリケーションを追加する

  1. Oktaで、右上のAdminをクリックしてください。 OktaのAdminボタン
  2. Oktaのダッシュボードで、Applications(アプリケーション)をクリックしてください。 Oktaダッシュボードのナビゲーションバーの"アプリケーション"アイテム
  3. [Add application] をクリックします。 Okta ダッシュボードの [Applications] タブにある [Add application] ボタン
  4. 検索フィールドに "GitHub Enterprise Cloud" と入力します。 Okta の [Search for an application] フィールド
  5. [GitHub Enterprise Cloud - Enterprise Accounts] をクリックします。
  6. [Add] をクリックします。
  7. オプションで、[Application label] の右にアプリケーションのわかりやすい名前を入力します。 [Application label] フィールド
  8. [GitHub Enterprises] の右に、Enterprise アカウントの名前を入力します。 たとえば、Enterprise アカウントの URL が https://github.com/enterprises/octo-corp の場合は、octo-corp と入力します。 [GitHub Enterprises] フィールド
  9. [Done] をクリックします。

SAML SSO の有効化とテスト

  1. Oktaで、右上のAdminをクリックしてください。 OktaのAdminボタン
  2. Oktaのダッシュボードで、Applications(アプリケーション)をクリックしてください。 Oktaダッシュボードのナビゲーションバーの"アプリケーション"アイテム
  3. Enterpriseアカウント用に作成したアプリケーションのラベルをクリックしてください。
  4. Oktaでユーザにアプリケーションを割り当ててください。 詳しい情報については、OktaのドキュメンテーションのAssign applications to usersを参照してください。
  5. アプリケーション名の下で、Sign on(サインオン)をクリックしてください。 Okta アプリケーションの [Sign on] タブ
  6. [Settings] の右にある [Edit] をクリックします。
  7. [Configured SAML Attributes] で、[groups] の右にあるドロップダウンメニューを使用して [Matches regex] を選択します。
  8. ドロップダウンメニューの右に .*.* と入力します。
  9. [Save] をクリックします。
  10. [SIGN ON METHODS] で、[View Setup Instructions] をクリックします。 Okta アプリケーションの [Sign On] タブにある [View Setup Instructions] ボタン
  11. 設定手順の情報を使用して、Enterprise アカウントの SAML を有効にします。 詳しい情報については、「Enterprise アカウントで Organization 用に SAML シングルサインオンを有効にする」参照してください。

Okta でグループを作成する

  1. Okta で、Enterprise アカウントが所有する各 Organization に合わせてグループを作成します。 各グループの名前は、Organization のアカウント名 (Organization の表示名ではく) に一致する必要があります。 たとえば、Organization の URL が https://github.com/octo-org の場合は、グループに octo-org という名前をつけます。
  2. Enterprise アカウントに作成したアプリケーションを各グループに割り当てます。 GitHub が、ユーザごとに groups データをすべて受け取ります。
  3. ユーザを所属させたい Organization に基づいて、ユーザをグループに追加します。

Okta で SCIM を使ってユーザのプロビジョニングを設定する

Enterpriseアカウントのためのユーザプロビジョニングのプライベートベータに参加しているなら、EnterpriseアカウントでSAMLを有効化すると、GitHubではデフォルトでSCIMのプロビジョニング及びプロビジョニング解除が有効になります。 IdPでSCIMを設定することによって、プロビジョニングでOrganizationのメンバーシップを管理できます。

Okta で SCIM を使ってユーザのプロビジョニングを設定するには、OAuth アプリケーションを認可して、Okta が GitHub への認証に使用するトークンを作成する必要があります。 Okta と GitHub が連携して、okta-oauth アプリケーションが作成されます。

  1. Oktaで、右上のAdminをクリックしてください。 OktaのAdminボタン
  2. Oktaのダッシュボードで、Applications(アプリケーション)をクリックしてください。 Oktaダッシュボードのナビゲーションバーの"アプリケーション"アイテム
  3. Enterpriseアカウント用に作成したアプリケーションのラベルをクリックしてください。
  4. アプリケーション名の下で、Provisioning(プロビジョニング)をクリックしてください。 Okta アプリケーションの [Provisioning] タブ
  5. [Configure API Integration] をクリックします。 Okta アプリケーションの [Configure API Integration] ボタン
  6. [Enable API integration] を選択します。 Okta アプリケーションの [Enable API integration] チェックボックス
  7. [Authenticate with Github Enterprise Cloud - Enterprise Accounts] をクリックします。 GitHub に認証するボタン
  8. Enterprise アカウント名の右にある [Grant] をクリックします。
  9. [Authorize okta-oauth] をクリックします。
  10. [Save] をクリックします。 Okta アプリケーションのプロビジョニング設定に使用する [Save] ボタン
  11. [Provisioning to App] の右にある [Edit] をクリックします。 Okta アプリケーションのプロビジョニングオプションに使用する [Edit] ボタン
  12. [Create Users] の右にある [Enable] を選択します。 Okta アプリケーションの [Create Users] オプションの [Enable] チェックボックス
  13. [Update User Attributes] の右にある [Enable] を選択します。 Okta アプリケーションの [Update User Attributes] オプションの [Enable] チェックボックス
  14. [Deactivate Users] の右にある [Enable] を選択します。 Okta アプリケーションの [Deactivate Users] オプションの [Enable] チェックボックス
  15. [Save] をクリックします。 Okta アプリケーションのプロビジョニング設定に使用する [Save] ボタン
  16. アプリケーション名の下で [ Push Groups] をクリックします。 [Push Groups] タブ
  17. [Push Groups] ドロップダウンメニューを使用して、[Find groups by name] を選択します。 [Push Groups] ドロップダウンメニュー
  18. ユーザプロビジョニングを有効にしたい Enterprise アカウントで各 Organization のプッシュグループを追加します。
    • [PUSH GROUPS BY NAME] で、Enterprise アカウントが所有する Organization に対応するグループを検索し、見つかったグループを検索結果でクリックします。
    • グループ名の右にある [Match results & push action] ドロップダウンメニューで、[Create Group] が選択されていることを確認します。 [Match result] ドロップダウンメニューで [Create Group] を選択
    • [Save] をクリックします。
    • Organization ごとに繰り返します。
  19. アプリケーション名の下で [ Assignments] をクリックします。 [Assignments] タブ
  20. [Provision users] と表示される場合は、グループのプッシュグループを追加する前に Okta グループのメンバーだったユーザは、プロビジョニングされていません。 そのようなユーザの GitHub に SCIM を送信するには、[Provision users] をクリックします。

SAML ユーザプロビジョニングを有効にする

SCIM のプロビジョニングとプロビジョニング解除を有効にすると、オプションで SAML のユーザプロビジョニングおよびプロビジョニング解除を有効にできます。

  1. GitHubの右上で、自分のプロフィール写真をクリックし、続いてYour enterprises(自分のEnterprise)をクリックしてください。 GitHubのプロフィール写真のドロップダウンメニュー内の"Your enterprises"

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

  3. Enterpriseアカウントのサイドバーで、 Settings(設定)をクリックしてください。 Enterpriseアカウントサイドバー内の設定タブ

  4. 左のサイドバーでSecurity(セキュリティ)をクリックしてください。 Security tab in the enterprise account settings sidebar

  5. [SAML User Provisioning] で、[Enable SAML user provisioning] を選択します。 SAML によるユーザプロビジョニングを有効にするチェックボックス

  6. [Save] をクリックします。

  7. オプションで、SAML ユーザプロビジョニングを有効にします。

    • [Enable SAML user deprovisioning] を選択して [Save] をクリックします。 SAML によるユーザプロビジョニング解除を有効にするチェックボックス
    • 警告を読んでから、[Enable SAML deprovisioning] をクリックします。 [Enable SAML deprovisioning] ボタン

このドキュメントは役立ちましたか?プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問するサポートへの連絡