管理 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 群組。來源管理員必須提供此資訊。
-
允許這些定義的來源存取您想要在租用戶中存取的 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 建立安全原則敘述句,請參閱 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'