データセット権限の一覧リスト

概要

この操作は、ユーザ (またはユーザの役割) が名前付きテーブルに対して付与された権限を返します。ユーザが権限の一覧表示を求めている 1 つ以上の名前付きテーブルのフル パスを受け取ります。EXECUTE (実行)、CREATE (作成)、MODIFY (変更)、DELETE (削除) の権限があります。

ユーザまたはその役割のいずれかに直接付与されている権限が返されます。EXECUTE 権限は、ユーザまたはその役割が親フォルダに対して持っている権限から継承することもできます。

特定のレスポンスを理解するには、次のビジネス ルールが参考になります。

  • リソースに対する権限が指定されていない場合には、次のような理由が考えられます。
    • ユーザが名前付きテーブルに対する EXECUTE 権限を持っていない
    • 異なるリソース タイプが指定されている
    • 存在しないリソースが指定されている
  • テーブル リストが省略された場合は、指定されたユーザ トークンが EXECUTE、CREATE、MODIFY、またはDELETE の権限を持っているすべての名前付きテーブルが返される
  • ユーザがどのテーブルに対しても権限を持っていない場合、空のレスポンスが返される

ACL 認証フロー

このリクエストを行うユーザは、少なくとも EXECUTE 権限を持っているリソースに対してのみ権限を取得できます。

HTTP GET URL 形式

すべてのテーブルに対する HTTP GET リクエストには、次の形式を使用します。

HTTP GET http://<サーバー>:<ポート>/rest/Spatial/AccessControlService/permissions/tables

指定したテーブルに対する HTTP GET リクエストには、次の形式を使用します。

HTTP GET http://<サーバー>:<ポート>/rest/Spatial/AccessControlService/permissions/tables/namedTablePath

パラメータ

パラメータ タイプ 必須 説明
namedTablePath 文字列 いいえ データセット権限が返される名前付きテーブルのパスを指定します。

HTTP POST URL 形式

HTTP POST リクエストには次の形式を使用します。

HTTP POST URL: /permissions/tables
POST BODY: {
   "resources":[
      "/Samples/NamedTables/WorldTable",
      "/Samples/NamedTables/USA"
   ]
}
POST HEADER: Content-Type:application/json

戻り値

ユーザが権限を持っているテーブルのリストを返します。

GET の例

この例は、ユーザが "/Samples/NamedTables/WorldTable" に対して持っているすべての権限を要求します。

要求 URL

http://<サーバー>:<ポート>/rest/Spatial/AccessControlService/permissions/tables/Samples/NamedTables/WorldTable

応答

{
   "name":"/Samples/NamedTables/WorldTable",
   "permissions":[
      "EXECUTE",
      "CREATE",
      "MODIFY",
      "DELETE"
   ]
}

POST の例

このリクエストは、リクエストの本文で指定されているテーブルに対してユーザが持っている権限のリストを返します。

要求 URL

http://<サーバー>:<ポート>/rest/Spatial/AccessControlService/permissions/tables

要求の本文

{
   "resources":[
      "/Samples/NamedTables/USA",
      "/Samples/NamedTables/WorldTable"
   ]
}

応答

{
   "resourcePermissions":[
      {
         "name":"/Samples/NamedTables/USA"
         "permissions":[
            "EXECUTE",
            "CREATE",
            "MODIFY",
            "DELETE"
         ]
      },
      {
         "name":"/Samples/NamedTables/WorldTable",
         "permissions":[
            "EXECUTE",
            "CREATE",
            "MODIFY",
            "DELETE"
         ]
      }
   ]
}