[[toc]]
适用范围
DM Database Server 64 V8
问题概述
为了避免用户登录数据库时直接接触数据库登录密码,DM 提供了一种登录用户名密码外部存储方式,系统管理员可将用户名和密码存储在外部加密的密码文件(wallet 文件)中,用户登录数据库时只需提供配置好的服务名便可成功登录数据库。
问题原因
配置登录用户名密码外部存储 实现免密登录
解决方案
具体实现分为两步:一是创建 wallet 文件,用于存储服务名、用户名和登录密码。二是配置 dm_svc.conf 文件,设置 wallet 文件路径以及服务名对应的数据库连接地址(IP 和 PORT)。配置完成后用户便可直接通过服务名成功登录数据库。
配置案例
将SYSDBA 用户的密码实现外部存储
1、配置 dm_svc.conf 文件
dm_svc.conf 文件中的配置内容如下:
WALLET_LOCATION=(/home/dmdba/wallet)
dm_sysdba=(192.168.233.41:5237)
2、创建 wallet 文件
在/home/dmdba/wallet 路径下创建一个 wallet 文件,文件密码为 Wallet_123。
/home/dmdba/dmdbms/bin/dmmkstore -wrl /home/dmdba/wallet -create
输入口令: Wallet_123
再次输入口令: Wallet_123
3、创建凭据
在 wallet 文件中创建凭据,服务名分别为 dm_sysdba
/home/dmdba/dmdbms/bin/dmmkstore -wrl /home/dmdba/wallet -createCredential dm_sysdba SYSDBA Sysdba_123
输入 Wallet 口令: Wallet_123
Create credential DM.security.client.connect_string1
4、查看凭据
查看 wallet 文件中的凭据。
/home/dmdba/dmdbms/bin/dmmkstore -wrl /home/dmdba/wallet -listCredential
DM Secret Store Tool: V8
Version: 2
输入 Wallet 口令: Wallet_123
List credential (index: connect_string username)
1: dm_sysdba SYSDBA
5、使用客户端工具连接数据库
disql 客户端工具通过 dm_sysdba 服务名登录数据库。
[dmdba@dm01 wallet]$ /home/dmdba/dmdbms/bin/disql /@dm_sysdba
服务器[192.168.233.41:5237]:处于普通打开状态
登录使用时间 : 8.149(ms)
disql V8
SQL> select user();
1 SYSDBA
已用时间: 4.496(毫秒). 执行号:2601.
SQL>
参考文档
https://eco.dameng.com/document/dm/zh-cn/pm/username-password-external-storage#12.1.3.6%20-deleteCredential




