リソース ACL の追加

概要

この操作は、指定したユーザおよび役割の指定したリソースに対する NamedResource.EXECUTE 権限を追加します。

特定のレスポンスを理解するには、次のビジネス ルールが参考になります。
  • ResourceList には、すべての名前付きマップまたはすべての名前付きレイヤのどちらか 1 種類のリソースが含まれます。

  • 権限は、従属リソースに継承されます。例えば、名前付きタイル > 名前付きマップ > 名前付きグループ レイヤ > 名前付きレイヤ > 名前付きラベル レイヤ > 名前付きラベル ソースへと継承されます。
  • オプションのパラメータ recurseToData が true の場合、EXECUTE 権限も従属名前付きテーブルに継承されます。
  • 名前付き WMTS タイルに関しては、どの従属リソースにも継承されません。
  • 指定したリソースに対する権限がすべてのユーザまたは役割に付与されます。1 回のリクエストで、ユーザまたは役割ごとに異なる権限を指定することはできません。
注: Spectrum Management Console で表示すると、EXECUTE 権限は、従属リソースとともに、指定したリソースのエンティティ NamedResource オーバーライドに追加されます。recurseToData が true の場合、EXECUTE 権限は従属名前付きテーブルにも継承されます。この場合、EXECUTE 権限が NamedResource エンティティに追加されます。

ACL 認証フロー

このリクエストを行うユーザは、WRITE 権限を持っているリポジトリ フォルダ (またはサブフォルダ) 内のリソースに対する権限のみを追加できます。

HTTP PUT URL 形式

リソース ACL を追加する場合、HTTP PUT リクエストには次の形式を使用します。

HTTP PUT URL: /acl/resources
PUT DATA:{
   "users":[
      "user1"
   ],
   "roles":[
      "role1"
   ],
   "resources":[
      "/Samples/NamedTiles/WorldTile"
   ],
   "permissions":[
      "EXECUTE"
   ],
   "recurseToData":"true"
}
PUT HEADER: Content-Type:application/json

パラメータ

パラメータ タイプ 必須 説明
ユーザ 文字列 はい ユーザのリストを指定します。リクエストで役割が指定されていない場合にのみ必須です。
ロール 文字列 はい 役割のリストを指定します。リクエストでユーザが指定されていない場合にのみ必須です。
リソース 文字列 はい リソースのリストを指定します。
権限 文字列 はい リソースに付与する必要がある権限を指定します。指定できる権限は EXECUTE のみです。
recursetoData 文字列 いいえ ACL 権限を従属名前付きテーブルに継承するかどうかを指定します。

戻り値

指定したユーザおよび役割について、EXECUTE 権限が付与されたリソース (およびその従属リソース) のリストを返します。

PUT の例

要求 URL
http://<サーバー>:<ポート>/rest/Spatial/AccessControlService/acl/resources

要求の本文

{
   "users":[
      "user1"
   ],
   "roles":[
      "role1"
   ],
   "resources":[
      "/Samples/NamedTiles/WorldTile"
   ],
   "permissions":[
      "EXECUTE"
   ],
   "recurseToData":"true"
}

応答

{
   "users":[
      "user1"
   ],
   "roles":[
      "role1"
   ],
   "resources":[
      "/Samples/NamedLayers/WorldcapFeatureLayer",
      "/Samples/NamedLayers/WorldFeatureLayer",
      "/Samples/NamedMaps/WorldMap",
      "/Samples/NamedLayers/Grid15FeatureLayer",
      "/Samples/NamedLabelSources/WorldCountriesLabelSource",
      "/Samples/NamedLayers/OceanFeatureLayer",
      "/Samples/NamedTables/OceanTable",
      "/Samples/NamedTables/Grid15Table",
      "/Samples/NamedTables/WorldcapTable",
      "/Samples/NamedTables/WorldTable",
      "/Samples/NamedTiles/WorldTile"
   ]
}