管理 Oracle NoSQL Database Cloud Service 表格的存取

瞭解如何撰寫原則及檢視您可能用來授權存取 Oracle NoSQL Database Cloud Service 表格的一般原則敘述句。

本文包含下列主題:

存取跨租用戶的 NoSQL 表格

本主題描述如何撰寫讓租用戶存取其他租用戶之 NoSQL 表格的原則。

如果您是原則的新手,請參閱原則入門

跨租用戶原則

您的組織可能想要與擁有自己的租用戶的其他組織共用資源。它可以是貴公司中的另一個業務單位、貴公司的客戶、為貴公司提供服務的公司等等。在這類情況下,除了之前說明的必要使用者和服務原則之外,您還需要跨租用戶原則。

若要存取和共用資源,這兩個租用戶的管理員都需要建立特殊原則敘述句,以明確說明可以存取和共用的資源。這些特殊陳述式使用定義背書入學等字。

背書、入學與定義陳述

以下是跨租用戶敘述句中使用的特殊動詞簡介:

背書:說明您自己租用戶中的群組可以在其他租用戶中執行的一般能力集。Endorse 敘述句一律屬於租用戶,其中使用者群組會跨越其他租用戶的界限,以使用該租用戶的資源。在範例中,您將此租用戶視為來源。

許可權:說明您要從其他租用戶授予群組之您自己租用戶的能力種類。許可證聲明屬於授予租用戶「許可」的租用戶。Admit 敘述句可識別需要來源租用戶資源存取,並以相應的 Endorse 敘述句識別的使用者群組。在範例中,您將此租用戶視為目的地。

定義:將別名指派給 Endorse 和 Admit 原則敘述句的租用戶 OCID。目的地租用戶中也必須要有「定義」敘述句,才能將別名指定給「入學」敘述句的來源 IAM 群組 OCID。

定義陳述式必須包含在與背書或入學陳述式相同的政策實體中。Endorse 和 Admit 敘述句可共同運作,但它們位於每個租用戶中各一個不同的原則中。若無指定存取權的對應陳述式,特定的「背書」或「入學」陳述式將不授予存取權。您需要兩個租用戶的協議。

注意:除了原則敘述句之外,您還必須訂閱區域才能跨區域共用資源。

來源租用戶原則敘述句

來源管理員會建立原則敘述句,為允許管理目的地租用戶中資源的來源 IAM 群組背書。

注意:跨租用戶原則也可以與其他原則主體一起撰寫。如需有關原則主體的詳細資訊,請參閱 Oracle Cloud Infrastructure 文件中的原則語法

以下是一個廣泛的原則敘述句範例,它背書 IAM 群組 NoSQLAdmins 群組對任何租用戶的所有 NoSQL 表格執行任何動作:

Endorse group NoSQLAdmins to manage nosql-family in any-tenancy

若要撰寫可減少租用戶存取範圍的原則,目的地管理員必須提供目的地租用戶 OCID。以下是背書 IAM 群組 NoSQLAdmins 群組,僅管理 DestinationTenancy 中 NoSQL 表格的原則敘述句範例:

Define tenancy DestinationTenancy as ocid1.tenancy.oc1..<destination_tenancy_OCID>
Endorse group NoSQLAdmins to manage nosql-family in tenancy DestinationTenancy

目的地租用戶原則敘述句

目的地管理員建立下列原則敘述句:

以下是背書來源租用戶中 IAM 群組 NoSQLAdmins 對您租用戶中所有 NoSQL 表格執行任何動作的原則敘述句範例:

Define tenancy SourceTenancy as ocid1.tenancy.oc1..<source_tenancy_OCID>
Define group NoSQLAdmins as ocid1.group.oc1..<group_OCID>
Admit group NoSQLAdmins of tenancy SourceTenancy to manage nosql-family in tenancy

以下是為來源租用戶中僅管理開發區間之 NoSQL 表格的 IAM 群組 NoSQLAdmins 背書的原則敘述句範例:

Define tenancy SourceTenancy as ocid1.tenancy.oc1..<source_tenancy_OCID>
Define group NoSQLAdmins as ocid1.group.oc1..<group_OCID>
Admit group NoSQLAdmins of tenancy SourceTenancy to manage nosql-family in compartment Develop

提供其他使用者管理 NoSQL 表格的權限

當您啟用 Oracle NoSQL Database Cloud Service 訂單時,根據預設,您 (第一位使用者) 會在「管理員」群組中。身為管理員群組,您可以在 Oracle Cloud Infrastructure 中提供完整的管理權限,以便管理 Oracle NoSQL Database Cloud Service 表格等等。不需要委派此職責,但如果您想要,可以透過 manage nosql-tables 權限,給予其他人建立及管理 Oracle NoSQL Database Cloud Service 表格的權限。

在 Oracle Cloud Infrastructure 中,您可以使用 IAM 安全原則來授予權限。首先,您必須將使用者新增至群組,然後建立一個安全原則,將特定區間或租用戶 (租用戶中的任何區間) 的 manage nosql-tables 權限授予群組。例如,您可以建立如下所示的原則敘述句:

allow group MyAdminGroup to manage nosql-tables in tenancy
allow group MyAdminGroup to manage nosql-tables in compartment MyOracleNoSQL

若要瞭解如何特別為 Oracle NoSQL Database Cloud Service 建立安全原則敘述句,請參閱 Setting Up Users,Groups,and Policies Using Identity and Access Management

管理表格的一般原則敘述句

以下是您可以用來授權存取 Oracle NoSQL Database Cloud Service 表格的一般原則敘述句。

為您的租用戶建立原則後,您可以透過原則繼承,將所有區間的存取權限授與使用者。或者,您可以限制對個別 Oracle NoSQL Database Cloud Service 表格或區間的存取。

範例 - 允許群組管理員完全管理任何 Oracle NoSQL Database Cloud Service 表格

allow group Administrators to manage nosql-tables in tenancy
allow group Administrators to manage nosql-rows in tenancy
allow group Administrators to manage nosql-indexes in tenancy

範例 - 若要允許群組管理員對區間開發中的 NoSQL 表格執行任何作業,請使用系列資源類型。

allow group Admins to manage nosql-family in compartment Dev

範例 - 允許群組分析對區間開發中的 NoSQL 表格執行唯讀作業

allow group Analytics to read nosql-rows in compartment Dev

範例 - 只允許開發人員中的 Joe 在區間開發中建立、取得及刪除 NoSQL 表格的索引

allow group Developer to manage nosql-indexes in compartment Dev
where request.user.id = '<OCID of Joe>'

範例 - 允許群組管理員只在區間開發中建立、刪除及移動 NoSQL 表格,而不進行更改。

allow group Admins to manage nosql-tables in compartment Dev
where any {request.permission = 'NOSQL_TABLE_CREATE',
           request.permission = 'NOSQL_TABLE_DROP',
           request.permission = 'NOSQL_TABLE_MOVE'}

範例 - 允許群組開發人員讀取、更新及刪除區間開發中表格「客戶」的資料列,但不允許其他。

allow group Developer to manage nosql-rows in compartment Dev
where target.nosql-table.name = 'customer'

相關主題