Oracle NoSQL Database Cloud Service 策略参考

了解 Oracle NoSQL Database Cloud Service 策略支持的变量、权限和 Verb + Reource-Type 组合。

本文章包含以下主题:

支持的变量

了解 Oracle NoSQL Database Cloud Service 支持的变量。

Oracle NoSQL Database Cloud Service 支持所有常规变量。请参见 General Variables for All Requests 。除 ListTablesCreateTable 外,这三种 NoSQL 资源类型都可以使用以下变量。

表 - 支持的变量

变量 变量类型 注释
target.nosql-table.id OCID 使用此变量可以按 OCID 控制对特定 NoSQL 表的访问。
target.nosql-table.name 字符串 使用此变量可以按名称控制对特定 NoSQL 表的访问。

有关动词 + 资源类型组合的详细信息

了解每个动词所涵盖的权限和 API 操作。

inspect > read > use > manage 开始,访问级别是累加的。表单元格中的加号 (+) 指示与正上方的单元格相比的增量访问,而无额外表示无增量访问。

例如,nosql-tables 资源类型的读取动词包含与检查动词相同的权限和 API 操作,以及 NOSQL_TABLE_READ 权限和 GetTable API 操作。对于 nosql-tables 资源类型,与读取相比,使用动词涵盖 UpdateTable API 操作。最后,与使用相比,管理涵盖了更多的权限和操作。

nosql-tables

表 - nosql-tables

命令动词 权限 REST API 完全覆盖 NoSQL 涵盖的云驱动程序请求
INSPECT NOSQL_TABLE_INSPECT ListTables ListTableRequest
READ 检查 + NOSQL_TABLE_READ GetTable GetTableRequest
READ 检查 + NOSQL_TABLE_READ

ListWorkRequests

GetWorkRequest

ListWorkRequestErrors

ListWorkRequestLogs

READ 检查 + NOSQL_TABLE_READ ListTableUsage TableUsageRequest
USE 阅读 + NOSQL_TABLE_ALTER

UpdateTable

DeleteWorkRequest

TableRequest
  • 更改 TableLimits
  • 变更表
管理 使用 + NOSQL_TABLE_CREATE CreateTable TableRequest(创建表)
管理 NOSQL_TABLE_DROP CreateTable TableRequest(删除表)
管理 NOSQL_TABLE_MOVE ChangeTableCompartment 不支持

nosql-rows

表 - nosql-rows

命令动词 权限 REST API 完全覆盖 NoSQL 涵盖的云驱动程序请求
INSPECT
READ NOSQL_ROWS_READ

GetRow

查询 (SELECT)

PrepareStatement

SummarizeStatement

  • GetRequest
  • PrepareRequest
  • QueryRequest(选择)
USE 阅读 + NOSQL_ROWS_INSERT

UpdateRow

查询(INSERT/UPSERT、UPDATE)

  • PutRequest
  • WriteMultipleRequest(放置)
  • QueryRequest(插入/上插,更新)
管理 使用 + NOSQL_ROWS_DELETE

DeleteRow

查询 (DELETE)

  • DeleteRequest
  • MultiDeleteRequest
  • WriteMultipleRequest(删除)
  • QueryRequest(删除)

nosql-indexes

表 - nosql-index

命令动词 权限 REST API 完全覆盖 NoSQL 涵盖的云驱动程序请求
INSPECT
READ NOSQL_INDEX_READ
  • ListIndexes

  • GetIndex

  • GetIndexesRequest + indexName

  • GetIndexesRequest

USE 读取 + 无
  • ListIndexes

  • GetIndex

  • GetIndexesRequest + indexName

  • GetIndexesRequest

管理 阅读 + NOSQL_INDEX_CREATE CreateIndex TableRequest(创建索引)
管理 NOSQL_INDEX_DROP DeleteIndex TableRequest(删除索引)

每个 NoSQL Cloud Driver Request 需要权限

了解每个 NoSQL Cloud Driver Request 的所需权限。

下表按逻辑顺序列出了 API 操作,并按资源类型分组。有关权限的信息,请参阅 Oracle Cloud Infrastructure 文档中的权限

表 - 权限

请求 权限 操作 ID (request.operation)
DeleteRequest NOSQL_ROWS_DELETE DeleteRow
GetIndexesRequest NOSQL_INDEX_READ GetIndex
GetRequest NOSQL_ROWS_READ GetRow
GetTableRequest NOSQL_TABLE_READ GetTable
ListTablesRequest NOSQL_TABLE_INSPECT ListTables
MultiDeleteRequest NOSQL_ROWS_DELETE DeleteRow
PrepareRequest NOSQL_ROWS_READ GetRow
PutRequest NOSQL_ROWS_INSERT UpdateRow
QueryRequest(选择) NOSQL_ROWS_READ GetRow
QueryRequest(插入、更新、更新) NOSQL_ROWS_INSERT UpdateRow
QueryRequest(删除) NOSQL_ROWS_DELETE DeleteRow
TableRequest(创建表) NOSQL_TABLE_CREATE CreateTable
TableRequest(变更表) NOSQL_TABLE_ALTER UpdateTable
TableRequest(删除表) NOSQL_TABLE_DROP DeleteTable
TableUsageRequest NOSQL_TABLE_READ GetTable
WriteMultipleRequest

包含 PutRequest:NOSQL_ROWS_INSERT

包含 DeleteRequest:NOSQL_ROWS_DELETE

UpdateRow

DeleteTable

每个 REST API 操作都需要权限

了解每个 REST API 操作请求所需的权限。

下表按逻辑顺序列出了 REST API 操作,并按资源类型分组。有关权限的信息,请参阅 Oracle Cloud Infrastructure 文档中的权限

表 - 权限

请求 权限
ListTables NOSQL_TABLE_INSPECT
CreateTable NOSQL_TABLE_CREATE
GetTable NOSQL_TABLE_READ
UpdateTable NOSQL_TABLE_ALTER
DeleteTable NOSQL_TABLE_DROP
ListIndexes NOSQL_INDEX_READ
CreateIndex NOSQL_INDEX_CREATE
GetIndex NOSQL_INDEX_READ
DeleteIndex NOSQL_INDEX_DROP
GetRow NOSQL_ROWS_READ
UpdateRow NOSQL_ROWS_INSERT
DeleteRow NOSQL_ROWS_DELETE
ListTableUsage NOSQL_TABLE_READ
ChangeTableCompartment NOSQL_TABLE_ALTER
查询 (SELECT) NOSQL_ROWS_READ
查询(INSERT、UPSERT、UPDATE) NOSQL_ROWS_INSERT
查询 (DELETE) NOSQL_ROWS_DELETE
PrepareStatement NOSQL_TABLE_READ
SummarizeStatement NOSQL_TABLE_READ
ListWorkRequests NOSQL_TABLE_READ
GetWorkRequest NOSQL_TABLE_READ
DeleteWorkRequest NOSQL_TABLE_ALTER
ListWorkRequestErrors NOSQL_TABLE_READ
ListWorkRequestLogs NOSQL_TABLE_READ
使用 request.operation 编写策略时,请使用 API 操作的名称。对于查询操作,请使用查询中语句的映射操作。例如:
SELECT => GetRow INSERT, UPSERT or UPDATE => UpdateRow DELETE=> DeleteRow