专用 Exadata 基础结构上的 Autonomous Database 中的访问控制

在配置 Autonomous Database on Dedicated Exadata Infrastructure 时,您需要确保您的云用户能够使用并仅创建相应类型的云资源来履行其工作职责。此外,您需要确保只有授权人员和应用才能访问在专用基础设施上创建的自治数据库。否则,您将面临“失控”使用专用基础设施资源或访问关键任务数据不当的风险。

在开始创建和使用提供专用基础设施功能的云资源之前,您需要先制定访问控制计划,然后通过创建相应的 IAM(身份和访问管理)和网络资源来制定计划。因此, an Autonomous Database 中的访问控制在不同级别实施:
  • Oracle 云用户访问控制
  • 客户机访问控制
  • 数据库用户访问控制

相关主题

Oracle Cloud 用户访问控制

您可以控制租户中的 Oracle Cloud 用户对云资源的访问权限,这些资源构成您部署的 Autonomous Database on Dedicated Exadata Infrastructure

您可以使用身份和访问管理 (IAM) 服务来确保云用户只能创建和使用适当类型的 Autonomous Database 资源来履行其工作职责。要对云用户实施访问控制,您可以定义策略来向特定用户组授予对特定区间中特定类型资源的特定访问权限。

IAM 服务提供了多种组件,可帮助您定义和实施安全的云用户访问策略:

  • 区间:相关资源的集合。区间是 Oracle Cloud Infrastructure 的一个基本组件,用于组织和隔离云资源。

  • :所有用户都需要对特定一组资源或区间进行相同类型的访问权限的集合。

  • 动态组:一种特殊类型的组,其中包含与您定义的规则相匹配的资源。因此,在创建或删除匹配资源时,成员资格可以动态更改。

  • 策略:指定谁可以访问哪些资源以及如何访问的一组语句。在组和区间级别授予访问权限,这意味着您可以编写策略语句,为特定组提供对特定区间中特定类型资源的特定类型的访问权限。

策略和策略语句

用于为云用户定义访问控制的主要工具是 policy ,一个 IAM(Identity and Access Management,身份和访问管理)资源,其中包含根据 "Who"、"How"、"What" 和 "Where" 指定访问的策略语句。

策略语句的格式为:
Allow 
  group <group-name> 
  to <control-verb> 
  <resource-type> 
  in compartment <compartment-name>
  • group <group-name> 通过提供现有 IAM 组的名称来指定“谁”,该组是可向其分配单个云用户的 IAM 资源。

  • to <control-verb> 指定使用以下预定义控制动词之一的“方法”:

    • inspect :列出给定类型的资源的能力,无权访问任何机密信息或用户指定的元数据,这些信息或元数据可能属于该资源。
    • readinspect 加上获取用户指定的元数据和实际资源本身的功能。
    • useread 加上使用现有资源(但不创建或删除现有资源)的功能。此外,"work with" 表示不同资源类型的不同操作。
    • manage :资源类型的所有权限,包括创建和删除。

    在专用基础结构功能的上下文中,组管理员可以 manage 自治容器数据库,而数据库管理员只能通过 use 创建自治数据库。

  • <resource-type> 指定使用预定义资源类型的 "What"。专用基础结构资源的资源类型值包括:

    • exadata-infrastructures
    • autonomous-container-databases
    • autonomous-databases
    • autonomous-backups

    由于专用基础结构资源使用网络资源,因此您创建的一些策略语句将引用 virtual-network-family 资源类型值。此外,如果在租户中使用了标记,您可以创建引用 tag-namespaces 资源类型值的策略语句。

  • in compartment <compartment-name> 通过提供现有 IAM 区间的名称(在其中创建资源的 IAM 资源)来指定 "Where"。区间是 Oracle Cloud Infrastructure 的一个基本组件,用于组织和隔离云资源。

有关 Autonomous Database 的策略详细信息,请参阅 IAM Policies for Autonomous Database on Dedicated Exadata Infrastructure

有关 IAM 服务及其组件的工作方式以及如何使用这些组件的信息,请参阅 Oracle Cloud Infrastructure Identity and Access Management 概览。有关 IAM 的常见问题解答,请参阅身份和访问管理常见问题解答

规划和建立访问控制的最佳实践

在规划和实施专用基础设施功能的访问控制时,应考虑以下优秀实践。

  • 创建单独的仅包含专用子网的 VCN。在几乎所有情况下,基于专用基础设施创建的自治数据库都包含对公司敏感的数据,通常只能从公司的专用网络中访问这些数据。即使是与合作伙伴、供应商、消费者和客户共享的数据也通过受监管、安全的渠道提供给他们。

    因此,您向此类数据库提供的网络访问权限应该对您的公司是专用的。您可以通过创建使用专用子网的 VCN 以及用于连接到公司专用网络的 IPSec VPN 或 FastConnect 来确保这一点。有关设置此类配置的信息,请参阅 Oracle Cloud Infrastructure 文档中的方案 B:使用 VPN 的专用子网

    有关保护与数据库的网络连接的其他信息,请参阅 Oracle Cloud Infrastructure 文档中的保护网络的方法

  • 至少创建两个子网。应至少创建两个子网:一个用于自治 Exadata VM 集群和自治容器数据库资源,一个用于与 Autonomous Database 的客户端和应用程序关联的资源。

  • 至少创建两个区间。您应至少创建两个区间:一个用于 Exadata 基础结构、自治 Exadata VM 集群和自治容器数据库资源,一个用于 Autonomous Database 资源。

  • 至少创建两个组。至少应创建两个组:一个用于组管理员,一个用于数据库管理员。

客户端访问控制

客户端访问控制通过控制网络访问控制和客户端连接在 Autonomous Database 中实施。

网络访问控制

在设置和配置 Oracle Autonomous Database 的专用部署时,您可以定义对自治数据库的网络访问控制。如何执行此操作取决于您的专用部署是基于 Oracle Public Cloud 还是 Exadata Cloud@Customer
  • Oracle Public Cloud 上,可以使用网络服务的组件定义网络访问控制。创建虚拟云网络 (Virtual Cloud Network,VCN),其中包含自治数据库可通过网络访问的专用子网。此外,您还可以创建安全规则来允许在子网中传入或传出 IP 地址的特定类型的流量。

    有关创建这些资源的详细信息,请运行 Oracle Autonomous Database Dedicated for Fleet Administrators 中的 Lab 1:Prepare Private Network for OCI Implementation

  • Exadata Cloud@Customer 上,您可以通过指定数据中心内的客户端网络并将其记录在 Exadata 基础结构资源内的 VM 集群网络资源中来定义网络访问控制。

零信任包路由 (Zero Trust Packet Routing,ZPR)

适用于:适用 仅限 Oracle Public Cloud

Oracle Cloud Infrastructure 零信任包路由 (Zero Trust Packet Routing,ZPR) 可通过您为资源(例如您为其分配安全属性的自治 Exadata VM 集群 (AVMC))编写的基于意图的安全策略来保护敏感数据免遭未经授权的访问。

安全属性是 ZPR 用于标识和组织资源的标签。无论潜在的网络架构更改或配置错误,ZPR 都会在每次请求访问时在网络级别强制执行策略。ZPR 基于现有网络安全组 (NSG) 和安全控制列表 (Security Control List,SCL) 规则构建。要使包到达目标,它必须传递所有 NSG 和 SCL 规则以及 ZPR 策略。如果任何 NSG、SCL 或 ZPR 规则或策略不允许流量,将放弃请求。

可以使用 ZPR 通过三个步骤来保护网络:

  1. 创建 ZPR 对象,即安全属性名称空间安全属性

  2. 编写 ZPR 策略以使用安全属性连接资源。ZPR 使用 ZPR 策略语言 (ZPR Policy Language,ZPL) 并对访问定义的资源实施限制。作为基于专用 Exadata 基础设施的 Autonomous Database 客户,您可以在租户中编写基于 ZPL 的策略,以确保只有授权用户和资源才能访问来自 AVMC 的数据。

  3. 将安全属性分配给资源以启用 ZPR 策略。

注意:

通过 Oracle Cloud Infrastructure 控制台、API 或 CLI 为云资源分配说明、标记、安全属性或友好名称时,请避免输入机密信息。

有关更多信息,请参见 Getting Started with Zero Trust Packet Routing

您可以通过以下选项将 ZPR 安全属性应用于 AVMC:

作为先决条件,必须定义以下 IAM 策略才能成功向 AVMC 添加 ZPR 安全属性:

allow group <group_name>
to { ZPR_TAG_NAMESPACE_USE, SECURITY_ATTRIBUTE_NAMESPACE_USE }
in tenancy
allow group <group_name>
to manage autonomous-database-family
in tenancy
allow group <group_name>
to read security-attribute-namespaces
in tenancy
Access Control List (访问控制列表,ACL)

为了提高安全性,您可以在 Oracle Public CloudExadata Cloud@Customer 专用部署中启用访问控制列表 (Access Control List,ACL)。ACL 仅允许具有特定 IP 地址的客户机连接到数据库,从而为数据库提供额外的保护。您可以分别添加 IP 地址,或者在 CIDR 块中添加 IP 地址。支持基于 IPv4 和 IPv6 的 IP/CIDR。这样,您可以通过限制 Autonomous Database 对特定应用或客户机的网络访问来制定细粒度访问控制策略。

可以选择在数据库预配期间或之后的任何时候创建 ACL。也可以随时编辑 ACL。启用 IP 地址列表为空的 ACL 会使数据库无法访问。有关详细信息,请参阅设置专用 Autonomous Database 的访问控制列表

请注意以下有关将 ACL 与 Autonomous Database 结合使用的信息:
  • Autonomous Database 服务控制台不受 ACL 规则的约束。
  • Oracle Application Express (APEX)、RESTful 服务、SQL Developer Web 和性能中心不受 ACL 约束。
  • 在创建 Autonomous Database 时,如果设置 ACL 失败,则预配数据库也会失败。
  • 仅当数据库处于“可用”状态时,才允许更新 ACL。
  • 还原数据库不会覆盖现有 ACL。
  • 克隆数据库(完整和元数据)将具有与源数据库相同的访问控制设置。可以根据需要进行更改。
  • 备份不受 ACL 规则的约束。
  • 在 ACL 更新期间,允许执行所有自治容器数据库 (Autonomous Container Database,CDB) 操作,但不允许执行 Autonomous Database 操作。
Web 应用程序防火墙 (WAF)

对于访问控制列表之外的高级网络控制,Oracle Autonomous Database 支持使用 Web 应用防火墙 (Web Application Firewall,WAF)。WAF 可保护应用免受恶意和不需要的互联网流量攻击。WAF 可以保护任何面向互联网的端点,并在客户应用之间实施一致的规则。通过 WAF,您可以为 Internet 威胁(包括跨站点脚本编写 (Cross-Site Scripting,XSS)、SQL 注入和其他 OWASP 定义的漏洞)创建和管理规则。访问规则可以根据地理位置或请求的签名进行限制。有关如何配置 WAF 的步骤,请参见 Web 应用防火墙策略入门

客户端连接控制

Oracle Autonomous Database 使用标准 TLS 1.2 和 TLS 1.3 基于证书的验证来实施客户机连接控制,以验证客户机连接。但是,仅 Oracle Database 23ai 或更高版本支持 TLS 1.3。

默认情况下,Autonomous Database 使用自签名证书。但是,您可以从 Oracle Cloud Infrastructure (OCI) 控制台安装 CA 签名的服务器端证书。要自备证书,必须首先使用 Oracle Cloud Infrastructure (OCI) 证书服务创建证书,如 Creating a Certificate 中所述。这些证书必须已签名,并且必须采用 PEM 格式,即,其文件扩展名必须仅为 .pem、.cer 或 .crt。有关详细信息,请参阅 Certificate Management in Dedicated Autonomous Database

数据库用户访问控制

Oracle Autonomous Database 将您创建的数据库配置为使用 Oracle Database 的标准用户管理功能。它创建一个管理用户帐户 ADMIN,用于创建其他用户帐户并为帐户提供访问控制。

标准用户管理提供一组强大的功能和控制,例如系统和对象权限、角色、用户配置文件和密码策略,使您能够在大多数情况下定义和实施安全的数据库用户访问策略。有关详细说明,请参见 Create and Manage Database Users

有关标准用户管理的基本信息,请参阅Oracle Database Concepts 中的“用户帐户”。有关详细信息和指南,请参阅《 Oracle Database 19c Security Guide 》《 Oracle Database 23ai Security Guide 》中的《 Managing Security for Oracle Database Users 》

如果您的数据库用户访问策略需要的控制比标准用户管理提供的控制多,您可以将自治数据库配置为使用以下任何工具来满足更严格的要求。
工具 说明
Database Vault

Oracle Database Vault 预先配置,可在 Autonomous Database 中使用。您可以使用其强大的安全控制来限制特权数据库用户对应用程序数据的访问,降低内部和外部威胁的风险,并满足常见的合规性要求。

有关详细信息,请参阅 Autonomous Database 的安全功能中的数据保护

Oracle Cloud Infrastructure Identity and Access Management (IAM)

您可以将 Autonomous Database 配置为使用 Oracle Cloud Infrastructure 身份和访问管理 (Identity and Access Management,IAM) 验证和授权,以允许 IAM 用户使用 IAM 身份证明访问 an Autonomous Database 。有关将此选项用于数据库的信息,请参阅将身份和访问管理 (IAM) 验证与 Autonomous Database 一起使用

Azure OAuth2 访问令牌

借助 Azure oAuth2 访问令牌,您可以在 Microsoft Azure Active Directory (Azure AD) 服务中集中管理 Oracle Autonomous Database 用户。通过这种集成,Azure AD 用户可以访问 Oracle Autonomous Database 实例。Azure AD 用户和应用程序可以使用 Azure AD 单点登录 (SSO) 凭据登录,以获取要发送到数据库的 Azure AD OAuth2 访问令牌。

有关将 Microsoft Azure Active Directory 与数据库集成的更多信息,请参见 Authenticate and Authorize Microsoft Azure Active Directory Users for Autonomous Database

Microsoft Active Directory (CMU-AD)

如果使用 Microsoft Active Directory 作为用户资料档案库,则可以配置 Autonomous Database 来验证和授权 Microsoft Active Directory 用户。通过此集成,无论您使用的是标准用户管理、Database Vault、Real Application Security 还是虚拟专用数据库,您都可以在实施严格数据库用户访问策略的同时合并用户资料档案库。

有关将 Microsoft Active Directory 与数据库集成的详细信息,请参阅 Microsoft Active Directory 与 Autonomous Database

Kerberos

Kerberos 是受信任的依赖于共享密钥的第三方验证系统。它假设第三方是安全的,并提供单点登录功能,集中式密码存储,数据库链接验证和增强的 PC 安全性。它通过 Kerberos 验证服务器执行此操作。

Autonomous Database 对 Kerberos 的支持为 Oracle 用户提供单点登录和集中身份验证的优势。有关更多信息,请参见 Authenticate Autonomous Database Users with Kerberos

带 CMU-AD 的 Kerberos

可以在 CMU-AD 上配置 Kerberos 验证,以便为 Microsoft Active Directory 用户提供 CMU-AD Kerberos 验证。

要为 Microsoft Active Directory 用户提供 CMU-AD Kerberos 验证,可以在 CMU-AD 上启用 Kerberos 验证,方法是将 type 设置为 CMU,同时启用外部验证,如 Enable Kerberos Authentication on Autonomous Database 中所述示例所示。

Real Application Security 和虚拟专用数据库

Oracle Real Application Security (RAS) 提供了一个声明性模型,该模型支持安全策略,不仅包括受保护的业务对象,还包括有权对这些业务对象进行操作的主体(用户和角色)。RAS 比其前身 Oracle Virtual Private Database 更安全、可扩展且经济高效。

通过 Oracle RAS,应用用户可以在应用层和数据库中进行验证。无论数据访问路径如何,都会根据数据库中的最终用户本机会话在数据库内核中强制执行数据安全策略。分配给用户的权限控制可对数据库对象的行和列执行的操作类型(选择、插入、更新和删除)。

有关 Oracle RAS 的更多信息,请参见 Introducing Oracle Database Real Application Security in Oracle Database 19c Real Application Security Administrator's and Developer's GuideOracle Database 23ai Real Application Security Administrator's and Developer's Guide

Oracle Autonomous Database 还支持 Oracle RAS 的前身 Oracle Virtual Private Database (VPD)。如果您已经熟悉和使用 Oracle VPD,则可以对其进行配置并将其用于自治数据库。

有关虚拟专用数据库的详细信息,请参阅 Oracle Database 19c Security GuideOracle Database 23ai Security Guide 中的 Using Oracle Virtual Private Database to Control Data Access

授权访问管理 (PAM)

Oracle Access Control 中介绍了 Oracle 在产品和服务中的用户访问和权限管理方面的安全状况。

Autonomous Database on Dedicated Exadata Infrastructure 旨在隔离和保护客户服务和数据库数据,防止未经授权的访问。Autonomous Database 可分离客户与 Oracle 之间的职责。客户控制对数据库方案的访问。Oracle 控制对 Oracle 托管的基础设施和软件组件的访问。

Autonomous Database on Dedicated Exadata Infrastructure 旨在帮助保护数据以供客户授权使用,并帮助保护数据免受未经授权的访问,包括防止 Oracle Cloud Ops 员工访问客户数据。旨在防止未经授权访问 Exadata 基础结构、自治 VM 和 Oracle 数据库数据的安全措施包括:

  • Oracle Database 数据由 Oracle 透明数据加密 (Transparent Data Encryption,TDE) 密钥保护。
  • 客户可以控制对 TDE 加密密钥的访问,并可以选择将此类密钥存储在外部 Oracle Key Vault 密钥管理系统。
  • Oracle Database Vault 进行了预配置,可防止特权用户访问 Autonomous Database 中的客户数据。
  • 客户可以选择通过 Operator Access Control 服务注册来批准 Operator 访问。
  • 所有操作员访问都基于 FIPS 140-2 级别 3 硬件多因素验证,该验证使用通过 Oracle 批准的设备实施的硬件 YubiKey 实现。
  • 所有操作员操作都记录在命令级别,并且可以近乎实时地发送到 OCI 日志记录服务或客户 SIEM。
  • Oracle Operations Access Control 可确保 Oracle Cloud 运营和支持人员用来监视和分析性能的用户账户无法访问 Autonomous Database 中的数据。Oracle Cloud 运营和支持人员无法访问 Autonomous Database 中的数据。创建自治容器数据库时,Autonomous Database on Dedicated Exadata Infrastructure 将启用和配置 Oracle Database Vault 的运行控制功能,以阻止公用用户访问在容器数据库中创建的 Autonomous Database 中的数据。

    您可以通过在 an Autonomous Database 中输入以下 SQL 语句来确认 Operations Control 是否处于活动状态:
    SELECT * FROM DBA_DV_STATUS;
    状态 APPLICATION CONTROL 指示操作控制处于活动状态。

    注意:

    操作控制以前称为应用程序控制。

Autonomous Database 的安全功能中讨论了如何使用 Database Vault 实现 PAM 来保护数据。