Policy TemplateからPolicyを作成する方法

更新しました Jan 6, 2023

環境

ソフトウェア

  • SystemLink

SystemLink UI上で各ユーザが使用可能な機能等を制限する場合、役割を作成します。SystemLink Serverにアクセスしているユーザ、クライアント、サービスはそれぞれpolicyを保有しており、policyによりアクセス可能な機能が制限されています。ここではPolicyをPolicy Templateから作成する方法について確認します。
{
  "name": "<some name>",
  "type": "role",
  "templateId": "<ID of template>",
  "workspace": "<ID of workspace>"
}

 

The steps for this article are split into the following sections:

  1. 必要な要素の確認
  2. Policy TemplateのIDの取得
  3. WorkspaceのIDの取得
  4. Policyの作成
 
  1. 必要な要素の確認

    PolicyをPolicy Templateから作成する場合、下記の4つの要素が必要となります。
    {
      "name": "<some name>",
      "type": "role",
      "templateId": "<ID of template>",
      "workspace": "<ID of workspace>"
    }
    nameは任意の名前を指定します。typeはここではdefaultを使用します。templateId及びworkspaceは下記の方法でIDを取得します。
  1. Policy TemplateのIDの取得

    GET/policy-templatesを使用する事でサーバ上で作成されたpolicy templateの一覧を取得できます。レスポンスで得られるIDを使用します。

    SwaggerUI でこのHTTP APIをテストする場合、Auth Serviceのpolicy-templatesからGETリクエストを選択し、入力値を設定せずに実行する事で動作を確認できます。

    GET Policy Template.png
 
  1. WorkspaceのIDの取得

    Workspace IDはGET/Workspaceで取得します。このHTTP APIをSwaggerUI でテストする場合、User ServiceのworkspaceからGETリクエストを選択し、入力値を設定せずに実行する事で動作を確認できます。GET Workspace.png
  1. Policyの作成

    Policyの作成はPOST/policiesで行います。このHTTP APIをSwaggerUI でテストする場合、Auth ServiceのpoliciesからPOSTリクエストを選択し、下記の形のJSONを入力値として実行する事で動作を確認できます。
       
    {
      "name": "<some name>",
      "type": "role",
      "templateId": "<ID of template>",
      "workspace": "<ID of workspace>"
    }
     create a policy from template.png