摘要:在当今数字化时代,数据库管理已经成为了所有企业的核心组成部分。它不仅关乎数据的存储和检索,更重要的是保证数据的安全和合规性。对企业来说,敏感数据的安全性和保密性都是重中之重的问题,而有效的数据库权限管理正是解决这一问题的关键所在。它涉及到谁可以访问什么数据,以及他们可以对数据执行哪些操作。这不仅是技术人员的责任,也是组织合规性的重要组成部分。
文本将会从静态授权这一场景来和大家探讨:数据库的权限管理方式,以及如何有效地实施它以保护您的宝贵数据资源。
在现代信息技术的世界中,数据安全变得越来越重要。每天都有大量的数据交换和存储,因此保护数据免受未经授权访问和攻击是至关重要的,而最薄弱环节往往是终端安全防护。
目前,终端安全防护的技术手段极为有限,也存在诸多安全隐患,其中最大的问题是终端普遍存在数据泄漏风险。下面让我们我们先来回顾一下我们接触过的各种传统数据库客户终端。
MySQL:SQLyog、SQL Developer
Oracle:PL/SQL Developer、Oracle Enterprise Manager、SQL*Plus
SQL Server:SSMS
DB2:Data Server Client
MongoDB:MongoDB Shell、Studio 3T
Redis:RESP.app
除了上面列出的官方配套客户端,我们还能接触到一些开源和商业化客户端工具,例如 Navicat,本文不再进行一一列举。
“
传统数据库权限管控是保护数据安全的关键。在物理和信息安全领域,访问控制(AC)是对场所或资源访问的选择性限制。这种安全技术规定了谁可以查看或使用计算环境中的资格。关系型数据库管理系统提供了多种版本,针对不同用户提供不同功能。我们再来看看,传统数据库是如何做权限管理的?
以 MySQL 为例,不同版本的授权方式不相同,例如 5.6 以下的版本,只支持 grant 的方式,而 5.6 以上版本是使用 create user,grant 语句组合来实现的。
SQL Server 以其丰富的安全功能而闻名,包括复杂的权限和访问控制机制。此外,基于目的访问控制可以用于保护隐私,通过规定数据访问的目的来增强安全。允许创建、修改和删除登录名和用户。管理员可以通过 SSMS 管理这些登录名和用户,为它们分配不同的权限和角色。在某些情况下,如云数据库 SQL Server,超级权限账号和高级权限账号默认拥有所有数据库的所有者权。
Oracle 比较典型,首先需要创建新的 Oracle 用户。将角色分配给用户,以确定其权限级别。Oracle 内置了一些角色,如 CONNECT、RESOURCE、DBA,除了角色,还可以直接分配系统权限给用户,以控制其对数据库的访问。用户可以被授予(grant)访问和操作数据库对象(如表、视图)的权限。
管理十来个数据库可能并不算太复杂,但是当面对几百甚至上千个数据库连接实例时,传统的管理方式会变得非常繁琐。
如果需要管理员为每位操作人员手动创建用户账号和密码,这不仅效率低下容易出错,此外,密码的保存也是一个安全隐患,如果密码被泄露,可能会导致数据安全问题。
当有新的数据源加入时,管理员需要下载安装包并学习如何配置,这不仅浪费时间,而且增加了不必要的成本。因此,我们需要一种更加高效、安全、易用的解决方案来管理大量的数据库和数据源。
“
CloudQuery 通过统一数据库客户端、统一身份认证、统一授权管理、统一监控审计等手段,可以解决掉 90% 以上的权限管理安全需要。
对于管理员来说,他们不再需要为每种数据库安装单独的客户端,而是通过 CloudQuery 的统一数据库客户端进行管理,这使得整个管理过程更加安全和高效。此外,通过 CloudQuery,管理员可以轻松地进行用户账号和密码的创建和删除,同时实现密码的加密和存储,确保了数据的安全性。
在企业运营生产过程中,常常会遇到不同的权限管理场景,需要灵活地配置员工权限。使用对象常常涉及到第三方厂家开发测试人员,运维管理人员,数据库管理员和审计员。
例如,在开发测试环节,使用生产数据造成的数据泄露时有发生。泄露信息虽然是员工的个人行为,但该公司仍有不可推卸的责任。此外,由于此数据会被合作方所使用,这会导致与该公司有密切合作的企业也会有信息泄露的可能性。
总体来讲,权限管理是公司数据安全的重要一层保障。通过对具体数据库或者数据表的授权,达到安全管控和安全合规的目的。对于操作人员需要经常操作的对象,建议授予静态授权,保证日常工作所需的最低使用权限。例如,我们可以为开发测试人员账号提供仅访问权限。
什么是静态授权? …
快快进入 CloudQuery 官网下载,和讲师一起操作起来吧~
CloudQuery 官网:https://www.cloudquery.club/home
下面以数据库、单表授权为例,来和大家分享 CloudQuery 如何进行权限授予。
点击【数据库管理】的【手动授权】模块可对已启用的资源进行授权操作,以具体资源为对象,手动给用户授权。
在已保存的数据库连接,系统内置的五大权限等级(无权限、仅浏览、仅访问、可编辑、可管理),对应起来到每个角色。
通过左侧资源列表多层级展开,在连接组或者数据库层级下可以配置“添加客户”授予权限,如下图:
通过下拉选择,授予对应用户账号合适的权限,例如“仅访问”。并且还支持批量授权的功能。
当然,默认权限等级无法满足需要的情况下,我们还可以通过“新增权限”功能自定义等级,提高了等级设置的灵活性。
根据实际使用需要,授权粒度可粗可细,最细粒度可以到表级,并且可对多张表批量授权,自由灵活配置。
“
以上是数据库管理静态授权场景管理方式,如何为数据库或者单张表进行静态授权,保证最低权限使用需求。下一期将为大家介绍临时访问场景的动态授权管理方式。