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

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

本文包含下列主題:

存取跨租用戶的 NoSQL 表格

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

如果您不熟悉原則,請參閱原則入門

跨租用戶原則

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

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

背書、入學和定義聲明

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

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

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

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

定義陳述式必須包含在與背書或入學聲明相同的政策實體中。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 群組。來源管理員必須提供此資訊。
  • 允許這些定義的來源存取您想要允許存取您租用戶中的 NoSQL 表格。
以下是將來源租用戶中的 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 建立安全原則敘述句,請參閱使用識別與存取管理設定使用者、群組及原則

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

以下是您可以用來授權存取 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'}

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

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