ポリシー・リファレンス

このトピックでは、Oracle NoSQL Database Cloud Serviceへのアクセスを制御するポリシーの記述の詳細を説明します。

ポリシーとは、会社が所有するどのOracle Cloud Infrastructureリソースに誰がアクセスできるか、およびその方法を指定するドキュメントです。ポリシーの基本を学習するには、ポリシーの概要を参照してください。

ポリシー・ステートメントの全体的な構文は、次のとおりです。
Allow <subject> 
to <verb> <resource-type> 
in <location> 
where <conditions>
この構文の詳細な説明は、Oracle Cloud Infrastructureドキュメントポリシー構文を参照してください。

リソース・タイプ

Oracle NoSQL Database Cloud Serviceでサポートされているリソース・タイプについて学習します。

リソースとは、Oracle Cloud Infrastructure (OCI)と対話する際に、会社の従業員が作成して使用するクラウド・オブジェクトです。

個々のリソース・タイプ

個々のリソース・タイプは特定のタイプのリソースを表します。ユーザーは、NoSQL表を作成し、索引を作成して、Oracle NoSQL Database Cloud Serviceでそれらの表に行を移入できます。その結果、Oracle NoSQL Database Cloud Serviceには、次の3つの個別のリソース・タイプが識別されます:

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

集約リソース・タイプ

まとめて管理されることが多い複数の個別のリソース・タイプは、集約リソース・タイプとして集合的に識別されます。Oracle NoSQL Database Cloud Serviceには、次のような集約リソース・タイプが1つのみあります:
  • nosql-family
ノート

<verb> nosql-familyを使用するポリシーは、個々のリソース・タイプごとに個別の<verb> <individual resource-type>ステートメントを使用して記述することと同じです。

nosql-familyに含まれる個々のリソース・タイプについて、各動詞で説明されるAPI操作の詳細な内訳については、動詞とリソース・タイプの組合せの詳細の表を参照してください。

サポートされている変数

Oracle NoSQL Database Cloud Serviceでサポートされている変数について学習します。

Oracle NoSQL Database Cloud Serviceでは、すべての一般的な変数がサポートされます。すべてのリクエストの一般的な変数を参照してください。3つのNoSQLリソース・タイプはすべて、ListTablesおよびCreateTableを除く次の変数を使用できます。

表8-1 サポートされている変数

変数 変数タイプ コメント
target.nosql-table.id OCID この変数を使用して、OCID別に特定のNoSQL表に対するアクセスを制御します。
target.nosql-table.name 文字列 この変数を使用して、名前別に特定のNoSQL表に対するアクセスを制御します。

動詞とリソース・タイプの組合せの詳細

各動詞で対象となる権限およびAPI操作について学習します。

アクセス・レベルは、inspect > read > use > manageの順に累積されます。表セル内のプラス記号(+)は、その上のセルと比較して増分アクセスを示しますが、余分なしは増分アクセスを示しません。

たとえば、nosql-tablesリソース・タイプに対するread動詞には、inspect動詞と同じ権限およびAPI操作に加えて、NOSQL_TABLE_READ権限とGetTable API操作が含まれます。nosql-tablesリソース・タイプの場合、use動詞はreadと比較してUpdateTable API操作をカバーしています。最後に、manageではuseと比較してより多くの権限および操作をカバーします。

nosql-tables

表8-2 nosql-tables

動詞 権限 完全に対象となるREST API 対象となるNoSQL Cloudドライバ・リクエスト
INSPECT NOSQL_TABLE_INSPECT ListTables ListTableRequest
READ INSPECT + NOSQL_TABLE_READ GetTable GetTableRequest
READ INSPECT + NOSQL_TABLE_READ

ListWorkRequests

GetWorkRequest

ListWorkRequestErrors

ListWorkRequestLogs

なし
READ INSPECT + NOSQL_TABLE_READ ListTableUsage TableUsageRequest
USE READ + NOSQL_TABLE_ALTER

UpdateTable

DeleteWorkRequest

TableRequest
  • change 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 サポート対象外

nosql-rows

表8-3 nosql-rows

動詞 権限 完全に対象となるREST API 対象となるNoSQL Cloudドライバ・リクエスト
INSPECT なし なし なし
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

表8-4 nosql-indexes

動詞 権限 完全に対象となるREST API 対象となるNoSQL Cloudドライバ・リクエスト
INSPECT なし なし なし
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)

NoSQL Cloudドライバ・リクエストに必要な権限

NoSQL Cloudドライバ・リクエストに必要な権限について学習します。

次の表は、API操作を論理的な順序で、リソース・タイプ別にグループ化して示しています。権限の詳細は、Oracle Cloud Infrastructureドキュメント権限を参照してください。

表8-5 権限

リクエスト 権限 操作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 (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

PutRequestがある: NOSQL_ROWS_INSERT

DeleteRequestがある: NOSQL_ROWS_DELETE

UpdateRow

DeleteTable

各REST API操作に必要な権限

各REST API操作リクエストに必要な権限について学習します。

次の表は、REST API操作を論理的な順序で、リソース・タイプ別にグループ化して示しています。権限の詳細は、Oracle Cloud Infrastructureドキュメント権限を参照してください。

表8-6 権限

リクエスト 権限
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
request.operationでポリシーを記述する場合は、API操作の名前を使用します。問合せ操作の場合は、問合せで文のマッピング操作を使用します。例:
SELECT => GetRow INSERT, UPSERT or UPDATE => UpdateRow DELETE=> DeleteRow