PUT: ユーザーロールの更新

REST APIを使用して、ユーザーのロールを更新できます。

注意: REST APIを使用してユーザーにロールを割り当てると、そのユーザーの既存のロールのセットが上書きされます。ユーザーに新しいロールを1つだけ追加する場合でも、更新には既存のロールを含める必要があります。それ以外の場合、含まれていないロールは割り当てられません。

ALM Octaneのロール

ALM Octaneでは、次のロールを使用できます。

各ロールの詳細については、ロールと権限の割り当てを参照してください。

注: ロールはカスタマイズできます。別の権限が必要な場合は、サイト管理者またはスペース管理者に連絡してください。

名前 論理名
スペース管理者 role.shared.space.admin

共有スペースの管理と構成 (ユーザー管理を含む) を許可します。

範囲: 共有スペース

ワークスペース管理者 role.workspace.admin

ユーザーのリストの取得を含む、ワークスペースの管理と構成を許可します。

ロールはカスタマイズできます。ロールとその権限は、組織によって異なる場合があります。

範囲: ワークスペース

リーダー role.workspace.leader

チームメンバーとワークロードの管理を許可します。

範囲: ワークスペース内のチーム

チームメンバー role.workspace.team.member

チームの一員としてのメンバーの作業に影響を与える項目の操作と編集を許可します。

範囲: ワークスペース内のチーム

テスト担当者 role.workspace.tester

テストに関連する項目の操作と編集を許可します。

範囲: ワークスペース内のチーム

DevOps管理者 role.workspace.devops.admin

ワークスペースコンテキストでCIサーバーとパイプラインの管理を許可します。

範囲: ワークスペース

ビューアー role.workspace.viewer

項目を表示します。

範囲: ワークスペース内のチーム

統合ブリッジ (非推奨) role.shared.space.integration.bridge

共有スペースコンテキストで、オンプレミスブリッジ (OPB) がOPBサービスにアクセスできるようにします。

範囲: 共有スペース

Synchronizer管理者 role.workspace.synchronizer.admin

Synchronizer管理者のロール。

範囲: ワークスペース

Synchronizerサービス role.workspace.sync.service

SaaS: この統合タイプは、ALM Octaneの内部にあります。同期サービスのロールにより、次のことが可能になります。

  • ALM Octaneから共有スペースのユーザーとロールを取得します。

  • ALM Octaneから同期されたエンティティを作成、読み取り、更新、削除します。

この統合タイプは、ALM Octaneの内部にあります。

範囲: すべてのワークスペース

サイト管理者 role.site.admin

サイト管理者にALM Octaneへのアクセスを許可します。

範囲: サイト

メンテナンスプロトコル role.site.maintenance.protocol

ALM Octaneがサイトレベルでマイクロサービス (OPB/同期) にアクセスできるようにします。

範囲: サイト

マイクロサービスサイト管理者 role.site.micro.service.site.admin

マイクロサービスがALM Octaneからサイトのユーザーとロールを取得できるようにします。

範囲: サイト

CI/CD構成 role.workspace.ci_cd_agent.configure

(APIアクセスキーの場合のみ。)

範囲: すべてのワークスペース

Octane2Bridgeサービス (非推奨) role.shared.space.octane.to.bridge.service

SaaS: この統合タイプは、ALM Octaneの内部にあります。

範囲: 共有スペース

トップに戻る

ユーザーにロールを追加する

  1. 目的のワークスペースとロールの論理名に従って、目的のロールのIDを見つけます。

    ロールは、異なるワークスペース間で同じ論理名を持つ場合がありますが、IDは異なります。

    これは、ロールIDを取得する例です。

    • スペース管理者のロールを取得します。この場合、ワークスペースIDを指定しないでください。この場合、ロールIDは1007です。

      リクエスト:

      GET .../api/shared_spaces/<sharedSpaceId>/workspace_roles?query="role EQ {logical_name EQ ^role.shared.space.admin^}"

      応答:

      {
        "total_count": 1,
        "data": [
          {
            "type": "workspace_role",
            "creation_time": "2016-10-29T19:05:29Z",
            "workspace": null,
            "role": {
              "type": "role",
              "id": "1007"
            },
            "version_stamp": 1,
            "id": "1007",
            "last_modified": "2016-10-29T19:05:29Z"
          }
        ],
        "exceeds_total_count": false
      }
    • ワークスペース1002でワークスペース管理者のロールを取得します。この場合、ロールIDは1003です。

      リクエスト:

      GET .../api/shared_spaces/<space_id>/workspace_roles?query="workspace EQ {id EQ ^1002^}; role EQ {logical_name EQ ^role.workspace.admin^}"

      応答:

      {
        "total_count": 1,
        "data": [
          {
            "type": "workspace_role",
            "creation_time": "2016-10-29T19:05:29Z",
            "workspace": {
              "type": "workspace",
              "id": "1002"
            },
            "role": {
              "type": "role",
              "id": "1003"
            },
            "version_stamp": 1,
            "id": "1011",
            "last_modified": "2016-10-29T19:05:29Z"
          }
        ],
        "exceeds_total_count": false
      }
  2. 電子メールなどで更新するユーザーを見つけ、そのユーザーの既存のロールを取得します。Dan @ moskoという名前のDan Moskoのロールを更新します。彼のIDは1003です。彼のロールIDは10111018です。

    リクエスト:

    GET .../api/shared_spaces/<space_id>/users?fields=id,name,workspace_roles&query="name EQ ^<userName>^"

    応答:

    {
      "total_count": 1,
      "data": [
        {
          "type": "sharedspace_user",
          "creation_time": "2016-10-30T07:14:44Z",
          "version_stamp": 1,
          "uid": "8l5m9xkkz8mr3h8jd0ywr2jek",
          "name": "Dan@mosko",
          "id": "1003",
          "workspaces": {
            "total_count": 2,
            "data": [
              {
                "type": "workspace",
                "name": "DAN_TEMP",
                "id": "1003"
              },
              {
                "type": "workspace",
                "name": "default_workspace",
                "id": "1002"
              }
            ]
          },
          "last_modified": "2016-10-30T07:14:44Z",
          "workspace_roles": {
            "total_count": 2,
            "data": [
              {
                "type": "workspace_role",
                "workspace": {
                  "type": "workspace",
                  "name": "DAN_TEMP",
                  "id": "1003"
                },
                "role": {
                  "type": "role",
                  "logical_name": "role.workspace.admin",
                  "name": "Workspace Admin",
                  "id": "1003"
                },
                "id": "1018"
              },
              {
                "type": "workspace_role",
                "workspace": {
                  "type": "workspace",
                  "name": "default_workspace",
                  "id": "1002"
                },
                "role": {
                  "type": "role",
                  "logical_name": "role.workspace.admin",
                  "name": "Workspace Admin",
                  "id": "1003"
                },
                "id": "1011"
              }
            ]
          }
        }
      ],
      "exceeds_total_count": false
    }
  3. PUTリクエストでユーザーのロールを更新します。

    仮定:

    • ユーザーID1003の既存のロールは次のとおりです。

      {"workspace_roles": {"data": [{"type": "workspace_role","id": "1018"} , {"type": "workspace_role","id": "1011"}]}}

    • 割り当てる新しいロールのIDは1004です。

    更新リクエストは次のとおりです。

    PUT .../api/shared_spaces/<space_id>/users/1003

    リクエストの本文は次のとおりです。

    {"workspace_roles": {"data": [{"type": "workspace_role","id": "1018"} , {"type": "workspace_role","id": "1011"} , {"type": "workspace_role","id": "1004"} ]}}

    応答本文は次のとおりです。 

    {
      "type": "sharedspace_user",
      "id": "1003"
    }

トップに戻る

REST API (オンプレミス) を使用して、サイト管理者のロールをユーザーに追加します

管理REST APIを使用するには、認証されたユーザーがサイト管理者のロールを持っている必要があります。

  1. サイト管理ユーザーとしてALM Octaneに接続します。

    POST .../authentication/sign_in

    {"user":"<site admin user name>","password":"<site admin password>"}

  2. サイト管理者ロールのIDを取得します。

    GET .../admin/roles?query="logical_name EQ ^role.site.admin^"

  3. 応答からサイト管理者のロールIDを取得します。

  4. ユーザーが現在持っているロールを一覧表示します。

    GET .../admin/users/<user id>?fields=roles
    "roles": {
                    "total_count": 1,
                    "data": [{
                                    "type": "role",
                                    "id": "<role ID>"
                    }]
    }
    
  5. サイト管理者のロールを既存のロールに追加して、更新要求のJSON要求本文を準備します (次の手順で)。

    {
                    "roles": {
                                    "data": [{
                                                    "id": "<current user role ID>",
                                                    "type": "site_role"
                                    },
                                    {
                                                    "id": "<site admin role ID>",
                                                    "type": "site_role"
                                    }]
                    }
    }
    
  6. 前の手順で作成したJSON本文を追加して、サイト管理者である必要があるユーザーのロールを更新します。

    PUT .../admin/users/<user ID>

    {
                    "roles": {
                                    "data": [{
                                                    "id": "<current user role ID>",
                                                    "type": "site_role"
                                    },
                                    {
                                                    "id": "<site admin role ID>",
                                                    "type": "site_role"
                                    }]
                    }
    }
    

トップに戻る

参照情報: