カタログ品目ACLの更新
/api/20210901/catalog/{type}/{id}/actions/updateACL
リクエスト
- id(必須): string
base64url形式のカタログ品目ID。
- type(必須):
カタログ品目のタイプこのAPIがサポートするコンテンツ・タイプには、フォルダ、ワークブック、サブジェクト領域、分析、ダッシュボード、ダッシュボード・ページ、レポート、接続、データセット、データ・フロー、シーケンス、スクリプトおよびセマンティック・モデルが含まれます。
- application/json
object
-
aclList: array aclList
ACLのリスト
-
recursive: boolean
指定してtrueにした場合、カタログ品目がコンテナ項目である場合は、すべてのサブ項目が同じACLを継承します。
-
updateMode: string
デフォルト値:
replaceAll
指定できる値:[ "ReplaceAll", "ReplaceMatchingAccounts", "DeleteMatchingAccounts" ]
更新モード。ReplaceAllは、既存のすべてのACLを削除し、指定されたACLに置き換えます。ReplaceMatchingAccountsは、一致するアカウントに対してのみ、既存のACLを指定されたACLに置き換えます。DeleteMatchingAccountsは、指定されたアカウントのACLを削除します。
object
-
accountDisplayName: string
ユーザーまたはアプリケーション・ロールの表示名(使用可能な場合)。
-
accountGuid(必須): string
ユーザーIDまたはアプリケーション・ロール名。
-
accountType(必須): accountType
-
権限: permissions
- string
指定できる値:
[ "User", "ApplicationRole" ]
-
UserまたはApplicationRole。
- object Permissions
-
有効な権限。権限が指定されていない場合、権限は無効になります。
レスポンス
- application/json
200レスポンス
object
-
accountDisplayName: string
ユーザーまたはアプリケーション・ロールの表示名(使用可能な場合)。
-
accountGuid(必須): string
ユーザーIDまたはアプリケーション・ロール名。
-
accountType(必須): accountType
-
権限: permissions
- string
指定できる値:
[ "User", "ApplicationRole" ]
-
UserまたはApplicationRole。
- object Permissions
-
有効な権限。権限が指定されていない場合、権限は無効になります。
400レスポンス
object
-
code(必須): string
プログラムによる解析を目的とした、エラーを定義する短いエラー・コード。
-
message(必須): string
判読可能なエラー文字列。
401レスポンス
object
-
code(必須): string
プログラムによる解析を目的とした、エラーを定義する短いエラー・コード。
-
message(必須): string
判読可能なエラー文字列。
403レスポンス
object
-
code(必須): string
プログラムによる解析を目的とした、エラーを定義する短いエラー・コード。
-
message(必須): string
判読可能なエラー文字列。
404レスポンス
object
-
code(必須): string
プログラムによる解析を目的とした、エラーを定義する短いエラー・コード。
-
message(必須): string
判読可能なエラー文字列。
500レスポンス
object
-
code(必須): string
プログラムによる解析を目的とした、エラーを定義する短いエラー・コード。
-
message(必須): string
判読可能なエラー文字列。
例
- 例1 - カタログ品目のACL全体を置換します(updateMode=ReplaceAll)
- 例2 - カタログ品目へのアクセス権を持つ1人以上のユーザーおよびアプリケーション・ロールのACLの更新(updateMode=ReplaceMatchingAccounts)
- 例3 - カタログ・オブジェクトへのアクセス権を持つ1人以上のユーザーおよびアプリケーション・ロールのACLの削除(updateMode=DeleteMatchingAccounts)
これらの例は、特定のカタログ・オブジェクトMySalesWorkbook
のアクセス制御リスト(ACL)の詳細を更新する方法を示しています。アイテムのtype
値はworkbooks
です。ワークブックIDは/@Catalog/shared/Sales/MySalesWorkbook
で、Base64URLセーフでエンコードされたid
値はL0BDYXRhbG9nL3NoYXJlZC9TYWxlcy9NeVNhbGVzV29ya2Jvb2s
です。
まず、ACLの詳細が必要なワークブックのオブジェクトIDを取得します。「オブジェクトID」の値は、Oracle Analytics Serverのアイテムの「検査」ダイアログから取得できます。次に、Base64URLで値をエンコードしてid
を決定します。
例1 - カタログ品目のACL全体の置換
この例では、現在のACLを削除し、複数のアプリケーション・ロール(BI Consumer、BI Service Administrator、DV Consumer、DV Content Author)および単一ユーザー(salesadmin)の新しいACLに置き換えます。
cURLの例:
必要なtype
およびid
を指定してcURLコマンドを実行します。更新モードをReplaceAll
に設定します。
curl -i \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --request POST 'https://<hostname>/api/20210901/catalog/workbooks/L0BDYXRhbG9nL3NoYXJlZC9TYWxlcy9NeVNhbGVzV29ya2Jvb2s/actions/updateACL' \ --data '{"updateMode": "ReplaceAll", \ "aclList": [ \ { \ "accountGuid": "BIConsumer", \ "accountType": "ApplicationRole", \ "accountDisplayName": "BI Consumer", \ "permissions": { \ "read": true, \ "write": false, \ "list": true, \ "delete": false, \ "changePermission": false, \ "takeOwnership": false \ } }, { "accountGuid": "BIServiceAdministrator", \ "accountType": "ApplicationRole", \ "accountDisplayName": "BI Service Administrator", \ "permissions": { \ "read": true, \ "write": true, \ "list": true, \ "delete": true, \ "changePermission": true, \ "takeOwnership": true \ } \ }, \ { \ "accountGuid": "DVConsumer", \ "accountType": "ApplicationRole", \ "accountDisplayName": "DV Consumer", \ "permissions": { \ "read": true, \ "write": false, \ "list": true, \ "delete": false, \ "changePermission": false, \ "takeOwnership": false \ } \ }, \ { \ "accountGuid": "DVContentAuthor", \ "accountType": "ApplicationRole", \ "accountDisplayName": "DV Content Author", "permissions": { \ "read": true, \ "write": false, \ "list": true, \ "delete": false, \ "changePermission": false, \ "takeOwnership": false \ } \ }, \ { \ "accountGuid": "salesadmin", \ "accountType": "User", \ "permissions": { \ "read": true, \ "write": true, \ "list": true, \ "delete": true, \ "changePermission": true, \ "takeOwnership": false \ } \ } \ ] \ }' \
リクエスト本文の例
Not applicable.
レスポンス本文の例
Status 200:
[ { "accountGuid": "BIConsumer", "accountType": "ApplicationRole", "accountDisplayName": "BI Consumer", "permissions": { "read": true, "write": false, "list": true, "delete": false, "changePermission": false, "takeOwnership": false } }, { "accountGuid": "BIServiceAdministrator", "accountType": "ApplicationRole", "accountDisplayName": "BI Service Administrator", "permissions": { "read": true, "write": true, "list": true, "delete": true, "changePermission": true, "takeOwnership": true } }, { "accountGuid": "DVConsumer", "accountType": "ApplicationRole", "accountDisplayName": "DV Consumer", "permissions": { "read": true, "write": false, "list": true, "delete": false, "changePermission": false, "takeOwnership": false } }, { "accountGuid": "DVContentAuthor", "accountType": "ApplicationRole", "accountDisplayName": "DV Content Author", "permissions": { "read": true, "write": false, "list": true, "delete": false, "changePermission": false, "takeOwnership": false } }, { "accountGuid": "salesadmin", "accountType": "User", "permissions": { "read": true, "write": true, "list": true, "delete": true, "changePermission": true, "takeOwnership": false } } ]
例2 - カタログ品目へのアクセス権を持つ1人以上のユーザーおよびアプリケーション・ロールのACLの更新
この例では、DV Content Authorアプリケーション・ロールのACLを更新します。
cURLの例:
必要なtype
およびid
を指定してcURLコマンドを実行します。更新モードをReplaceMatchingAccounts
に設定します。
curl -i \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --request POST 'https://<hostname>/api/20210901/catalog/workbooks/L0BDYXRhbG9nL3NoYXJlZC9TYWxlcy9NeVNhbGVzV29ya2Jvb2s/actions/updateACL' \ --data '{"updateMode": "ReplaceMatchingAccounts", \ "aclList": [\ { \ "accountGuid": "DVContentAuthor", \ "accountType": "ApplicationRole", \ "permissions": { \ "read": true, \ "write": false, \ "list": true, \ "delete": false , \ "changePermission": false, \ "takeOwnership": false \ } \ } \ ] \ }' \
リクエスト本文の例
Not applicable.
レスポンス本文の例
Status 200:
[ { "accountGuid": "DVContentAuthor", "accountType": "ApplicationRole", "accountDisplayName": "DV Content Author", "permissions": { "read": true, "write": false, "list": true, "delete": false, "changePermission": false, "takeOwnership": false } } ]
例3 - カタログ品目へのアクセス権を持つ1人以上のユーザーおよびアプリケーション・ロールのACLの削除
この例では、salesadminユーザーのACLを削除します。
cURLの例:
必要なtype
およびid
を指定してcURLコマンドを実行します。更新モードをDeleteMatchingAccounts
に設定します。
curl -i \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --request POST 'https://<hostname>/api/20210901/catalog/workbooks/L0BDYXRhbG9nL3NoYXJlZC9TYWxlcy9NeVNhbGVzV29ya2Jvb2s/actions/updateACL' \ --data '{"updateMode": "DeleteMatchingAccounts", \ "aclList": [\ { \ "accountGuid": "salesadmin", \ "accountType": "User", \ "permissions": { \ "read": true, \ "write": false, \ "list": true, \ "delete": false, \ "changePermission": false, \ "takeOwnership": false \ } \ } \ ] \ }' \
リクエスト本文の例
Not applicable.
レスポンス本文の例
Status 200: