Okta でのプロビジョニングについて
IdP として Okta を使用する場合は、Okta のアプリケーションを使用して、ユーザー アカウントのプロビジョニング、エンタープライズ メンバーシップの管理、およびエンタープライズ内の組織のチーム メンバーシップの管理ができます。 Okta はパートナー IdP であるため、Enterprise Managed Users に Okta アプリケーションを使用することで、認証とプロビジョニングの構成を簡略化できます。 詳しくは、「Enterprise Managed Users について」を参照してください。
または、SAML 認証にのみ Okta を使用し、プロビジョニングに別の IdP を使用する場合は、GitHub の REST API for SCIM と統合できます。 詳しくは、「REST API を使用した SCIM でユーザーとグループのプロビジョニング」を参照してください。
Enterprise Managed Users のプロビジョニングの詳細については、「エンタープライズ マネージド ユーザーの SCIM プロビジョニングの構成」を参照してください。
サポートされている機能
Enterprise Managed Users では、以下の Okta のプロビジョニング機能をサポートしています。
機能 | 説明 |
---|---|
新しいユーザのプッシュ | Okta の GitHub Enterprise Managed User アプリケーションに割り当てられているユーザーは、GitHub Enterprise Cloud 上のエンタープライズで自動的に作成されます。 |
プロファイルの更新をプッシュする | Okta でユーザーのプロファイルに対して行われた更新は、GitHub Enterprise Cloud にプッシュされます。 |
プッシュ グループ | プッシュ グループとして GitHub Enterprise Managed User アプリケーションに割り当てられている Okta のグループは、GitHub Enterprise Cloud 上のエンタープライズで自動的に作成されます。 |
ユーザ無効化のプッシュ | Okta の GitHub Enterprise Managed User アプリケーションからユーザーの割り当てを解除すると、GitHub Enterprise Cloud のユーザーが無効になります。 ユーザーはサインインできませんが、ユーザーの情報は保持されます。 |
ユーザの再アクティブ化 | Okta アカウントが再アクティブ化され、GitHub Enterprise Managed User アプリケーションに再度割り当てられた Okta のユーザーが有効になります。 |
注: Enterprise Managed Users は、ユーザー名の変更をサポートしていません。
前提条件
-
認証とプロビジョニングの両方に Okta のアプリケーションを使用する必要があります。
-
Okta 製品は、クロスドメイン ID 管理 (SCIM) 用のシステムをサポートしている必要があります。 詳細については、Okta のドキュメンテーションを確認するか、Okta のサポート チームにお問い合わせください。
-
GitHub では、企業のセットアップ ユーザーに関連付けられている personal access token (classic) を使用して、Okta の SCIM アプリケーションでのみ要求を認証することをお勧めします。 トークンには admin:enterprise** スコープが**必要です。 詳しくは、「エンタープライズ マネージド ユーザーの SCIM プロビジョニングの構成」を参照してください。
エンタープライズ名の設定
マネージド ユーザーを含む Enterprise が作成されたら、Okta で Enterprise 名を設定してプロビジョニングの構成を開始できます。
- Okta の GitHub Enterprise Managed User アプリケーションに移動します。
- [サインオン] タブをクリックします。
- 変更するには、 [編集] をクリックします。
- Advanced Sign-on Settings の [エンタープライズ名] テキスト ボックスに、エンタープライズ名を入力します。 たとえば、
https://github.com/enterprises/octoinc
で Enterprise にアクセスする場合、エンタープライズ名は "octoinc" になります。 - エンタープライズ名を保存するには、 [保存] をクリックします。
プロビジョニングの構成
エンタープライズ名を設定したら、プロビジョニング設定の構成に進むことができます。
プロビジョニングを構成するには、 @SHORT-CODE_admin ユーザー名を持つセットアップ ユーザーは、admin:enterprise スコープでpersonal access token (classic)を指定する必要があります。 新しいトークンの作成について詳しくは、「エンタープライズ マネージド ユーザーの SCIM プロビジョニングの構成」を参照してください。
-
Okta の GitHub Enterprise Managed User アプリケーションに移動します。
-
[プロビジョニング****] タブをクリックします。
-
[設定] メニューで、 [統合] をクリックします。
-
変更するには、 [編集] をクリックします。
-
[Enable API integration](API 統合を有効にする) を選択します。
-
[API トークン] フィールドに、セットアップ ユーザーに属する admin:enterprise スコープを使って、personal access token (classic) を入力します。
Note
[グループのインポート] は、GitHub ではサポートされていません。 チェックボックスを選択または選択解除しても、構成には影響しません。
-
[Test API Credentials](API 資格情報のテスト) をクリックします。 テストが成功すると、確認メッセージが画面の上部に表示されます。
-
トークンを保存するには、 [保存] をクリックします。
-
[設定] メニューで To App をクリックします。
-
Provisioning to App の右側で、変更を許可するには、 [編集] をクリックします。
-
[ユーザーの作成] 、 [ユーザー属性の更新] 、 [ユーザーの非アクティブ化] の右にある [有効にする] を選びます。
-
プロビジョニングの構成を完了するには、 [保存] をクリックします。
ユーザーとグループの割り当て
認証とプロビジョニングを構成したら、GitHub Enterprise Managed User アプリケーションにユーザーまたはグループを割り当てることで、GitHub.com で新しいユーザーをプロビジョニングできるようになります。
注: GitHub Enterprise Cloud のレート制限を超えないようにするには、IdP アプリケーションに 1 時間あたり 1,000 人を超えるユーザーを割り当てないでください。 グループを使って IdP アプリケーションにユーザーを割り当てる場合、1 時間あたり 1,000 人を超えるユーザーを各グループに追加しないでください。 これらのしきい値を超えると、ユーザーをプロビジョニングしようとすると、"レート制限" エラーが発生して失敗する可能性があります。 試した SCIM プロビジョニングまたはプッシュ操作がレート制限エラーに起因して失敗したかは IdP ログで確認できます。 プロビジョニング失敗に対する反応は IdP によって異なります。 詳細については、「AUTOTITLE」を参照してください。
また、Okta の [プッシュ グループ] タブにグループを追加することで、Organization のメンバーシップを自動的に管理することもできます。 グループが正常にプロビジョニングされると、エンタープライズの組織のチームに接続できるようになります。 チームの管理について詳しくは、「ID プロバイダー グループを使用したチーム メンバーシップの管理」を参照してください。
ユーザーを割り当てるときは、GitHub Enterprise Managed User アプリケーションの [ロール] 属性を使用して、エンタープライズのユーザーのロールを GitHub Enterprise Cloud で設定できます。 割り当て可能なロールについて詳しくは、「Enterprise におけるロール」を参照してください。
注記: "ロール" 属性はグループではなく、個別のユーザーにのみ設定できます。 GitHub Enterprise Managed User アプリケーションに割り当てられているグループの全員にロールを設定する場合、グループ メンバー別に "ロール" 属性を使う必要があります。
ユーザーとグループのプロビジョニング解除
GitHub Enterprise Cloud からユーザーまたはグループを削除するには、Okta の [割り当て] タブと [プッシュ グループ] タブの両方からユーザーまたはグループを削除します。 ユーザーの場合は、[プッシュ グループ] タブのすべてのグループからユーザーが削除されていることを確認してください。