RBAC 2.0移行: Developer APIおよびEmbedded APIの変更

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

Workatoは、ワークスペースを新しいロールベースのアクセス制御モデルに移行しています。このモデルでは、レガシーシステムロール(AdminAnalystOperator)が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ロールとして存在しない、AdminAnalystOperatorなどのレガシーロール名
  • レガシーロールエンドポイント(/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"は受け付けなくなります。

レガシー形式(移行後は拒否されます):

shell
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"
          }
        ]
      }'

新しい形式(必須):

shell
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エラーを返します。

json
{
  "message": "Role Member not found. If this is an RBAC 2.0 environment role, pass it via env_roles with role_type: \"environment\"."
}

移行後に存在しなくなったAdminAnalystOperatorなどのレガシーロール名を渡すと、エンドポイントは400エラーを返します。

json
{
  "message": "Legacy roles can't be created, edited or used after migration"
}

コラボレーターロールの更新

移行後、コラボレーターロールを更新エンドポイントはrole_type: "privilege_group"を受け付けなくなります。 代わりに、role_type: "environment"を指定したenv_rolesを渡してください。

レガシー形式(移行後は拒否されます):

shell
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"
          }
        ]
      }'

新しい形式(必須):

shell
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/copy400エラーを返します。
PUT /api/roles/:id400エラーを返します。
GET /api/members/:id/privilegesEnvironmentレベルの権限のみを返します。 プロジェクトレベルのアクセスを取得するには、コラボレーターのプロジェクト権限を取得を使用します。

代わりに、Environmentロールおよびプロジェクトロールを使用してロールを管理してください。

ロール移行

移行後、ロール移行エンドポイントは非推奨になります。移行済みワークスペースには、移行するレガシーロールが残っていないためです。

Embedded(OEM)APIの変更

これらの変更は、Embedded API内の同じコラボレーターおよびレガシーロールエンドポイントに影響します。これらはmanaged_usersをスコープとし、顧客のワークスペース内のコラボレーターとロールを管理するために使用されます。

顧客ワークスペースへのコラボレーターの招待

移行後、顧客ワークスペースにコラボレーターを招待エンドポイントには、role_type: "environment"を指定したenv_rolesが必要です。 role_nameまたはrole_type: "privilege_group"は受け付けなくなります。

レガシー形式(移行後は拒否されます):

shell
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"
      }'

新しい形式(必須):

shell
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"は受け付けなくなります。

レガシー形式(移行後は拒否されます):

shell
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"
      }'

新しい形式(必須):

shell
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"は受け付けなくなります。

レガシー形式(移行後は拒否されます):

shell
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"
      }'

新しい形式(必須):

shell
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/copy400エラーを返します。
GET /api/managed_users/:managed_user_id/members/:member_id/privilegesEnvironmentレベルの権限のみを返します。 プロジェクトレベルのアクセスを取得するには、顧客ワークスペースコラボレーターからプロジェクト権限を取得を使用します。

代わりに、Embedded API - EnvironmentロールおよびEmbedded API - プロジェクトロールを使用してロールを管理してください。

最終更新日: