ゲストコラボレーターについて
メモ
ゲスト コラボレーターの役割は、Enterprise Managed Users でのみ使用できます。
ゲスト コラボレーターのロールを使用して、ベンダーや契約社員に限定的なアクセス権を付与できます。 ゲスト コラボレーターについての説明は以下のとおりです。
- すべての マネージド ユーザー アカウント と同様に、IdP によってプロビジョニングされます。
- Organization のメンバーとして、またはリポジトリのコラボレーターとして追加できます。
- メンバーとして追加されている Organization を除き、Enterprise 内の内部リポジトリにはアクセスできません。
ゲスト コラボレーターを有効化
認証に Microsoft Entra ID (旧称 Azure AD) または Okta を使用する場合は、IdP で Enterprise Managed Users アプリケーションの更新が必要です。
Entra IDを使用したゲストコラボレータの有効化
- 
Microsoft Azure portal にサインインします。 
- 
[ID] をクリックします。 
- 
[アプリケーション] をクリックします。 
- 
[エンタープライズ アプリケーション] をクリックします。 
- 
[すべてのアプリケーション] をクリックします。 
- 
Enterprise Managed Users アプリケーションの詳細を表示する 
- 
左側のサイド バーで [ユーザーとグループ] をクリックします。 
- 
アプリケーションの登録を表示します。 - アプリケーションの登録に "制限付きユーザー" ロールまたは "ゲストコラボレーター" ロールが表示される場合は、いつでもゲストコラボレーターをエンタープライズに招待できます。
- アプリケーションの登録にそれらのロールが表示されない場合は、次の手順に進みます。
 
- 
Azure Portal で、[アプリの登録] をクリックします。 
- 
[すべてのアプリケーション] をクリックし、検索バーを使用して Enterprise Managed Users のアプリケーションを検索します。 
- 
SAML または OIDC アプリケーションをクリックします。 
- 
左側のサイド バーで、[マニフェスト] をクリックします。 
- 
マニフェスト ファイル内で次の id1ebc4a02-e56c-43a6-92a5-02ee09b90824を検索します。- idが存在しない場合は、次の手順に進みます。
- idが存在する場合は、値- descriptionと値- displayNameを確認します。 値が- Guest Collaboratorに設定 されていない場合は、両方の名前を変更して、手順 15 に進むことができます。
 
- 
オブジェクト 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値が存在する場合、更新は失敗します。
- 
[保存] をクリックします。 
Oktaによるゲストコラボレーターの有効化
Okta アプリケーションにゲスト コラボレーター ロールを追加するには
- 
Okta の Enterprise Managed Users のアプリケーションに移動します。 
- 
[プロビジョニング] をクリックします。 
- 
[プロファイル エディターに移動] をクリックします。 
- 
プロファイル エディターの下部にある [ロール] を見つけて、編集アイコンをクリックします。 
- 
新しいロールを追加します。 - [表示名] に「Guest Collaborator」と入力します。
- [値] に「guest_collaborator」と入力します。
 
- [表示名] に「
- 
[保存] をクリックします。 
ゲスト コラボレーターをエンタープライズに追加する
IdP でゲスト コラボレーターが有効になっている場合、SCIM を使用して、 guest_collaborator ロールを持つユーザーをプロビジョニングできます。
- パートナー IdP を使用する場合、Enterprise Managed Users アプリケーションで "Roles" 属性を使用します。
- GitHub の REST API の SCIM エンドポイントを使用してユーザーをプロビジョニングする場合、 rolesユーザー属性を使用します。
パートナー IDP およびその他の ID 管理システムの詳細については、「About Enterprise Managed Users」を参照してください。
ゲストコラボレーターにリソースへのアクセス権を付与
ゲスト コラボレーターを企業に追加した場合、特定の組織またはリポジトリにユーザーを追加できます。
ユーザーを組織に追加
Organization 内のリポジトリへのアクセス権をユーザーに付与するには、そのユーザーを Organization メンバーとして追加します。
- すべてのメンバーと同様に、組織の基本権限ポリシーによって、ユーザーがデフォルトで内部リポジトリとプライベートリポジトリにアクセスできるかどうかが決定されます。 「Organization の基本レベルの権限の設定」を参照してください。
- ゲスト コラボレーターは、GitHub チームに接続され、他のエンタープライズ メンバーと同様に SCIM を介して組織に追加される IdP グループのメンバーにすることができます。 「ID プロバイダー グループを使用したチーム メンバーシップの管理」を参照してください。
リポジトリにユーザーを追加する
ユーザーに特定のリポジトリへのアクセス権を付与するには、ユーザーをリポジトリ コラボレーターとしてリポジトリに追加します。
これにより、ユーザーは同じ Organization 内のその他の内部リポジトリまたはプライベート リポジトリにアクセスしなくても、リポジトリにアクセスできるようになります。 詳しくは、「Organizationのロール」をご覧ください。
参考資料
- チュートリアル: Microsoft Entra ID ドキュメントでの GitHub Enterprise Managed User の自動ユーザープロビジョニングの構成
- PingIdentityのドキュメントで、プロビジョニングとSSOのためにPingFederateを設定します
- Okta を使用した SCIM プロビジョニングの構成
- REST API を使用した SCIM でユーザーとグループのプロビジョニング