ポリシー・リファレンス
このトピックでは、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でサポートされている変数について学習します。
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
|
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 |
|
USE | READ + NOSQL_ROWS_INSERT |
UpdateRow Query (INSERT/UPSERT、UPDATE) |
|
MANAGE | USE + NOSQL_ROWS_DELETE |
DeleteRow Query (DELETE) |
|
nosql-indexes
表8-4 nosql-indexes
動詞 | 権限 | 完全に対象となるREST API | 対象となるNoSQL Cloudドライバ・リクエスト |
---|---|---|---|
INSPECT | なし | なし | なし |
READ | NOSQL_INDEX_READ |
|
|
USE | READ + NONE |
|
|
MANAGE | READ + NOSQL_INDEX_CREATE | CreateIndex | TableRequest(CREATE INDEX) |
MANAGE | NOSQL_INDEX_DROP | DeleteIndex | TableRequest(DROP INDEX) |
各NoSQL Cloudドライバ・リクエストに必要な権限
各NoSQL Cloudドライバ・リクエストに必要な権限について学習します。
表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操作リクエストに必要な権限について学習します。
表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 |
SELECT => GetRow INSERT, UPSERT or UPDATE => UpdateRow DELETE=> DeleteRow