ゲストコラボレーターについて
Note
ゲスト コラボレーターの役割は、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 アプリケーションをクリックします。
-
左側のサイド バーで、[マニフェスト] をクリックします。
-
マニフェスト ファイル内で次の
id
1ebc4a02-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 管理システムの詳細は、「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 でユーザーとグループのプロビジョニング」