Oracle Label Security - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Oracle Label Security

Amazon RDS 通过使用 OLS 选项支持 Oracle Database 企业版的 Oracle Label Security。

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

Oracle Label Security 的先决条件

熟悉 Oracle Label Security 的以下先决条件:

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

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

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

  • 您必须使用非多租户(非 CDB)数据库架构。有关更多信息,请参阅CDB 架构的单租户配置

添加“Oracle Label Security”选项

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

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

  2. 将 选项添加到该选项组。

    重要

    Oracle Label Security 是永久性的持续选项。

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

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

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

    1. 对于 引擎,请选择 oracle-ee

    2. 对于主引擎版本,选择数据库实例的版本。

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

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

    重要

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

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

    • 对于新数据库实例,您可以在启动实例时应用选项组。有关更多信息,请参阅“创建 Amazon RDS 数据库实例”。

    • 对于现有数据库实例,您可以通过修改实例并附加新的选项组来应用选项组。如果您将“Label Security”选项添加到现有数据库实例,则在数据库实例自动重新启动时会出现短暂中断。有关更多信息,请参阅“修改 Amazon RDS 数据库实例”。

使用 Oracle Label Security

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

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

对于以下版本,请确保将 OLS_ENFORCEMENT 程序包的访问权限授予需要访问 Oracle Label Security 的任何新用户:

  • 使用非 CDB 架构的 Oracle Database 19c

  • Oracle Database 12c 第 2 版 (12.2)

要授予对 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 Database 12c 第 2 版(12.2)开始,Oracle Label Security 是一个永久和持久的选项。因为该选项是永久性的,所以不能将其从选项组中删除。如果您将 Oracle Label Security 添加到选项组并将其与您的数据库实例关联,则可以稍后将其他选项组与您的数据库实例关联,但该组还必须包含 Oracle Label Security 选项。

问题排查

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

问题 故障排除建议

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

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