专用 Exadata 基础结构上的自治 AI 数据库内的访问控制
在专用 Exadata 基础结构上配置自治 AI 数据库时,您需要确保您的云用户有权使用并仅创建相应类型的云资源来履行其工作职责。此外,您需要确保只有授权人员和应用才能访问在专用基础设施上创建的自治 AI 数据库。否则,您将面临使用专用基础设施资源“失控”或访问关键任务数据的不当风险。
在开始创建和使用提供专用基础设施功能的云资源之前,您需要制定访问控制计划,然后通过创建适当的 IAM(身份和访问管理)和网络资源来制定访问控制计划。因此,自治 AI 数据库中的访问控制可在各个级别实施:
- Oracle 云用户访问控制
- 客户机访问控制
- 数据库用户访问控制
Oracle Cloud 用户访问控制
您可以控制租户中的 Oracle Cloud 用户对云资源的访问,这些资源是您在专用 Exadata 基础结构上部署自治 AI 数据库的组成部分。
您可以使用身份和访问管理 (Identity and Access Management,IAM) 服务来确保您的云用户能够仅创建和使用相应类型的自治 AI 数据库资源来履行其工作职责。要为云用户实施访问控制,您可以定义策略来向特定用户组授予对特定区间中特定类型的资源的特定访问权限。
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(检查):能够列出给定类型的资源,而无需访问可能属于该资源的任何机密信息或用户指定的元数据。
-
read :
inspect加上获取用户指定的元数据和实际资源本身的功能。 -
使用:
read加上使用现有资源的能力,但不能创建或删除现有资源。此外,“使用”意味着不同资源类型的不同操作。 -
manage :资源类型的所有权限,包括创建和删除。
在专用基础结构功能的上下文中,组管理员可以
manage自治容器数据库,而数据库管理员只能use创建自治 AI 数据库。 -
-
<resource-type> 指定使用预定义资源类型的“内容”。专用基础结构资源的资源类型值为:
- exadata 基础结构
- 自治容器数据库
- 自治的数据库
- 自治备份
由于专用基础结构资源使用网络资源,因此您创建的某些策略语句将引用 virtual-network-family 资源类型值。此外,如果您的租户中使用了标记,您还可以创建引用 tag-namespaces 资源类型值的策略语句。
-
在区间 <compartment-name> 中,通过提供现有 IAM 区间(在其中创建资源的 IAM 资源)的名称来指定“位置”。区间是用于组织和隔离云资源的 Oracle Cloud Infrastructure 的基本组件。
有关自治 AI 数据库的策略详细信息,请参阅 IAM Policies for Autonomous AI Database on Dedicated Exadata Infrastructure 。
有关 IAM 服务及其组件的工作方式以及如何使用这些组件的信息,请参阅 Oracle Cloud Infrastructure Identity and Access Management 概述。有关 IAM 的常见问题的快速解答,请参阅身份和访问管理常见问题解答。
计划和安装访问控制时的最佳实践
在为专用基础设施功能规划和实施访问控制时,应考虑以下优秀实践。
-
创建仅包含专用子网的单独 VCN。 在几乎所有情况下,基于专用基础设施创建的自治 AI 数据库都包含对公司敏感的数据,通常只能从公司的专用网络中访问。即使与合作伙伴、供应商、消费者和客户共享的数据也可通过受监管的安全渠道提供给他们。
因此,您向此类数据库提供的网络访问对您的公司来说应该是专用的。您可以通过创建使用专用子网的 VCN 以及用于连接到公司专用网络的 IPSec VPN 或 FastConnect 来确保这一点。有关设置此类配置的信息,请参阅 Oracle Cloud Infrastructure 文档中的 Scenario B:Private Subnets with a VPN 。
有关保护与数据库的网络连接的其他信息,请参阅 Oracle Cloud Infrastructure 文档中的 Ways to Secure Your Network 。
-
创建至少两个子网。 您应至少创建两个子网:一个用于自治 Exadata VM 集群和自治容器数据库资源,一个用于与自治 AI 数据库的客户端和应用程序关联的资源。
-
至少创建两个区间。 您应至少创建两个区间:一个用于 Exadata 基础结构、自治 Exadata VM 集群和自治容器数据库资源,一个用于自治 AI 数据库资源。
-
创建至少两个组。 您应至少创建两个组:一个用于组管理员,一个用于数据库管理员。
客户机访问控制
通过控制网络访问控制和客户端连接,在自治 AI 数据库中实施客户端访问控制。
网络访问控制
在专用 Exadata 基础结构上设置和配置 Oracle Autonomous AI Database 的专用部署时,您可以定义自治 AI 数据库的网络访问控制。如何执行此操作取决于您的专用部署是基于 Oracle Public Cloud 还是 Exadata Cloud@Customer:
-
在 Oracle Public Cloud 上,您可以使用网络服务的组件定义网络访问控制。您可以创建一个包含专用子网的虚拟云网络 (VCN),在该子网中自治 AI 数据库可从网络访问。此外,您还可以创建安全规则,以允许特定类型的通信传入或传出子网中的 IP 地址。
有关创建这些资源的详细信息,请在 Oracle Autonomous AI Database Dedicated for Fleet Administrators 中运行 Lab 1:Prepare Private Network for OCI Implementation 。
-
在 Exadata Cloud@Customer 上,您可以通过在数据中心内指定客户机网络并将其记录在 Exadata 基础结构资源内的 VM 集群网络资源中来定义网络访问控制。
Zero Trust Packet Routing(零信任数据包路由)
适用于:
仅限 Oracle Public Cloud
Oracle Cloud Infrastructure Zero Trust Packet Routing (ZPR) 通过您为资源(例如您为其分配安全属性的自治 Exadata VM 集群 (AVMC))编写的基于意图的安全策略,保护敏感数据免遭未经授权的访问。
安全属性是 ZPR 用于标识和组织资源的标签。每次请求访问时,ZPR 都会在网络级别强制实施策略,无论潜在的网络体系结构更改或配置错误。ZPR 基于现有网络安全组 (NSG) 和安全控制列表 (SCL) 规则构建。要使包到达目标,它必须传递所有 NSG 和 SCL 规则以及 ZPR 策略。如果任何 NSG、SCL 或 ZPR 规则或策略不允许流量,则会删除请求。
您可以使用 ZPR 通过三个步骤保护网络:
-
编写 ZPR 策略以使用安全属性连接资源。ZPR 使用 ZPR 策略语言 (Policy Language,ZPL) 并对所定义资源的访问施加限制。作为专用 Exadata 基础结构上的自治 AI 数据库客户,您可以在租户中编写基于 ZPL 的策略,以确保来自 AVMC 的数据仅由授权用户和资源访问。
-
将安全属性分配给资源以启用 ZPR 策略。
注:通过 Oracle Cloud Infrastructure 控制台、API 或 CLI 为云资源分配说明、标记、安全属性或友好名称时,请避免输入机密信息。
有关更多信息,请参见 Getting Started with Zero Trust Packet Routing 。
您可以选择以下选项将 ZPR 安全属性应用于 AVMC:
-
预配 AVMC 时应用安全属性。有关详细信息,请参阅创建自治 Exadata VM 集群。
-
将安全属性应用于现有 AVMC 资源。有关更多信息,请参见 Configure Zero Trust Packet Routing (ZPR) for an AVMC 。
作为先决条件,必须定义以下 IAM 策略才能将 ZPR 安全属性成功添加到 AVMC:
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 Cloud 和 Exadata Cloud@Customer 专用部署中启用访问控制列表 (Access Control List,ACL)。ACL 通过仅允许具有特定 IP 地址的客户机连接到数据库,为数据库提供额外的保护。可以单独或在 CIDR 块中添加 IP 地址。支持基于 IPv4 和基于 IPv6 的 IP/CIDR。这允许您通过限制自治 AI 数据库对特定应用程序或客户机的网络访问来制定细粒度的访问控制策略。
您可以选择在数据库预配期间或在之后的任何时间创建 ACL。您还可以随时编辑 ACL。启用 IP 地址列表为空的 ACL 会使数据库无法访问。有关详细信息,请参阅设置专用自治 AI 数据库的访问控制列表。
请注意以下有关将 ACL 与自治 AI 数据库结合使用的信息:
- 自治 AI 数据库服务控制台不受 ACL 规则的约束。
- Oracle Application Express (APEX)、RESTful 服务、SQL Developer Web 和 Performance Hub 不受 ACL 约束。
- 创建自治 AI 数据库时,如果设置 ACL 失败,则预配数据库也会失败。
- 仅当数据库处于“可用”状态时,才允许更新 ACL。
- 恢复数据库不会覆盖现有 ACL。
- 克隆数据库(完整和元数据)将具有与源数据库相同的访问控制设置。您可以根据需要进行更改。
- 备份不受 ACL 规则的约束。
- 在 ACL 更新期间,允许执行所有自治容器数据库 (Autonomous Container Database,CDB) 操作,但不允许执行自治 AI 数据库操作。
Web 应用程序防火墙 (WAF)
对于访问控制列表之外的高级网络控制,专用 Exadata 基础结构上的 Oracle Autonomous AI Database 支持使用 Web 应用防火墙 (Web Application Firewall,WAF)。WAF 可保护应用免受恶意和不需要的互联网流量的侵害。WAF 可以保护任何面向互联网的端点,并在客户应用中提供一致的规则实施。WAF 支持您创建和管理互联网威胁规则,包括跨站点脚本编写 (Cross-Site Scripting,XSS)、SQL 注入和其他 OWASP 定义的漏洞。访问规则可以根据地理位置或请求的签名进行限制。有关如何配置 WAF 的步骤,请参见 Web 应用防火墙策略入门。
客户端连接控制
Oracle Autonomous AI Database on Dedicated Exadata Infrastructure 通过基于证书的标准 TLS 1.2 和 TLS 1.3 验证实现客户端连接控制,以验证客户端连接。但是,仅 Oracle Database 23ai 或更高版本支持 TLS 1.3。
默认情况下,自治 AI 数据库使用自签名证书。但是,您可以从 Oracle Cloud Infrastructure (OCI) 控制台安装 CA 签名的服务器端证书。要自备证书,必须首先使用 Oracle Cloud Infrastructure (OCI) 证书服务创建证书,如创建证书中所示。这些证书必须已签名,并且必须采用 PEM 格式,即其文件扩展名必须为 .pem、.cer 或 .crt。有关更多详细信息,请参阅 Certificate Management in Dedicated Autonomous AI Database 。
Database User Access Control
Oracle Autonomous AI Database on Dedicated Exadata Infrastructure 可配置您创建的数据库,以使用 Oracle AI Database 的标准用户管理功能。它创建一个管理用户帐户 ADMIN,用于创建其他用户帐户并为帐户提供访问控制。
标准用户管理提供了一组强大的功能和控制,例如系统和对象权限、角色、用户配置文件和密码策略,使您能够在大多数情况下定义和实施安全的数据库用户访问策略。有关详细说明,请参阅创建和管理数据库用户。
有关标准用户管理的基本信息,请参阅 Oracle AI Database Concepts 中的 User Accounts 。有关详细信息和指导,请参阅 Oracle Database 19c Security Guide 或 Oracle Database 26ai Security Guide 中的 Managing Security for Oracle Database Users 。
如果您的数据库用户访问策略所需的控制比标准用户管理提供的控制多,您可以将自治 AI 数据库配置为使用以下任何工具来满足更严格的要求。
| 工具 | 说明 |
|---|---|
| Database Vault | Oracle Database Vault 可在自治 AI 数据库中预先配置和使用。您可以使用其强大的安全控制来限制特权数据库用户对应用程序数据的访问,降低内部和外部威胁的风险,并满足常见的合规性要求。 有关详细信息,请参阅自治 AI 数据库的安全功能中的数据保护。 |
| Oracle Cloud Infrastructure Identity and Access Management (IAM) | 您可以将自治 AI 数据库配置为使用 Oracle Cloud Infrastructure Identity and Access Management (IAM) 验证和授权,以允许 IAM 用户使用 IAM 身份证明访问自治 AI 数据库。有关将此选项用于数据库的信息,请参阅将身份和访问管理 (IAM) 验证与自治 AI 数据库结合使用。 |
| Azure OAuth2 访问令牌 | 在 Azure 有关将 Microsoft Azure Active Directory 与数据库集成的更多信息,请参见 Authenticate and Authorize Microsoft Azure Active Directory Users for Autonomous AI Database 。 |
| Microsoft Active Directory (CMU-AD) | 如果使用 Microsoft Active Directory 作为用户资料档案库,则可以将自治 AI 数据库配置为对 Microsoft Active Directory 用户进行验证和授权。无论您使用标准用户管理、Database Vault、Real Application Security 还是虚拟专用数据库,这种集成都可以帮助您整合用户存储库,同时仍然实施严格的数据库用户访问策略。 有关将 Microsoft Active Directory 与数据库集成的详细信息,请参阅 Microsoft Active Directory 与 Autonomous AI Database 。 |
| Kerberos | Kerberos 是依赖共享密钥的可信第三方验证系统。它假定第三方是安全的,并提供单点登录功能、集中密码存储、数据库链接验证和增强的 PC 安全性。它通过 Kerberos 验证服务器执行此操作。 对 Kerberos 的自治 AI 数据库支持可为 Oracle 用户提供单点登录和集中身份验证的优势。有关更多信息,请参见 Authenticate Autonomous AI 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 验证,方法是在启用外部验证时将 |
| Real Application Security 和 Virtual Private Database | Oracle Real Application Security (RAS) 提供了一个声明式模型,该模型支持安全策略,不仅包含受保护的业务对象,还包含有权对这些业务对象进行操作的主体(用户和角色)。与其前身 Oracle Virtual Private Database 相比,RAS 更安全、可扩展且经济高效。 使用 Oracle RAS,应用用户可以在应用层和数据库中进行身份验证。无论数据访问路径如何,数据安全策略都基于数据库中的最终用户本机会话在数据库内核中强制实施。分配给用户的权限控制可以对数据库对象的行和列执行的操作类型(选择、插入、更新和删除)。 有关 Oracle RAS 的更多信息,请参阅 Introducing Oracle Database Real Application Security in Oracle Database 19c Real Application Security Administrator's and Developer's Guide 或 Oracle Database 26ai Real Application Security Administrator's and Developer's Guide 。 Oracle Autonomous AI Database on Dedicated Exadata Infrastructure 还支持 Oracle RAS 的前身 Oracle Virtual Private Database (VPD)。如果您已经熟悉并使用 Oracle VPD,则可以配置它并将其与自治 AI 数据库一起使用。 有关虚拟专用数据库的更多信息,请参阅 Oracle Database 19c Security Guide 或 Oracle Database 26ai Security Guide 中的 Using Oracle Virtual Private Database to Control Data Access 。 |
特许访问管理 (PAM)
Oracle Access Control 中记录了 Oracle 在产品和服务的用户访问和权限管理方面的安全态势。
专用 Exadata 基础结构上的自治 AI 数据库旨在隔离和保护客户服务和数据库数据,使其免受未经授权的访问。自治 AI 数据库将客户与 Oracle 职责分离。客户控制对数据库方案的访问。Oracle 控制对 Oracle 管理的基础设施和软件组件的访问。
Autonomous AI 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 经过预配置,可防止特权用户访问自治 AI 数据库中的客户数据。
- 客户可以选择通过操作员访问控制服务注册来批准操作员访问。
- 所有操作员访问都基于 FIPS 140-2 级别 3 硬件多因素身份验证,并使用 Oracle 批准的设备实施的硬件 YubiKey。
- 所有操作员操作都记录在命令级别,并且可以近乎实时地发送到 OCI 日志记录服务或客户 SIEM。
-
Oracle Operations Access Control 可确保 Oracle Cloud 运营和支持人员用于监视和分析性能的用户帐户无法访问自治 AI 数据库中的数据。Oracle Cloud 运营和支持人员无法访问自治 AI 数据库中的数据。创建自治容器数据库时,专用 Exadata 基础结构上的自治 AI 数据库启用并配置 Oracle Database Vault 的运行控制功能,以阻止公用用户访问在容器数据库中创建的自治 AI 数据库中的数据。
通过在自治 AI 数据库中输入以下 SQL 语句,可以确认操作控制处于活动状态:
SELECT * FROM DBA_DV_STATUS;APPLICATION CONTROL的状态指示操作控制处于活动状态。注:操作控制以前称为应用程序控制。
PAM 还通过 Database Vault 实施,以实现数据保护,如自治 AI 数据库的安全特性中所述。