一、数据库资源授权
我们前面已经导入了数据库,和主机资源授权一样,数据库资源的授权也在资源授权页面中进行授权。同样可以分成云账户、物理网络、数据库以及数据库分组等多层授权体系。
我们这里以下图数据库菜单页面已导入的数据库为例。
1.1、数据库资源授权
进入“团队管理/权限管理”,点击“资源授权”,如图,默认情况下,在一个“云账户”里,分为“云账户”授权、“物理网络”授权以及具体资源(包括“主机”及“数据库”)的授权。在图中右上角“显示全部资源”里可以选择“仅显示主机资源”或“仅显示数据库资源”。
选择一个云账户、物理网络或数据库,点击右侧的“设置”,和功能授权一样,在对话框中选择对应的角色、部门或成员后点击“确定”即完成该云账户或物理网络或数据库的资源授权管理。
(1)授权云账户:
如图,这里有两个云账户(相当于纳管了两个机房)里有数据库资源,云账户“深圳机房局域网”以及“北京机房局域网”,其中“深圳机房局域网”有两个物理网络(相当于两个网段)。
此时我们只把云账户“深圳机房局域网”授权给用户“Joe”:
我们可以在“数据库管理”菜单页面看到,“Joe”只能看到云账户“深圳机房局域网”下两个物理网络的全部数据库,但看不到云账户“北京机房局域网”里的数据库;
(2)授权某个物理网络:
我们只把云账户“深圳机房局域网”下的物理网络“192.168.8.*”授权给用户“Joe”:
我们可以在“数据库管理”菜单页面看到,“Joe”只能看到云账户“深圳机房局域网”下物理网络“192.168.8.*”里的数据库,但看不到云账户“深圳机房局域网”下的其他物理网络里的数据库,以及看不到云账户“北京机房局域网”里的数据库;
(3)授权某台数据库:
我们只把“堡垒机数据库”、“192.168.222.21”数据库授权给用户“Joe”:
我们可以在“数据库管理”菜单页面看到,“Joe”只能看到“堡垒机数据库”、“192.168.222.21”这两台数据库资源,但看不到其他数据库;
1.2、数据库资源分组授权
从上述我们可以看到,授权“云账户”以及授权“物理网络”,用户都能看到“云账户”或某个“物理网络”里的所有数据库,那么如果我们需要授权只看到“云账户”或某个“物理网络”里的某几台数据库,而不是所有数据库,就需要按下述进行授权操作了。
行云管家资源授权是以云账户或物理网络为基本隔离单元,但是通常情况下,用户在导入数据库时,一般是将一个云厂商账号或局域网中的所有数据库都归到一个云账户中,那么在资源授权时,只能把该云账户或物理网络下的所有数据库都授权给某个角色、部门或成员,很显然这种方式是无法满足资源维度的精细化授权需求的,那么这种情况下,我们就需要通过分组授权来实现数据库维度的权限管理模型。
和主机资源分组授权一样,进入“分组授权”页面进行授权,请点击“分组授权”里的“创建分组”来创建分组。在创建的分组里,添加数据库并且授权给要授权的对象即可。
授权完后,可以在数据库管理菜单中看到分组授权后的效果:
二、数据库账户添加与授权
在数据库日常运维过程中,往往要将数据库的登录凭证交给运维人员,这种“交出凭证”的方式导致了登录凭证的广泛传播,随着登录凭证的广泛传播,数据库的安全风险急剧增加;另外,在数据库数量众多时,需要管理较多的数据库登录凭证,这时对数据库登录凭证的管理会变得复杂困难,并且导致运维效率低下。
通过对数据库登录凭证进行统一管理,并且在行云管家系统内将数据库登录凭证与纳管的数据库进行关联,避免数据库登录凭证传播与泄露,保障安全。
2.1、添加数据库账户
我们可以通过以下两种方式添加数据库账户(具体数据库账户内容填写请参考数据库账户填写方式):
(1)单台数据库账户添加
(2)通过模板批量导入数据库账户
除了可以在账户管理里直接对数据库添加账户凭证外,还可以通过下载数据库账户凭证模板并录入后导入数据库账户凭证;
2.2、数据库账户填写方式
在添加数据库账户时,对于不同的数据库账户,需要填写的内容可能有所不同,请参考下述进行填写;
2.2.1、MySQL
需要录入数据库账户、密码,其中缺省Schema为可选项。
2.2.2、SQLServer
SQLServer数据库支持本地系统账户、域用户账户认证。
本地系统账户需要录入数据库账户、密码,其中缺省Schema为可选项。
域用户账户需要录入域地址、数据库账户、密码,其中缺省Schema为可选项。
2.2.3、Oracle
需要选择连接方式,录入数据库账户、密码、SID或服务名。
2.2.4、PostgresSQL
需要录入数据库账户、密码、登录的数据库(认证Database)。
2.2.5、Redis
Redis默认是没有账户的,需要录入数据库密码。
2.2.6、Vertica
需要录入数据库账户、密码,其中缺省Schema为可选项。
2.2.7、Hive
如果是没勾选Kerberos认证,那么需要录入数据库账户、密码,其中缺省Schema为可选项。
如果是勾选了Kerberos认证,那么需要录入principal、keytab;
2.2.8、RedShift
需要录入数据库账户、密码,其中缺省Schema为可选项。
2.2.9、MongoDB
MongoDB数据库支持数据库用户密码认证、无认证模式。
用户密码认证需要录入数据库地址、端口、用户、密码、登录的数据库(认证Database)。
无认证模式需要录入数据库地址、端口。
2.2.10、GaussDB
需要录入数据库账户、密码,其中缺省Schema为可选项。
2.3、数据库账户授权
(1)单台数据库账户授权
在进行单台数据库账户添加的过程中,可以在如图中进行账户授权;
(2)批量授权数据库账户
将数据库账户凭证关联到凭证授权方案中,可以实现批量管理数据库凭证给团队成员使用;
如图,在“账户授权”页面创建“授权方案”后,即可关联数据库账户并授权给“授权对象”;
在“账户管理”菜单中,编辑或添加账户,可以看到如图“授权对象”中可以在“凭证授权对象”中单独对该凭证进行授权,也可以通过“方案对象授权”来授权;
- 注意:图中的“方案授权对象”在没有进行方案授权前是看不到的,只有把该账户凭证纳入到对应的账户授权方案中才会在这里显示出来;
三、数据库账户管理
3.1、拨测凭证
可以通过定期拨测功能来检测已有密码的数据库账户凭证是否有效,或手动点击如图最下方对的拨测凭证。
3.2、导出凭证
如图在批量管理里可以导出所选/全部账户,系统将把所勾选的数据库账户凭证密码信息导出为.xls文件,同时您也可以对该.xls文件设置密码;
3.3、修改账户密码
如图在批量管理里可以进行密码管理,点击录入密码,可以批量修改已录入密码的数据库账户的密码;
四、数据库功能授权
4.1、数据库菜单、功能授权;
依次点击“团队管理”、“权限管理”、“功能授权”、“资源运维”、“数据库运维”;
4.2、数据库审计功能授权
依次点击“团队管理”、“权限管理”、“功能授权”、“安全中心”、“数据库运维审计”;