云服务器内容精选
-
概述 GaussDB (DWS)提供了使用 IAM 认证方式访问数据库的功能。当使用JDBC应用程序连接集群时,您可以在JDBC连接中配置IAM用户名及其用户凭证等信息,在连接数据库时系统就会自动生成临时数据库凭证,从而成功连接到数据库。 当前仅支持1.3.1及以上版本的集群及其配套的JDBC驱动程序使用IAM认证方式访问数据库。请先参考下载JDBC或ODBC驱动下载JDBC驱动程序。 IAM用户凭证有密码和访问密钥(Access Key ID和Secret Access Key,简称AK和SK)两种类型,您要为JDBC连接提供IAM访问密钥。 如需使用IAM用户凭证访问数据库,必须先给您的IAM用户授予DWS Database Access权限,同时拥有DWS Administrator和DWS Database Access权限的用户,才能基于IAM用户生成临时数据库用户凭证以连接GaussDB(DWS)数据库。 需要注意的是,DWS Database Access是用户组级别的权限,您可以通过为用户组授权并将用户加入到用户组的方式,使用户具有用户组中的权限。 在IAM中,只有admin用户组的用户可以管理用户。如需给IAM用户授权,您的IAM账号必须属于IAM的admin用户组,否则,请联系IAM账号管理员帮您授权。 使用IAM用户凭证访问数据库的流程如下: 授予IAM用户DWS Database Access权限 创建IAM用户凭证 配置JDBC连接使用IAM认证方式连接集群
-
创建IAM用户凭证 用户可以登录管理控制台创建访问密钥,如果您已经创建过了,也可以使用已有的访问密钥。 登录管理控制台。 将鼠标移到右上角的用户名,单击“我的凭证”。 再单击“管理访问密钥”页签,可以查看已有的访问密钥,也可以单击“新增访问密钥”进行创建。 访问密钥是IAM身份认证的重要凭证,只有在新增访问密钥时,用户才可以下载到含有Access Key ID(AK)和Secret Access Key(SK)的密钥文件,在管理控制台只能查看到Access Key ID,如果您未曾下载过该密钥文件,请联系您的管理员进行获取,或者重新创建。 每个用户最多可创建2个访问密钥,有效期为永久。为了账号安全性,建议您定期更换并妥善保存访问密钥。
-
配置JDBC连接使用IAM认证方式连接集群 配置JDBC连接参数 表1 数据库连接参数 参数 描述 url gsjdbc4.jar/gsjdbc200.jar数据库连接描述符。JDBC接口不提供重试连接的能力,您需要在业务代码中实现重试连接的处理。url示例如下: jdbc:dws:iam://dws-IAM-demo:cn-north-4/gaussdb?AccessKeyID=XXXXXXXXXXXXXXXXXXXX&SecretAccessKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&DbUser=user_test&AutoCreate=true JDBC URL参数说明: jdbc:dws:iam是URL格式的前缀。 dws-IAM-demo为数据库集群名称。 cn-north-4是集群所在的区域。JDBC会根据所填写区域,访问对应DWS服务,向所在集群下发IAM证书,用于IAM用户认证。DWS服务地址已内置在JDBC配置文件中。 有关GaussDB(DWS)的区域信息,请参考地区和终端节点。 gaussdb是要连接的数据库名。 AccessKeyID/SecretAccessKey为参数DbUser指定的IAM用户所对应的访问密钥ID和秘密访问密钥。 DbUser请设置为IAM用户名,注意,当前版本暂不支持IAM用户名中含有中划线的情况。 如果数据库中已存在DbUser指定的用户,则临时用户凭证具有与现有用户相同的权限。 如果数据库中不存在DbUser指定的用户,且AutoCreate参数值为true,则自动创建一个以DbUser参数值作为用户名的新用户,默认创建的用户为数据库普通用户。 AutoCreate可以不设置,默认为false。该参数表示是否在数据库中自动创建一个以DbUser参数值作为用户名的数据库用户。 true表示自动创建。如果用户已存在则不会再创建。 false表示不会自动创建。如果数据库中不存在DbUser指定的用户名将返回失败。 info 数据库连接属性。常用的属性如下: ssl:Boolean类型。表示是否使用SSL连接。 loglevel:Integer类型。为LogStream或LogWriter设置记录进DriverManager当前值的日志信息量。 目前支持org.postgresql.Driver.DEBUG和org.postgresql.Driver.INFO。值为1时,表示只打印org.postgresql.Driver.INFO,将记录非常少的信息。值大于等于2时,表示打印org.postgresql.Driver.DEBUG和org.postgresql.Driver.INFO,将产生详细的日志信息。默认值为0,表示不打印日志。 charSet:String类型。表示在向数据库发送数据或从数据库接收数据时使用到的字符集。 prepareThreshold:Integer类型。用于确定在转换为服务器端的预备语句之前,要求执行方法PreparedStatement的次数。缺省值是5。 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 //以下用例以gsjdbc4.jar为例。 //以下代码将获取数据库连接操作封装为一个接口,可通过给定集群所在的区域、集群名称、AccessKeyID、SecretAccessKey及对应的IAM用户名来连接数据库。 public static Connection GetConnection(String clustername, String regionname, String AK, String SK, String username) { //驱动类。 String driver = "org.postgresql.Driver"; //数据库连接描述符。 String sourceURL = "jdbc:dws:iam://" + clustername + ":" + regionname + "/postgresgaussdb?" + "AccessKeyID=" + AK + "&SecretAccessKey=" + SK + "&DbUser=" + username + "&autoCreate=true"; Connection conn = null; try { //加载驱动。 Class.forName(driver); } catch (ClassNotFoundException e) { return null; } try { //创建连接。 conn = DriverManager.getConnection(sourceURL); System.out.println("Connection succeed!"); } catch (SQLException e) { return null; } return conn; }
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格