首页 > 数据库 >PARTVI-Oracle数据库管理与开发-数据库管理员和开发人员的主题

PARTVI-Oracle数据库管理与开发-数据库管理员和开发人员的主题

时间:2024-09-28 10:11:39浏览次数:1  
标签:加密 数据库管理员 开发人员 数据库 用户 Oracle PARTVI action 权限

17.数据库管理员和开发人员的主题

17.1. 数据库安全概述

通常情况下,数据库安全涉及用户认证、加密、访问控制和监控。

17.1.1. 用户账户

每个Oracle数据库都有一个有效数据库用户的列表。数据库包含几个默认账户,包括默认的管理员账户SYSTEM(参见第2-5页的“SYS和SYSTEM模式”)。你可以根据需要创建用户账户。要访问数据库,用户必须提供有效的用户名和认证凭据。凭据可能是密码、Kerberos票据或公钥基础设施(PKI)证书。你可以配置数据库安全以锁定基于失败登录尝试的账户。

17.1.1.1. 权限和角色授权

通常情况下,数据库访问控制涉及限制数据访问和数据库活动。例如,你可以限制用户查询指定的表或执行指定的数据库命令。

用户权限是运行特定SQL语句的权利。权限可以分为以下几类:

  • 系统权限:这是在数据库中执行特定操作或对特定类型的对象执行操作的权利。例如,CREATE USER和CREATE SESSION是系统权限。
  • 对象权限:这是对对象执行特定操作的权利,例如查询员工表。权限类型由数据库定义。

权限是由其他用户自行决定授予的。管理员应该根据用户完成工作所需的权限来授予权限。良好的安全实践是只授予需要该权限来完成必要工作的用户权限。角色是一组相关权限的命名集合,你可以将其授予用户或其他角色。角色有助于管理数据库应用程序或用户组的权限。图17-1描述了角色的常见用途。PAY_CLERK、MANAGER和REC_CLERK角色被分配给不同的用户。应用程序角色ACCTS_PAY,包括执行ACCTS_PAY应用程序的权限,被分配给具有PAY_CLERK和MANAGER角色的用户。应用程序角色ACCTS_REC,包括执行ACCTS_REC应用程序的权限,被分配给具有REC_CLERK和MANAGER角色的用户。

17.1.1.2. 配置文件

在系统资源的背景下,用户配置文件是一组命名的资源限制和密码参数,用于限制用户对数据库使用和实例资源的访问。配置文件可以限制用户并发会话的数量、每个会话可用的CPU处理时间以及可用的逻辑I/O数量(参见第14-10页的“缓冲区I/O”)。例如,职员配置文件可能会将用户限制在执行文书任务所需的系统资源上。

注意:最好使用数据库资源管理器来限制资源,并使用配置文件来管理密码。

配置文件为共享一组属性的用户提供了一个单一的参考点。你可以为一组用户分配一个配置文件,并对所有其他用户分配一个默认配置文件。每个用户在任何时候最多只能分配一个配置文件。

17.1.2. 授权

在Oracle数据库中,数据库认证是用户向数据库出示凭据的过程,数据库验证凭据并允许访问数据库。验证身份建立了进一步交互的信任关系。认证还通过将访问和操作链接到特定身份,实现了可追溯性。

Oracle数据库提供了不同的认证方法,包括以下方法:

  • 由数据库进行认证
    Oracle数据库可以使用密码、Kerberos票据或PKI证书来认证用户。Oracle还支持符合RADIUS标准的设备进行其他形式的认证,包括生物识别。在Oracle数据库中创建用户时,必须指定认证类型。
  • 由操作系统进行认证
    某些操作系统允许Oracle数据库使用它们维护的信息来认证用户。用户在被操作系统认证后,可以在不指定用户名或密码的情况下连接到数据库。

数据库操作,如关闭或启动数据库,不应由非管理数据库用户执行。这些操作需要SYSDBA或SYSOPER权限(参见第13-6页的“使用管理员权限连接”)。

17.1.3. 加密

通常情况下,加密是使用秘钥和加密算法将数据转换为不可读格式的过程。加密通常用于满足监管合规要求,例如与支付卡行业数据安全标准(PCI-DSS)或违规通知法律相关的要求。例如,必须加密信用卡号、社会安全号码或患者健康信息。

网络加密:在客户端和服务器之间通过网络传输数据时对其进行加密称为网络加密。入侵者可以使用网络数据包嗅探器捕获在网络上传输的信息,然后将其转储到文件中以供恶意使用。在网络上加密数据可以防止这类活动。

透明数据加密:Oracle Advanced Security的透明数据加密使你能够加密单个表格列或表空间。当用户将数据插入加密列时,数据库会自动加密数据。当用户选择该列时,数据会被解密。这种形式的加密是透明的,提供高性能且易于实施。透明数据加密包括行业标准的加密算法,如高级加密标准(AES)和内置的密钥管理。

17.1.4. Oracle数据屏蔽

从Oracle Database 11g Release 2(11.2.0.4)开始,Oracle Data Redaction使您能够对低权限用户或应用程序查询的数据进行屏蔽(红action)。当用户查询数据时,红action会实时发生。Oracle Data Redaction是Oracle Advanced Security的一部分。数据红action支持以下红action函数类型:

  • 完整数据红action
    在这种情况下,数据库会红action表格或视图中指定列的全部内容。例如,用于姓氏的VARCHAR2列显示为一个空格。

  • 部分数据红action
    在这种情况下,数据库会红action显示输出的部分内容。例如,应用程序可以将信用卡号1234显示为xxxx-xxxx-xxxx-1234。您可以为完整和部分红action使用正则表达式。正则表达式可以根据搜索模式红action数据。例如,您可以使用正则表达式来红action特定的电话号码或电子邮件地址。

  • 随机数据红action
    在这种情况下,数据库根据列的数据类型显示为随机生成的值。例如,数字1234567可以显示为83933895。

数据红action不是全面的安全解决方案。例如,它不能防止直接连接的特权用户对红action数据进行推理攻击。这种攻击识别红action列,并通过重复猜测存储值的SQL查询,通过排除法尝试回溯到实际数据。为了检测和防止来自特权用户的推理和其他攻击,Oracle建议将Oracle Data Redaction与相关的数据库安全产品配对,如Oracle Audit Vault and Database Firewall,以及Oracle Database Vault。

数据红action的工作方式如下:

  • 使用DBMS_REDACT包为指定的表创建一个红action策略。
  • 在策略中,指定一个预定义的红action函数。
    数据库显示列的实际值还是红action值取决于策略。如果数据被红action,则红action发生在顶层选择列表立即显示给用户之前。

以下示例为hr.employees表的employee_id列添加了一个完整数据红action策略:

BEGIN DBMS_REDACT.ADD_POLICY( 
object_schema => 'hr'
, object_name => 'employees'
, column_name => 'employee_id'
, policy_name => 'mask_emp_ids'
, function_type => DBMS_REDACT.FULL 
, expression  => '1=1' );
END; /

在前面的示例中,表达式设置为真,将红action应用于未被授予EXEMPT REDACTION POLICY权限的用户。

17.1.5. 访问控制

17.1.6. 监控

17.2. 高可用概述

17.3. 网格计算概述

17.4. 数据仓库与商业智能概述

17.5. Oracle信息集成概述

标签:加密,数据库管理员,开发人员,数据库,用户,Oracle,PARTVI,action,权限
From: https://www.cnblogs.com/crispy-bro/p/18437048

相关文章

  • 每个开发人员都应该了解的基本 Express 请求属性
    在项目后端工作时,处理请求和响应至关重要。有效管理这些请求对于客户端和服务器之间的顺利通信至关重要。以下是每个开发人员都应该熟悉的一些常见且重要的请求属性。1.请求ipexpress.js中的req.ip是请求对象的一个??属性,它提供发出请求的客户端的ip地址。它返回一个......
  • 每个开发人员都应该掌握的 JavaScript 数组方法(第 1 部分)
    “能力越大,责任越大。”—本叔叔,蜘蛛侠(2002)就像蜘蛛侠必须掌握他新发现的能力一样,开发人员需要掌握javascript强大的数组方法才能高效、负责任地进行编码。让我们深入研究一些必须知道的数组方法!1.查找find()方法返回满足所提供的测试函数的第一个数组元素的值。ar......
  • 开发人员人工智能入门:揭秘基础知识部分
    开发者们大家好!人工智能不再只是一个梦想。它就在这里并改变我们构建软件的方式。它可以使应用程序更好、更有用。但如何开始在项目中使用人工智能呢?本系列旨在为您提供踏上人工智能开发之旅的基础知识。在第一部分中,我们将深入研究核心概念并提供使用langchain和openai的实践......
  • web开发人员必备的100个免费资源
    在这篇文章中,我将分享100多个免费的网页开发资源,包括API、托管平台、备忘单、图标、模板、字体、颜色资源、学习平台、CSS游戏、代码编辑器和JavaScript动画库。让我们直接开始吧!......
  • 2024年9月最新web3开发人员薪资情况(包括不同语言、各个国家)
    开发人员的薪水是多少?Web3开发人员的平均年薪为14万至20万美元。薪水取决于技术、编程语言、工作经验年限、地点和资历。量化开发人员每年可赚20万至30万美元高级开发人员年薪16万至25.7万美元北美开发商年薪15万至26.5万美元按开发人员类型和编程......
  • 为什么大多数开发人员都避免在MySQL表名和列名中使用中文?
    大多数开发人员避免在MySQL表名和列名中使用中文,主要有以下几个原因:1.兼容性问题不同的数据库系统和工具对字符集的支持各不相同。使用中文可能导致在不同平台或工具间的数据迁移和兼容性问题。2.编码和显示问题在某些开发环境或工具中,中文可能会出现乱码,导致调试和维护......
  • 如何掌握 MERN 堆栈:全栈开发人员指南
    MERN堆栈(MongoDB、Express.js、React.js、Node.js)已成为全堆栈Web开发最流行的技术之一。作为一名开发人员,学习MERN堆栈可以打开一个充满机遇的世界,并让您走上构建强大的动态Web应用程序的道路。以下是您如何掌握MERN堆栈并将您的全堆栈开发技能提升到新水平的方法。了解......
  • 了解 DSA 中的时间和空间复杂性:开发人员指南
    介绍在软件开发领域,效率是关键。无论您是构建小型应用程序还是大型复杂系统,了解代码在各种条件下的执行情况都至关重要。这就是时间复杂度和空间复杂度概念发挥作用的地方。这些指标可帮助开发人员评估算法的效率,指导他们编写运行速度更快、消耗更少内存的代码。在本文中,我们将深......
  • 书评:Eloquent JavaScript – Web 开发人员的基本指南
    作为最广泛使用的编程语言之一,JavaScript为网络提供了动力。然而,由于其快速发展,跟上JavaScript趋势可能具有挑战性。许多关于这个主题的书籍很快就会过时,但有一本书经受住了时间的考验:EloquentJavaScript。这本书已成为开发人员的最爱,并且正在稳步发展为那些希望加深对语言理......
  • React 心态:新 React 开发人员应该如何思考
    react是一个用于构建用户界面的流行javascript库,它使开发人员能够创建可重用的组件并有效管理复杂的ui,从而彻底改变了前端开发。然而,采用正确的心态对于新开发人员驾驭react独特范例至关重要。让我们探索塑造“react心态”的基本原则和策略。1.组件化思考react的核......