注: GitHub Enterprise Server の SCIM は現在プライベート ベータ版であり、変更される可能性があります。 ベータ版にアクセスするには、GitHub の営業チーム のアカウント マネージャーにお問い合わせください。 [GitHub Community ディスカッション] にフィードバックをお寄せください。
警告: ベータ版はテストとフィードバック専用であり、サポートは利用できません。 GitHub では、ステージング インスタンスを使用したテストをお勧めします。 詳しくは、「ステージングインスタンスのセットアップ」を参照してください。
GitHub Enterprise Server のユーザー プロビジョニングについて
SAML シングル サインオン (SSO) を お使いの GitHub Enterprise Server インスタンス に使用する場合、IdP でアプリケーションを割り当てるか割り当て解除するときに、ユーザー アカウントを自動的に作成または一時停止し、インスタンスへのアクセスを許可するように SCIM を構成できます。 SCIM の詳細については、IETF の Web サイトの「クロスドメインの ID 管理用システム: プロトコル (RFC 7644)」を参照してください。
SCIM を使ったユーザー プロビジョニングを構成しない場合、アプリケーションをユーザーに割り当てるとき、または割り当てを解除するときに、IdP は GitHub Enterprise Server と自動的に通信しません。 SCIM を使わない場合、誰かが初めて GitHub Enterprise Server に移動し、あなたの IdP を使って認証してサインインしたときに、GitHub Enterprise Server により、SAML Just-in-Time (JIT) プロビジョニングを使ってユーザー アカウントが作成されます。
プロビジョニングを設定すると、GitHub Enterprise Server のアプリケーションを IdP のユーザーに割り当てたり、割り当て解除したりするときに、IdP は お使いの GitHub Enterprise Server インスタンス と通信できるようになります。 アプリケーションを割り当てると、IdP は、お使いの GitHub Enterprise Server インスタンス に対して、アカウントを作成し、オンボーディング メールをユーザーに送信するように求めます。 アプリケーションの割り当てを解除すると、IdP は GitHub Enterprise Server と通信して、SAML セッションを無効にし、メンバーのアカウントを無効にします。
Enterprise のプロビジョニングを設定するには、GitHub Enterprise Server でプロビジョニングを有効にしてから、IdP にプロビジョニングアプリケーションをインストールして設定する必要があります。
IdP のプロビジョニング アプリケーションは、SCIM API を使用して GitHub Enterprise Server と通信します。 詳しくは、「SCIM の REST API エンドポイント」を参照してください。
ID とクレームについて
IdP 管理者がユーザーに お使いの GitHub Enterprise Server インスタンスへのアクセスを許可すると、ユーザーは IdP を介して認証を行い、SAML SSO を使用して GitHub Enterprise Server にアクセスできます。
認証中、インスタンスはユーザーを SAML ID に関連付けようとします。 既定では、インスタンスは IdP からの NameID
クレームをアカウントのユーザー名と比較します。 GitHub Enterprise Server は、比較のために NameID
の値を正規化します。 ユーザー名の正規化について詳しくは、「外部認証のユーザー名に関する考慮事項」を参照してください。
インスタンス上に一致するユーザー名を持つ既存のアカウントがない場合、ユーザーはサインインに失敗します。 この一致を確認するために、GitHub Enterprise Server では、IdP からの SAML NameId
クレームを、インスタンス上で SCIM によってプロビジョニングされた各ユーザー アカウントの username
クレームと比較します。
SAML 認証中に、一部の環境では、一意の識別クレームとして NameID
以外の値を使用する場合があります。 環境でユーザーの識別に NameID
を使用しない場合は、サイト管理者がインスタンスのカスタム ユーザー属性を構成できます。 SCIM が構成されている場合、GitHub Enterprise Server では、このマッピングが考慮されます。 ユーザー属性のマッピングについて詳しくは、「Configuring SAML single sign-on for your enterprise」を参照してください。
GitHub Enterprise Server によって IdP のユーザーが正常に識別されたが、メール アドレスや姓名などのアカウントの詳しい内容が一致しない場合、インスタンスによって詳しい内容が IdP の値で上書きされます。 SCIM によってプロビジョニングされたプライマリ メール以外のメール アドレスも、ユーザー アカウントから削除されます。
サポートされているアイデンティティプロバイダ
プライベート ベータ期間中は、担当のアカウント チームが、サポートされている IdP 上の GitHub Enterprise Server に対して SCIM の構成に関するドキュメントを提供します。
前提条件
-
お使いの GitHub Enterprise Server インスタンス 用に SAML SSO を構成する必要があります。 詳しくは、「Configuring SAML single sign-on for your enterprise」を参照してください。
-
IdP にアカウントを持っていないユーザーに対して組み込みの認証を許可する必要があります。 詳しくは、「使用しているプロバイダーの外部ユーザーのためのビルトイン認証の許可」を参照してください。
-
IdP は、サービス プロバイダー (SP) への SCIM 呼び出しをサポートする必要があります。
-
GitHub Enterprise Server のユーザプロビジョニング用にアプリケーションを設定するには、IdP の管理アクセス権が必要です。
Enterprise 向けのユーザプロビジョニングを有効化する
ご利用のインスタンス上でプロビジョニング操作を行うには、組み込みのユーザー アカウントを作成し、そのアカウントを Enterprise オーナーに昇格させます。
GitHub Enterprise Server インスタンスで SCIM を有効にすると、すべてのユーザー アカウントが一時停止されます。 組み込みのユーザー アカウントでは、引き続きプロビジョニング操作を行います。 IdP からインスタンスへのアクセス権をユーザーに付与すると、IdP では SCIM を使用してインスタンスと通信し、ユーザーのアカウントの停止解除を行います。
-
ご利用のインスタンに対してプロビジョニング操作を行うための組み込みのユーザー アカウントを作成します。 詳しくは、「使用しているプロバイダーの外部ユーザーのためのビルトイン認証の許可」を参照してください。
-
専用のユーザー アカウントを Enterprise オーナーに昇格します。 詳しくは、「Enterprise を管理するようユーザを招待する」を参照してください。
-
新しい Enterprise オーナーとしてインスタンスにサインインします。
-
admin:enterprise スコープでpersonal access tokenを作成します。 personal access token に対しては、有効期限を指定しないでください。 詳しくは、「個人用アクセス トークンを管理する」を参照してください。
警告: personal access token の有効期限は決して指定しないでください。 有効期限を指定した場合、有効期限が過ぎると SCIM は機能しなくなります。
注: SCIM 構成をテストするため、および IdP で SCIM 用にアプリケーションを構成するためには、このpersonal access tokenが必要です。 手順の後半でトークンが再び必要になるまで、トークンをパスワードマネージャーに安全に保管してください。
ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
SCIM を有効にするには、アカウント マネージャーから提供されたコマンドを GitHub の営業チームで実行します。
-
設定の実行が完了するのを待ってください。
-
SCIM が動作していることを検証するには、次のコマンドを実行します。 PAT FROM STEP 3 と YOUR INSTANCE'S HOSTNAME を実際の値に置き換えます。
$ GHES_PAT="PAT FROM STEP 3" $ GHES_HOSTNAME="YOUR INSTANCE'S HOSTNAME" $ curl --location --request GET 'https://$GHES_HOSTNAME/api/v3/scim/v2/Users' \ --header 'Content-Type: application/scim' \ --header 'Authorization: Bearer $GHES_PAT'
このコマンドは、空の配列を返します。
-
ご利用の IdP 上で GitHub Enterprise Server 用のアプリケーションでユーザー プロビジョニングを構成します。 サポートされている IdP のドキュメントを要求するには、GitHub の営業チーム でアカウント マネージャーにお問い合わせください。 ご利用の IdP がサポートされていない場合は、アプリケーションを作成し、SCIM を手動で構成する必要があります。