管理 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'

相關主題