Amazon Relational Database Service
用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Oracle Label Security

Amazon RDS 通过使用 OLS 选项支持 Oracle Enterprise Edition (版本 12c) 的 Oracle Label Security。

大多数数据库安全性控制对象级别的访问。Oracle Label Security 提供对针对各个表格行的访问的精细控制。例如,您可以使用 Label Security 通过基于策略的管理模型实施法规合规性。您可以使用 Label Security 策略控制对敏感数据的访问,并限制对具有相应清除级别的用户的访问。有关更多信息,请参阅 Oracle 文档中的 Oracle Label Security 简介

重要

对于 Amazon RDS 上的 Oracle 12c 版本 12.2,Oracle Label Security 是一个永久性和持久性的选项。您无法从 Oracle 版本 12.2 数据库实例中删除 Oracle Label Security。

Oracle Label Security 的先决条件

以下是使用 Oracle Label Security 的先决条件:

  • 数据库实例必须使用自带许可模式。有关更多信息,请参阅 Oracle 许可

  • 您必须拥有 Oracle Enterprise Edition 的有效许可证以及软件更新许可证和支持。

  • 您的 Oracle 许可证必须包含 Label Security 选项。

添加“Oracle Label Security”选项

将“Oracle Label Security”选项添加到数据库实例的一般过程如下所示:

  1. 创建新的选项组,或者复制或修改现有选项组。

  2. 向选项组添加选项。

  3. 将选项组与数据库实例相关联。

在添加“Label Security”选项后,一旦激活该选项组,就会激活 Label Security。

将“Label Security”选项添加到数据库实例

  1. 确定您想要使用的选项组。您可以创建新的选项组,或使用现有选项组。如果您想使用现有选项组,请跳到下一步。或者,通过以下设置创建自定义数据库选项组:

    1. 对于 Engine,请选择 oracle-ee

    2. 对于 Major engine version (主引擎版本),请选择 12.112.2

    有关更多信息,请参阅创建选项组

  2. OLS 选项添加到该选项组。有关添加选项的更多信息,请参阅 将选项添加到选项组

    重要

    如果您向已附加到一个或多个数据库实例的现有选项组添加“Label Security”,则将重新启动所有数据库实例。

  3. 将选项组应用到新的或现有的数据库实例:

使用 Oracle Label Security

要使用 Oracle Label Security,请创建可控制对您表格中特定行的访问的策略。有关更多信息,请参阅 Oracle 文档中的创建 Oracle Label Security 策略

当您使用 Label Security 时,可以 LBAC_DBA 角色执行所有操作。数据库实例的主用户将被授予 LBAC_DBA 角色。您可以向其他用户授予 LBAC_DBA 角色,以便他们可以管理 Label Security 策略。

对于 Amazon RDS for Oracle 12.2 数据库实例,您必须向需要访问 Oracle Label Security 的任何新用户授予对 OLS_ENFORCEMENT 包的访问权限。要授予对 OLS_ENFORCEMENT 包的访问权限,请以主用户身份连接到数据库实例,然后运行以下 SQL 语句:

GRANT ALL ON LBACSYS.OLS_ENFORCEMENT TO username;

您可以通过 Oracle Enterprise Manager (OEM) Cloud Control 配置标签安全性。Amazon RDS 可通过 Management Agent 选项支持 OEM Cloud Control。有关更多信息,请参阅 适用于 Enterprise Manager Cloud Control 的 Oracle Management Agent

删除“Oracle Label Security”选项

您可以从数据库实例中删除“Oracle Label Security”。

要从数据库实例中删除“Label Security”,请执行下列操作之一:

  • 要从多个数据库实例中删除 Label Security,请从其所属的选项组中删除“Label Security”选项。此更改会影响使用该选项组的所有数据库实例。如果从已附加到多个数据库实例的选项组中删除“Label Security”,则将重新启动所有数据库实例。有关更多信息,请参阅 从选项组中删除选项

  • 要从单个数据库实例中删除“Label Security”选项,请修改该数据库实例,并指定不包含“Label Security”选项的另一个选项组。您可以指定默认 (空) 选项组,或指定其他自定义选项组。如果删除“Label Security”选项,则在数据库实例自动重新启动时会出现短暂中断。有关更多信息,请参阅 修改运行 Oracle 数据库引擎的数据库实例

故障排除

以下是您在使用 Oracle Label Security 时可能遇到的问题。

问题 问题排查建议

当尝试创建策略时,您会看到一条与以下内容类似的错误消息:insufficient authorization for the SYSDBA package

有关 Oracle 的 Label Security 功能的已知问题阻止了用户名为 16 或 24 个字符的用户运行 Label Security 命令。您可以使用其他数量的字符创建新用户,向该新用户授予 LBAC_DBA 角色,以该新用户的身份登录,并以该新用户的身份运行 OLS 命令。有关更多信息,请联系 Oracle 支持。

相关主题