カタログ品目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: