访问控制与通讯加密
当一个客户端应用连接Vastbase E100数据库服务器时,它将指定以哪个数据库用户名连接,就像我们以一个特定用户登录一台 Unix 计算机一样。在 SQL环境中,活动的数据库用户名决定对数据库对象的访问权限。
Vastbase E100实际上以”角色”来进行权限管理。数据库用户实际上是”拥有LOGIN权限的角色”。
认证是数据库服务器建立客户端身份的过程,并且服务器决定客户端应用(或者运行客户端应用的用户)是否被允许以请求的数据库用户名来连接。
Vastbase E100提供多种不同的客户端认证方式。被用来认证一个特定客户端连接的方法可以基于(客户端)主机地址、数据库和用户来选择。
认证方式与连接控制
Vastbase E100支持多种不同的认证方式,如下:
SCRAM-SHA-256加密认证
MD5加密认证
GSSAPI用户验证
ident服务器用户验证
LDAP服务器用户验证
REDIUS服务器用户验证
SSL证书认证
PAM模块认证
操作系统用户验证
可用的密码组细节可能会随着OpenSSL版本变化,当前OpenSSL版本支持的所有密码套件以及密码套件中的完整性校验算法和加密算法可用如下命令查询,需注意回显结果是根据服务器密钥类型在运行时过滤过的。
openssl ciphers -v 'HIGH:MEDIUM:+3DES:!aNULL'
如下查询结果中Enc表示加密算法,Mac表示完整性校验算法。
ECDH-ECDSA-DES-CBC3-SHA SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=3DES(168) Mac=SHA1
用户可通过主机地址、数据库、用户名、认证方式等维度的组合来实现对客户端连接的控制,或实现黑白名单等。目前支持的判断维度和条件如下:
维度 可选值 意义 客户端类别 local 本地登录 host 外部接入 hostssl 启用了SSL加密链路的外部接入 hostnossl 未启用SSL加密链路的外部接入 客户端地址 IP地址 + 掩码形式 或
IP地址/掩码形式客户端的IP地址范围 数据库 数据库名 需要连接的数据库 用户名 用户名 需要用于连接数据库的用户 认证方式 trust 无条件信任,无需提供密码即可连接 reject 无条件拒绝,可用于实现黑白名单 scram-sha-256 通过SCRAM-SHA-256算法验证用户的口令 md5 通过SCRAM-SHA-256或MD5算法验证用户的口令 gss 通过GSSAPI进行用户验证 ident 通过ident服务器进行用户验证 peer 通过对操作系统用户和登录用户作匹配进行验证 ldap 通过LDAP服务器进行用户验证 radius 通过REDIUS服务器进行用户验证 cert 通过SSL证书进行用户验证 pam 通过数据库服务器操作系统的PAM模块进行认证
- 用户名映射
当使用像 Ident 或者 GSSAPI 之类的外部认证系统时,发起连接的操作系统用户名可能不同于要被使用的数据库用户(角色)。在这种情况下,Vastbase E100提供的用户名映射功能,可被用来把操作系统用户名映射到数据库用户。