SCIM 2.0 によるユーザーとチーム管理の自動化
Okta や Microsoft Entra ID などの ID プロバイダー(IdP)を通じて、ProtoPie Enterprise のユーザーアカウントとチームを自動管理するための SCIM 2.0(System for Cross-domain Identity Management)の設定方法を説明します。
SCIM とは?
IdP(Okta や Microsoft Entra ID など)でユーザーを追加・無効化したり、グループメンバーシップを変更したりすると、ProtoPie Cloud の該当アカウントとチームが自動的に更新されます。退職した従業員に招待メールを送ったり、アカウントを手動で無効化したりする必要はありません。
前提条件
Enterprise プラン(Private Cloud または On-Premises)の利用が必要です。
SCIM は認証ではなく、ユーザーアカウントの作成とライフサイクル管理を行うため、SCIM を有効にする前にSSO(SAML または OIDC)を有効にしてください。
ProtoPie Enterprise 管理者アカウントと、IdP 管理コンソールの管理者権限が必要です。
注:Google Workspace はカスタムアプリ連携で SCIM をサポートしていません。
ProtoPie で SCIM を準備する
1) SCIM とグループプロビジョニングを有効にする
Organization Settings → Authentication に移動し、SSO が有効になっていることを確認します。

User Provisioning 画面で SCIM 2.0 を On にします。SSO がオフの場合、リクエストは拒否され、"Please enable SSO first." というメッセージが表示されます。
チームレベルまで同期するには、Group provisioning も有効にします。無効のままの場合、IdP からのグループプッシュは拒否されますが、ユーザーの同期は継続されます。

2)トークンを発行し、Base URL をコピーする
SCIM 2.0 セクションで Update をクリックし、トークンを発行します。
Copy ボタンをクリックして表示された Bearer Token をコピーし、パスワードマネージャーなどの安全な場所に保管します。トークンはこの画面で一度しか表示されず、後から再表示できません。

次の形式の Base URL をコピーします:
https://<your-protopie-host>/api/scim/v2
注:末尾の /api/scim/v2 を省略すると、IdP の接続テストは失敗します。
⭐ 重要なトークンルール:**新しいトークンを発行すると、既存のトークンは直ちに無効になります。組織ごとに有効なトークンは 1 つだけです。IdP に接続済みの状態でトークンを再発行した場合、同期を継続するには IdP 側のトークンも新しい値に更新してください。
3) 接続状態を確認する
SCIM 画面上部のステータスバッジには、次の 4 つの状態のいずれかが表示されます。
ステータスバッジ | 説明 |
|---|---|
Off / Inactive | SCIM トグルがオフになっています。 |
Waiting for connection | トークンは発行されていますが、IdP はまだ接続されていません。先に IdP を設定してください。 |
Connected / Integration Complete | IdP は有効なトークンを使用して正常に接続されています。 |
Reconnection required | トークンは再発行されましたが、IdP は新しいトークンでまだ接続していません。IdP のトークンを新しい値に更新してください。 |
Okta との連携
アプリ選択のガイドライン
標準的な方法:Okta カタログから "SCIM 2.0 Test App (Header Auth)" を追加します。Basic Auth 版は使用しないでください。 ProtoPie の SCIM 認証で受け付けられるのは Authorization: Bearer トークンのみのため、Basic Auth アプリの接続テストは 401 エラーで失敗します。
既存の SAML 2.0 または SWA アプリ:App Integration Wizard で作成した場合は、General App Settings → Edit Provisioning: SCIM で SCIM を有効にし、同じアプリに紐付けます(カタログアプリにはこの設定がなく、Provisioning タブが最初から表示されます)。OIDC アプリには SCIM オプションがありません。
構成ルール:Okta で手動作成したアプリでは、1 つのアプリで OIDC と SCIM を併用できません。
SSO が OIDC の場合:ログイン用 OIDC アプリと、プロビジョニング用 SCIM 2.0 Test App (Header Auth) を別々に使用します。両方のアプリに同じ Okta ユーザーグループを割り当ててください。
SSO が SAML の場合:App Integration Wizard で SAML 2.0 アプリを 1 つ作成し、General App Settings → Provisioning で SCIM を有効にすると、ログインとプロビジョニングを同じアプリで処理できます。
Okta の設定手順
該当する場合は、SAML または SWA アプリで SCIM を有効にします。General タブで App Settings → Edit → Provisioning に移動し、SCIM を選択して保存します。プロビジョニングがすでに利用できるカタログアプリを使用する場合、この手順は不要です。

API 統合を設定します。Provisioning → Configure API Integration に移動し、Enable API Integration を選択して、次の情報を入力します。

Base URL:ProtoPie からコピーした Base URL(
https://<host>/api/scim/v2)を貼り付けます。API Token:
Bearerプレフィックス(末尾のスペースを含む)に続けて、ProtoPie からコピーしたトークンを貼り付けます(例:Bearer abc123…)。Okta ではこのプレフィックスが必要です。Microsoft Entra ID など他の IdP では、プレフィックスを付けずにトークン値のみを入力します。SAML または SWA アプリの場合:Okta には Integration → Edit 画面が表示されます。上記と同じ SCIM connector base URL を設定し、「Unique identifier field for users」では
“userName”を選択します。「Supported provisioning actions」で “Push New Users”、“Push Profile Updates”、“Push Groups” にチェックを入れます。「Authentication Mode」を“HTTP Header”に設定し、「Authorization」フィールドにBearerプレフィックスとトークン値を入力します。
接続をテストして保存します。Test API Credentials をクリックします。SAML または SWA アプリの場合は Test Connector Configuration をクリックします。テストに成功したら Save をクリックします。Okta が ProtoPie に
GET /Usersリクエストを送信すると、ProtoPie の接続状態が Connected に変わります。

ユーザーのライフサイクル操作を有効にします。Provisioning → To App で Create Users、Update User Attributes、Deactivate Users を有効にします。SAML または SWA アプリでは、Supported provisioning actions の Push New Users を有効にして構成を保存した後にのみ、To App が表示されます。Push Groups を有効にすると、Push Groups タブも追加されます。カタログアプリでは、これらのオプションをデフォルトで利用できます。

属性マッピングを確認します。次のマッピングが設定されていることを確認します。

userName←user.email(ProtoPie ではメールアドレスをユーザー名として使用します。)givenName←user.firstNamefamilyName←user.lastName電話番号など、ProtoPie で使用しない属性のマッピングは削除します。
ユーザーまたはグループを割り当てます。Assignments タブで、ProtoPie へのアクセスを許可するユーザーまたはグループを割り当てます。ユーザーが割り当てられると、Okta は ProtoPie アカウントを作成します。OIDC のように SSO アプリと SCIM アプリを分けて使用する場合は、認証とプロビジョニングの整合性を保つため、ユーザーを両方のアプリに割り当ててください。管理を簡単にするには、“ProtoPie Users” などの Okta グループを 1 つ作成し、両方のアプリに割り当てます。SSO アプリからユーザーを削除しただけでは ProtoPie アカウントは無効になりません。SCIM アプリからもユーザーを削除する必要があります。

グループをプッシュしてチームを同期します。Push Groups タブで、同期する Okta グループを追加します。ProtoPie は Okta グループ名を使用して対応するチームを作成します。

⭐Okta は変更を即時に送信します。ユーザーの割り当てまたは割り当て解除後、数秒以内に ProtoPie の People リストで確認できます。確認後、ProtoPie の接続状態が “Connected” に変わったかどうかも確認してください。
Microsoft Entra ID との連携
⭐ 開始前に正しいアプリを選択してください。Provisioning メニューは Enterprise applications 内の非ギャラリーアプリでのみ利用できます。SSO に SAML を使用する場合は、同じ非ギャラリーアプリで SSO と SCIM プロビジョニングを設定します。App registrations 経由で OIDC を使用する場合は、プロビジョニング用に別の非ギャラリーエンタープライズアプリを作成します。認証とアカウントプロビジョニングの整合性を保つため、OIDC アプリとプロビジョニングアプリの両方に同じユーザーとグループを割り当ててください。
entra.microsoft.com → Entra ID → Enterprise applications に移動し、ProtoPie 用の非ギャラリーアプリを開きます。まだアプリがない場合は、+ New application → + Create your own application を選択し、名前を入力して Integrate any other application you don’t find in the gallery (Non-gallery) を選び、Create をクリックします。アプリ作成後、左側のサイドバーで Manage の下に Provisioning が表示されることを確認します。App registrations で作成した OIDC アプリには、このメニューは表示されません。

左側のサイドバーで Provisioning を開き、+ New configuration をクリックします。自動プロビジョニングがデフォルトで選択されています。旧 Entra インターフェースでは、Get started を選び、Provisioning Mode を Automatic に設定します。
ProtoPie SCIM の認証情報を入力します。

Tenant URL:ProtoPie からコピーした Base URL(
https://<host>/api/scim/v2)を貼り付けます。Secret Token:ProtoPie からコピーしたトークンを貼り付けます。
Test Connection をクリックします。テストに成功したら Save をクリックします。Entra が ProtoPie に
GET /Users?filter=…リクエストを送信すると、ProtoPie の接続状態が Connected に変わります。テストがタイムアウトする場合は、ファイアウォールで Microsoft Entra プロビジョニングサービスの IP 範囲からの通信が許可されていることを確認してください。Mappings → Provision Microsoft Entra ID Users を開き、次のマッピングを確認します。

userName←mail。ProtoPie はuserNameをログイン用メールアドレスとして使用するため、デフォルトのuserPrincipalNameではなくmailを使用します。active←IsSoftDeletedに基づく組み込みの Switch 式を維持します。Entra でユーザーの割り当てを解除するか、ユーザーを無効化すると、ProtoPie にactive: falseが送信されます。name.givenName←givenNamename.familyName←surnameexternalId←objectId住所や電話番号など、ProtoPie で使用しない属性のマッピングは削除します。
Provision Microsoft Entra ID Groups を Enabled に設定します。Entra は各グループの
displayNameを対応する ProtoPie チーム名として使用します。

Provisioning → Overview(以前の名称は Settings)で、Scope を Sync only assigned users and groups に設定します。これにより、Entra がディレクトリ内のすべてのユーザーとグループをプロビジョニングしようとするのを防げます。

Users and groups を開き、ProtoPie にプロビジョニングするユーザーとグループを割り当てます。推奨スコープを選択した場合、割り当てられたオブジェクトのみが同期されます。

Provisioning status を On に設定し、Save をクリックします。旧インターフェースでは Start provisioning をクリックする操作に相当します。後で同期を一時停止するには、ステータスを Off にします。

☝️Microsoft Entra は約40 分ごとに増分同期サイクルを実行するため、新しく割り当てたユーザーやグループが ProtoPie にすぐ表示されない場合があります。次のサイクルを待たずにテストするには、ユーザーを選択して Provision on demand を実行し、Provisioning logs で結果を確認します。

ProtoPie の SCIM 管理アカウント
ユーザーアカウントの管理
同期後、ProtoPie は SCIM で管理されるアカウントを識別し、IdP と競合する可能性のある変更を制限します。
SCIM 管理ユーザーを識別する:管理対象アカウントは People リストで SCIM バッジが表示されます。リスト上部の SCIM フィルターを使うと、すべてのユーザー、SCIM 管理ユーザーのみ、または SCIM 管理対象外のユーザーのみを表示できます。


アカウント情報は IdP で管理します:SCIM 管理ユーザーの名前、メールアドレス、有効状態、およびアカウント削除は ProtoPie で変更できません。IdP で変更すると、次回の同期時に ProtoPie に反映されます。ユーザー行のメニュー(⋯)からメールアドレス変更とアカウント無効化のオプションがなくなり、Reset MFA のみが残ります。

ユーザーは管理対象のプロフィール情報を編集できません:アカウント設定では、SCIM 管理ユーザーの名前とメールアドレス欄が無効になり、Account managed by IdP というメッセージが表示されます。これらの情報を更新するには、管理者に連絡するか、組織の ID 管理手順に従ってください。

ユーザーは SSO でのみサインインします:SCIM 管理アカウントには ProtoPie のパスワードがなく、ProtoPie 組み込みの MFA も適用されません。People リストの MFA 列には Not applicable と表示されます。SCIM を有効にする前に使用していた ProtoPie パスワードは削除されることを、既存ユーザーに知らせてください。

ロールとプロフィール画像は ProtoPie で引き続き編集できます:管理者はユーザーの ProtoPie ロール(Admin または Member)を変更でき、ユーザーはプロフィール画像を更新できます。
チームの管理
グループプロビジョニングが有効な場合、IdP が ProtoPie のチーム作成とメンバーシップを管理します。
最初のメンバーが同期されるとチームが作成されます:IdP グループは、最初のメンバーが追加された時点で ProtoPie チームになります。新しいチームメンバーは最初に Viewer として参加し、ProtoPie でロールを昇格できます。

チームメンバーシップは IdP で管理します:ProtoPie から IdP 管理のメンバーを追加、招待、削除することはできません。SCIM 管理のチームとメンバーには SCIM バッジが表示され、Invite new member ボタンは無効になります。メンバーシップを変更するには、IdP で該当グループを更新してください。

自動で割り当てられたチームオーナーを確認します:チーム作成時、ProtoPie はアカウント作成日が最も古い組織管理者をオーナーに設定します。別のユーザーをオーナーにする場合は、同期後に ProtoPie で変更してください。
チーム名は一意である必要があります:組織内に同じ名前のチームが複数ある場合、名前が一致する IdP グループの同期は
409の一意性エラーで失敗します。ProtoPie で既存のチーム名を変更して各チーム名を一意にし、IdP からグループ同期を再試行してください。IdP グループを削除しても ProtoPie のコンテンツは削除されません:関連するチームとファイルは ProtoPie に残り、IdP グループとの接続のみが解除されます。
日常的な SCIM 管理
SCIM ユーザーとチームメンバーシップは、IdP を主な管理場所として運用してください。
新入社員:IdP でユーザーを ProtoPie プロビジョニングアプリに割り当てます。ProtoPie がアカウントを自動作成し、ユーザーは SSO でサインインします。
退職者:IdP でユーザーの割り当てを解除するか、アカウントを無効化します。ProtoPie はアカウントを無効化しますが、データは保持します。アカウントを完全に削除する必要がある場合は、ProtoPie 管理者が別途対応してください。
メールアドレスの変更:SCIM 連携後に IdP で変更したメールアドレスは ProtoPie に自動反映されません。メールアドレスを変更する必要がある場合は ProtoPie Support にお問い合わせください。
チームメンバーシップの変更:IdP で該当グループにユーザーを追加または削除します。SCIM 管理対象のメンバーシップを ProtoPie で変更しないでください。
SCIM のトラブルシューティング
接続テストで
401 Unauthorizedエラーが発生する場合:トークンが無効、期限切れ、またはコピー時に誤っている可能性があります。トークンを再発行すると、以前のトークンは直ちに無効になります。ProtoPie に Reconnection required と表示される場合は、IdP のトークンを更新して接続テストを再実行してください。接続テストで
403 Forbiddenエラーが発生する場合:ProtoPie の SCIM 2.0 トグルがオフになっています。有効にしてから接続テストを再実行してください。接続テストで
404 Not Foundエラーが発生する場合:Base URL に/api/scim/v2が含まれていることと、組織が対象となる Enterprise プランを利用していることを確認してください。グループメンバーが ProtoPie チームに表示されない場合:そのユーザーがプロビジョニングアプリに割り当てられていない可能性があります。先にユーザーを割り当ててから、IdP でグループを再試行するか保存してください。
プロビジョニングが
409の一意性エラーで失敗する場合:同じメールアドレスのアカウント、または同じ名前のチームが ProtoPie にすでに存在する可能性があります。IdP のログで具体的な競合を確認し、重複を解消してから同期を再試行してください。Okta:影響を受けたグループを Apps → Push Groups で開くか、Reports → System Log でイベントを開き、Debug Data のレスポンス本文を確認します。
Microsoft Entra:Provisioning logs で失敗した項目を開き、Troubleshooting & Recommendations を確認します。
競合を解消すると、Okta はグループプッシュを再試行します。Microsoft Entra は次回の同期サイクルで変更を適用しますが、Provision on demand を実行することもできます。
Microsoft Entra でプロビジョニングが隔離状態になる場合:一時的なサーバーまたは設定エラーによる失敗が繰り返されると、Entra がプロビジョニングを一時停止することがあります。Provisioning logs で最新のエラーを確認し、原因を解消してから Restart provisioning をクリックしてください。
SCIM の一時停止または切断
同期を一時停止するのか、SCIM 接続を完全に削除するのかに応じて、該当する方法を選択してください。
同期を一時停止する:SCIM 2.0 トグルをオフにします。マッピングとトークンは設定されたままですが、SCIM を再び有効にするまで ProtoPie はプロビジョニングリクエストを拒否します。同期を停止している間も、SCIM 管理ユーザーとチームの編集制限は維持されます。
ユーザーまたはチームを個別に切断する:People または Teams で対象を見つけ、Unlink from IdP をクリックします。リンクを解除したユーザーは ProtoPie のパスワードを持っていない可能性があるため、SSO なしでサインインする前にパスワードのリセット手順を案内してください。
ユーザーまたはチームを再接続する:IdP のプロビジョニングアプリにユーザーまたはグループを再割り当てし、完全同期を実行します。