RBAC 2.0移行: Developer APIおよびEmbedded APIの変更
Workatoは、ワークスペースを新しいロールベースのアクセス制御モデルに移行しています。このモデルでは、レガシーシステムロール(Admin、Analyst、Operator)がEnvironmentロールとプロジェクトロールに置き換えられます。 このドキュメントでは、ワークスペースでこの移行が完了した後に有効になるDeveloper APIおよびEmbedded APIのペイロードとレスポンスの変更を示します。
アクションが必要です
ワークスペースの移行後、これらのエンドポイントはrole_nameパラメーターまたはenv_roles[role_type]: "privilege_group"を受け付けなくなります。 中断を回避するには、ワークスペースを移行する前に、role_type: "environment"を指定したenv_rolesを使用するように連携を更新してください。
これは自分に影響しますか
Developer APIまたはEmbedded APIで次のいずれかを使用している場合、この変更は連携に影響します。
- コラボレーターの招待または更新に使用する
role_nameパラメーター privilege_groupに設定されたenv_roles[role_type]- ワークスペース内にカスタムEnvironmentロールとして存在しない、
Admin、Analyst、Operatorなどのレガシーロール名 - レガシーロールエンドポイント(
/api/roles、/api/managed_users/:managed_user_id/roles)またはロール移行エンドポイント(/api/roles_migration/*)
未移行
ワークスペースがまだ移行されていない場合は、既存のワークスペースコラボレーター、レガシーロール、およびEmbedded API - 顧客の管理ドキュメントを引き続き使用してください。 このページの変更は、ワークスペースで移行が完了するまで適用されません。 移行に関するガイダンスについては、カスタマーサクセスマネージャーまたはWorkato Supportにお問い合わせください。
Developer APIの変更
これらの変更は、Developer APIのコラボレーターおよびレガシーロールエンドポイントに影響します。これらは、自分のワークスペース内のコラボレーターとロールを管理するために使用されます。
コラボレーターの招待
移行後、コラボレーターを招待エンドポイントには、role_type: "environment"を指定したenv_rolesが必要です。 role_nameまたはrole_type: "privilege_group"は受け付けなくなります。
レガシー形式(移行後は拒否されます):
curl --location 'https://YOUR_DATA_CENTER/api/member_invitations' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <api_token>' \
--data-raw '{
"name": ":name",
"email": ":email",
"env_roles": [
{
"environment_type": "dev",
"name": "Member",
"role_type": "privilege_group"
}
]
}'新しい形式(必須):
curl --location 'https://YOUR_DATA_CENTER/api/member_invitations' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <api_token>' \
--data-raw '{
"name": ":name",
"email": ":email",
"env_roles": [
{
"environment_type": "dev",
"name": "Member",
"role_type": "environment"
}
]
}'Environmentロールとしてのみ存在するロール名に対してenv_roles[role_type]: "privilege_group"を渡すと、エンドポイントは400エラーを返します。
{
"message": "Role Member not found. If this is an RBAC 2.0 environment role, pass it via env_roles with role_type: \"environment\"."
}移行後に存在しなくなったAdmin、Analyst、Operatorなどのレガシーロール名を渡すと、エンドポイントは400エラーを返します。
{
"message": "Legacy roles can't be created, edited or used after migration"
}コラボレーターロールの更新
移行後、コラボレーターロールを更新エンドポイントはrole_type: "privilege_group"を受け付けなくなります。 代わりに、role_type: "environment"を指定したenv_rolesを渡してください。
レガシー形式(移行後は拒否されます):
curl --location --request PUT 'https://YOUR_DATA_CENTER/api/members/:id' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
--data '{
"env_roles": [
{
"environment_type": "dev",
"name": "Analyst",
"role_type": "privilege_group"
}
]
}'新しい形式(必須):
curl --location --request PUT 'https://YOUR_DATA_CENTER/api/members/:id' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
--data '{
"env_roles": [
{
"environment_type": "dev",
"name": "Member",
"role_type": "environment"
}
]
}'レガシーロール
移行後、レガシーロールエンドポイントは非推奨になります。移行済みワークスペースには、一覧表示、コピー、更新するレガシーカスタムロールが存在しなくなるためです。
| エンドポイント | 移行後の動作 |
|---|---|
| GET /api/roles | 空のレスポンスとともに200 OKステータスを返します。 |
| POST /api/roles/:id/copy | 400エラーを返します。 |
| PUT /api/roles/:id | 400エラーを返します。 |
| GET /api/members/:id/privileges | Environmentレベルの権限のみを返します。 プロジェクトレベルのアクセスを取得するには、コラボレーターのプロジェクト権限を取得を使用します。 |
代わりに、Environmentロールおよびプロジェクトロールを使用してロールを管理してください。
ロール移行
移行後、ロール移行エンドポイントは非推奨になります。移行済みワークスペースには、移行するレガシーロールが残っていないためです。
Embedded(OEM)APIの変更
これらの変更は、Embedded API内の同じコラボレーターおよびレガシーロールエンドポイントに影響します。これらはmanaged_usersをスコープとし、顧客のワークスペース内のコラボレーターとロールを管理するために使用されます。
顧客ワークスペースへのコラボレーターの招待
移行後、顧客ワークスペースにコラボレーターを招待エンドポイントには、role_type: "environment"を指定したenv_rolesが必要です。 role_nameまたはrole_type: "privilege_group"は受け付けなくなります。
レガシー形式(移行後は拒否されます):
curl --location 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/member_invitations' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <api_token>' \
--data-raw '{
"name": ":name",
"email": ":email",
"role_name": "Admin"
}'新しい形式(必須):
curl --location 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/member_invitations' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <api_token>' \
--data-raw '{
"name": ":name",
"email": ":email",
"env_roles": [
{
"environment_type": "dev",
"name": "Environment manager",
"role_type": "environment"
}
]
}'顧客ワークスペースへのコラボレーターの追加
移行後、顧客ワークスペースにコラボレーターを追加エンドポイントには、role_type: "environment"を指定したenv_rolesが必要です。 role_nameまたはrole_type: "privilege_group"は受け付けなくなります。
レガシー形式(移行後は拒否されます):
curl --location 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/members' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <api_token>' \
--data-raw '{
"name": ":name",
"role_name": "Admin",
"external_id": ":external_id"
}'新しい形式(必須):
curl --location 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/members' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <api_token>' \
--data-raw '{
"name": ":name",
"external_id": ":external_id",
"env_roles": [
{
"environment_type": "dev",
"name": "Environment manager",
"role_type": "environment"
}
]
}'顧客ワークスペースコラボレーターの更新
移行後、顧客ワークスペースコラボレーターを更新エンドポイントには、role_type: "environment"を指定したenv_rolesが必要です。 role_nameまたはrole_type: "privilege_group"は受け付けなくなります。
レガシー形式(移行後は拒否されます):
curl --location --request PUT 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/members/:member_id' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
--data '{
"role_name": "Admin"
}'新しい形式(必須):
curl --location --request PUT 'https://YOUR_DATA_CENTER/api/managed_users/:managed_user_id/members/:member_id' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
--data '{
"env_roles": [
{
"environment_type": "dev",
"name": "Environment admin",
"role_type": "environment"
}
]
}'レガシーロール
移行後、Embedded API - レガシーロールエンドポイントは非推奨になります。移行済み顧客ワークスペースには、一覧表示またはコピーするレガシーカスタムロールが存在しなくなるためです。
| エンドポイント | 移行後の動作 |
|---|---|
| GET /api/managed_users/:managed_user_id/roles | 空のレスポンスとともに200 OKステータスを返します。 |
| POST /api/managed_users/:managed_user_id/roles/:role_id/copy | 400エラーを返します。 |
| GET /api/managed_users/:managed_user_id/members/:member_id/privileges | Environmentレベルの権限のみを返します。 プロジェクトレベルのアクセスを取得するには、顧客ワークスペースコラボレーターからプロジェクト権限を取得を使用します。 |
代わりに、Embedded API - EnvironmentロールおよびEmbedded API - プロジェクトロールを使用してロールを管理してください。
最終更新日: