关于设置用户组和策略
Oracle NoSQL Database Cloud Service 使用 Oracle Cloud Infrastructure Identity and Access Management (IAM) 提供对 Oracle Cloud 的安全访问。借助 Oracle Cloud Infrastructure IAM,您可以创建用户帐户,并向用户授予检查、读取、使用或管理表的权限。
Oracle NoSQL Database Cloud Service 的用户、组和动态组管理方式取决于您的 Cloud 账户或租户是否已更新为使用 Oracle Cloud Infrastructure Identity and Access Management (IAM) 身份域。您可以轻松确定您的 OCI 租户何时更新为使用身份和访问管理 (Identity and Access Management,IAM) 身份域。
具有身份域的租户的 OCI 控制台如下所示。

未指定身份域的租户的 OCI 控制台如下所示。

有关详细信息,请参阅是否可以访问身份域?
使用身份和访问管理设置用户、组、动态组和策略
Oracle NoSQL Database Cloud Service 使用 Oracle Cloud Infrastructure Identity and Access Management (IAM) 提供对 Oracle Cloud 的安全访问。借助 Oracle Cloud Infrastructure IAM,您可以创建用户帐户,并向用户授予检查、读取、使用或管理表的权限。
如果要作为用户主体进行验证(使用 API 签名密钥),请参阅“设置用户、组和策略”。或者,如果要作为实例主用户或资源主用户进行验证,请参见“设置动态组和策略”。
设置用户、组和策略
-
以 Cloud 账户管理员的身份登录您的 Cloud 账户。
-
在 Oracle Cloud Infrastructure 控制台中,添加一个或多个用户。
-
根据您的租户选择以下选项之一(无论是否有身份域还是没有身份域):
-
具有身份域的租户:执行以下操作:
-
打开导航菜单,然后选择身份和安全。
-
在身份下,选择域。这将打开“域”页。
-
选择应用的筛选器旁边的区间筛选器。从下拉列表中选择区间,然后选择应用筛选器。
-
选择要使用的身份域。在 User management 选项卡上,转至 Users 部分。
-
-
没有身份域的租户:打开导航菜单,然后选择身份和安全。在身份下,选择用户。
-
-
选择创建。
-
输入有关用户的详细信息,然后选择创建。
-
-
在 Oracle Cloud Infrastructure 控制台中,创建一个 OCI 组。
-
根据您的租户选择以下选项之一(无论是否有身份域还是没有身份域):
-
具有身份域的租户:执行以下操作:
-
打开导航菜单,然后选择身份和安全。
-
在身份下,选择域。这将打开“Domains(域)”页面。
-
选择应用的筛选器旁边的区间筛选器。从下拉列表中选择区间,然后选择应用筛选器。
-
选择要使用的身份域。在用户管理选项卡上,向下滚动到组部分。
-
-
没有身份域的租户:打开导航菜单,然后选择身份和安全。在身份下,选择组。
-
-
选择创建组。
-
输入有关组的详细资料。例如,如果创建的策略为用户提供了完全管理 Oracle NoSQL Database Cloud Service 表的权限,则可以将组命名为 nosql_service_admin (或类似项),并包含简短说明,如“有权在 Oracle Cloud Infrastructure 上设置和管理 NoSQL Database Cloud Servicetables 的用户”(或类似项)。
-
选择创建。
-
-
创建一个策略,为属于 OCI 组的用户提供对 Oracle NoSQL Database Cloud Service 表或区间的特定访问权限。
-
打开导航菜单,然后选择身份和安全。
-
在身份下,选择策略。
-
选择应用的筛选器旁边的区间筛选器。从下拉列表中选择区间,然后选择应用筛选器。
-
选择创建策略。
有关详细信息和示例,请参见 Policies Reference 和 Typical Policy Statement to Manage Tables 。
如果您不熟悉策略的工作原理,请参见 How Policies Work 。
-
-
要通过 Oracle NoSQL Database Cloud Service SDK 管理和使用 NoSQL 表,用户必须设置 API 密钥。请参阅用于连接到 Oracle NoSQL Database 的验证。
注:联合用户还可以管理和使用 Oracle NoSQL Database Cloud Service 表。这要求服务管理员在 Oracle Cloud Infrastructure Identity and Access Management 中设置联盟。请参见 Federating with Identity Provider 。
属于策略语句中提到的任何组的用户在下次登录控制台时将获得新权限。
设置动态组和策略
在使用资源主体或实例主体调用 Oracle Cloud Infrastructure 资源之前,Oracle Cloud Infrastructure 租户管理员必须创建用于定义资源主体或实例主体权限的 Oracle Cloud Infrastructure 策略、动态组和规则。
-
以 Cloud 账户管理员的身份登录您的 Cloud 账户。
-
在 Oracle Cloud Infrastructure 控制台中,创建一个动态组。
-
根据您的租户选择以下选项之一(无论是否有身份域还是没有身份域):
-
具有身份域的租户:
-
打开导航菜单,然后选择身份和安全。
-
在身份下,选择域。这将打开“Domains(域)”页面。
-
选择应用的筛选器旁边的区间筛选器。从下拉列表中选择区间,然后选择应用筛选器。
-
选择要使用的身份域,然后选择动态组选项卡。
-
-
没有身份域的租户:打开导航菜单,然后选择身份和安全。在身份下,选择动态组。
-
-
选择创建动态组并输入名称、说明和规则,或者使用规则构建器添加规则。
-
选择创建。
符合规则标准的资源是动态组的成员。为动态组定义规则时,请考虑将向哪些资源授予对其他资源的访问权限。创建规则的一些示例:
-
函数的匹配规则:
ALL {resource.type = 'fnfunc',resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaafml3tca3zcxyifmdff3aadp5uojimgx3cdnirgup6rhptxwnandq'}此规则意味着给定区间中名为
fnfunc的任何资源类型(具有上面指定的 ID)都是动态组的成员。注:有关不同资源类型的详情,请参阅:资源类型
-
为实例主用户添加实例时的规则:
ALL { instance.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa4mlehopmvdluv2wjcdp4tnh2ypjz3nhhpahb4ss7yvxaa3be3diq'}此规则表示具有上面指定的区间 ID 的任何实例都是动态组的成员。
-
将 API 网关与函数一起使用的规则:
ALL {resource.type = 'ApiGateway',resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaafml3tca3zcxyifmdff3aadp5uojimgx3cdnirgup6rhptxwnandq'}此规则表示给定区间中名为
ApiGateway的任何资源类型(具有上面指定的 ID)都是动态组的成员。 -
使用容器实例时的规则:
ALL {resource.type = 'computecontainerinstance', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa4mlehopmvdluv2wjcdp4tnh2ypjz3nhhpahb4ss7yvxaa3be3diq'}此规则表示给定区间中名为
computecontainerinstance的任何资源类型(具有上面指定的 ID)都是动态组的成员。
注:继承不适用于动态组。使用 IAM 访问策略时,父区间的策略会自动应用于所有子区间。当您使用动态组时,情况并非如此。您需要单独列出动态组中的每个区间,以便区间符合条件。
示例:父子区间函数的匹配规则:
ALL {resource.type = 'fnfunc', ANY{resource.compartment.id = '<parent-compid>', resource.compartment.id = '<child-compid1>', resource.compartment.id = '<child-compid2>', ...}} -
-
请为动态组编写策略语句,以启用对 Oracle Cloud Infrastructure 资源的访问。
-
在 Oracle Cloud Infrastructure 控制台中,选择 Identity and Security(身份和安全),然后选择 Policies(策略)。
-
选择应用的筛选器旁边的区间筛选器。从下拉列表中选择区间,然后选择应用筛选器。
-
要为动态组写入策略,请选择创建策略,然后输入名称和说明。
-
使用策略构建器创建策略。定义策略的一般语法如下所示:
Allow <subject> to <verb> <resource-type> in <location> where <conditions>-
主题的语法:一个或多个按名称或 OCID 分隔的组。
-
动词:值用于检查、读取、使用或管理。
-
resource-type(资源类型):单个资源类型、系列资源类型(如 nosql-family)或所有资源。
-
区间:按名称或 OCID 列出的单个区间或区间路径
示例:此策略允许动态组
nosql_application对区间UATnosql中的资源执行fnfuncuse 访问。allow dynamic-group nosql_application to use fnfunc in compartment UATnosql示例:此策略允许动态组
nosql_application对区间UATnosql中的系列资源nosql-family进行manage访问。 -
-
选择创建。有关策略的更多信息,请参见 Manage Policies 。
-