Referencia de políticas

En este tema, se tratan los detalles de la escritura de políticas para controlar el acceso a Oracle NoSQL Database Cloud Service.

Una política es un documento que especifica quién puede acceder a qué recursos de Oracle Cloud Infrastructure de la empresa y el método de acceso. Consulte Visión general de políticas para conocer los aspectos básicos de las políticas.

La sintaxis general de una sentencia de política es la siguiente:
Allow <subject> 
to <verb> <resource-type> 
in <location> 
where <conditions>
Para obtener una explicación detallada de esta sintaxis, consulte Sintaxis de políticas en la documentación de Oracle Cloud Infrastructure.

Tipos de recursos

Obtenga más información sobre los tipos de recursos soportados por Oracle NoSQL Database Cloud Service.

Los recursos son los objetos en la nube que los empleados de su empresa crean y usan al interactuar con Oracle Cloud Infrastructure (OCI).

Tipos de recursos Individuales

Un tipo de recurso individual representa un tipo específico de recurso. Como usuario, puede crear tablas NoSQL, crear índices y rellenar filas de dichas tablas en Oracle NoSQL Database Cloud Service. Por consiguiente, se identifican tres tipos de recursos individuales para Oracle NoSQL Database Cloud Service, como:

  • nosql-tables
  • nosql-rows
  • nosql-indexes

Tipo de recurso agregado

Varios tipos de recursos individuales que se suelen gestionar juntos se identifican en su conjunto como tipos de recursos agregados. Solo hay un tipo de recurso agregado en Oracle NoSQL Database Cloud Service, como:
  • nosql-family
Nota

Una política que usa <verb> nosql-family equivale a escribir una política con una sentencia <verb> <individual resource-type> independiente para cada uno de los tipos de recursos individuales.

Consulte la tabla Detalles de combinaciones de verbo + tipo de recurso para obtener un desglose detallado de las operaciones de API que cubre cada verbo, para cada tipo de recurso individual incluido en nosql-family.

Variables soportadas

Obtenga información sobre las variables soportadas por Oracle NoSQL Database Cloud Service.

Oracle NoSQL Database Cloud Service admite todas las variables generales. Consulte Variables generales para todas las solicitudes. Los tres tipos de recursos NoSQL pueden utilizar las siguientes variables, excepto ListTables y CreateTable.

Tabla 8-1 Variables soportadas

Variable Tipo de variable Comentarios
target.nosql-table.id OCID Utilice esta variable para controlar el acceso a una tabla NoSQL específica por OCID.
target.nosql-table.name Cadena Utilice esta variable para controlar el acceso a una tabla NoSQL específica por nombre.

Detalles de combinaciones de verbo + tipo de recurso

Obtenga información sobre los permisos y las operaciones de API que cubren cada verbo.

El nivel de acceso es acumulativo al recorrer la progresión inspect > read > use > manage. Un signo más (+) en una celda de la tabla indica un acceso incremental en comparación con la celda directamente por encima, mientras que no extra indica que no hay acceso incremental.

Por ejemplo, el verbo read para el tipo de recurso nosql-tables incluye los mismos permisos y operaciones de API que el verbo inspect, además del permiso NOSQL_TABLE_READ y la operación de API GetTable. En el caso del tipo de recurso nosql-tables, el verbo use cubre las operaciones de API UpdateTable en comparación con read. Por último, manage abarca más permisos y operaciones en comparación con use.

nosql-tables

Tabla 8-2 nosql-tables

Verbo Permisos API de REST totalmente cubiertas Solicitud de controlador de NoSQL Cloud cubierta
INSPECT NOSQL_TABLE_INSPECT ListTables ListTableRequest
READ INSPECT + NOSQL_TABLE_READ GetTable GetTableRequest
READ INSPECT + NOSQL_TABLE_READ

ListWorkRequests

GetWorkRequest

ListWorkRequestErrors

ListWorkRequestLogs

Ninguno
READ INSPECT + NOSQL_TABLE_READ ListTableUsage TableUsageRequest
USE READ + NOSQL_TABLE_ALTER

UpdateTable

DeleteWorkRequest

TableRequest
  • cambiar TableLimits
  • ALTER TABLE
MANAGE USE + NOSQL_TABLE_CREATE CreateTable TableRequest (CREATE TABLE)
MANAGE NOSQL_TABLE_DROP CreateTable TableRequest (DROP TABLE)
MANAGE NOSQL_TABLE_MOVE ChangeTableCompartment No se admite

nosql-rows

Tabla 8-3 nosql-rows

Verbo Permisos API de REST totalmente cubiertas Solicitud de controlador de NoSQL Cloud cubierta
INSPECT Ninguno Ninguno Ninguno
READ NOSQL_ROWS_READ

GetRow

Query (SELECT)

PrepareStatement

SummarizeStatement

  • GetRequest
  • PrepareRequest
  • QueryRequest (SELECT)
USE READ + NOSQL_ROWS_INSERT

UpdateRow

Query (INSERT/UPSERT, UPDATE)

  • PutRequest
  • WriteMultipleRequest(Put)
  • QueryRequest(INSERT/UPSERT, UPDATE)
MANAGE USE + NOSQL_ROWS_DELETE

DeleteRow

Query (DELETE)

  • DeleteRequest
  • MultiDeleteRequest
  • WriteMultipleRequest(Delete)
  • QueryRequest(DELETE)

nosql-indexes

Tabla 8-4 nosql-indexes

Verbo Permisos API de REST totalmente cubiertas Solicitud de controlador de NoSQL Cloud cubierta
INSPECT Ninguno Ninguno Ninguno
READ NOSQL_INDEX_READ
  • ListIndexes

  • GetIndex

  • GetIndexesRequest + indexName

  • GetIndexesRequest

USE READ + NONE
  • ListIndexes

  • GetIndex

  • GetIndexesRequest + indexName

  • GetIndexesRequest

MANAGE READ + NOSQL_INDEX_CREATE CreateIndex TableRequest(CREATE INDEX)
MANAGE NOSQL_INDEX_DROP DeleteIndex TableRequest(DROP INDEX)

Permiso necesario para cada solicitud de controlador de NoSQL Cloud

Obtenga información sobre los permisos necesarios para cada solicitud de controlador de NoSQL Cloud.

En la siguiente tabla se muestran las operaciones de API en un orden lógico, agrupadas por tipo de recurso. Para obtener más información sobre los permisos, consulte Permisos en la documentación de Oracle Cloud Infrastructure.

Table 8-5 Permisos

Solicitud Permisos ID de operación (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 (SELECT) NOSQL_ROWS_READ GetRow
QueryRequest (INSERT, UPSERT, UPDATE) NOSQL_ROWS_INSERT UpdateRow
QueryRequest (DELETE) NOSQL_ROWS_DELETE DeleteRow
TableRequest (CREATE TABLE) NOSQL_TABLE_CREATE CreateTable
TableRequest (ALTER TABLE) NOSQL_TABLE_ALTER UpdateTable
TableRequest (DROP TABLE) NOSQL_TABLE_DROP DeleteTable
TableUsageRequest NOSQL_TABLE_READ GetTable
WriteMultipleRequest

tiene PutRequest: NOSQL_ROWS_INSERT

tiene DeleteRequest: NOSQL_ROWS_DELETE

UpdateRow

DeleteTable

Permiso necesario para cada operación de API de REST

Obtenga más información sobre los permisos necesarios para cada solicitud de operación de API de REST.

En la siguiente tabla se muestran las operaciones de API de REST en un orden lógico, agrupadas por tipo de recurso. Para obtener más información sobre los permisos, consulte Permisos en la documentación de Oracle Cloud Infrastructure.

Tabla 8-6 Permisos

Solicitud Permisos
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
Query (SELECT) NOSQL_ROWS_READ
Query (INSERT, UPSERT, UPDATE) NOSQL_ROWS_INSERT
Query (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
Al escribir una política con request.operation, utilice el nombre de las operaciones de API. Para las operaciones Query, utilice la operación de asignación de la sentencia en la consulta. Por ejemplo:
SELECT => GetRow INSERT, UPSERT or UPDATE => UpdateRow DELETE=> DeleteRow