认证
操作场景
使用JDBC建立DLI驱动连接时,需要对用户进行认证鉴权。
操作步骤
目前JDBC支持两种认证鉴权方式,Access Key/Secret Key (AK/SK)和Token,您选择其中一种方式进行认证即可。
- (推荐)生成AK/SK
- 登录DLI管理控制台。
- 在页面右上角的用户名的下拉列表中选择“我的凭证”。
- 在“我的凭证”页面,默认显示“项目列表”,切换到“管理访问密钥”页面。
- 单击左侧“新增访问密钥”按钮,输入“登录密码”和“短息验证码”。
- 单击“确定”,下载证书。
- 下载成功后,在credentials文件中即可获取AK和SK信息。
认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放, 使用时解密, 确保安全。
- 获取Token
当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在JDBC连接参数中配置Token信息,获取Token的详细步骤如下。
- 发送POST https://<IAM_Endpoint>/v3/auth/tokens,请参见地区和终端节点,获取命令中IAM的Endpoint及消息体中的区域名称。
请求内容示例如下。
下面示例代码中的斜体字需要替换为实际内容,详情请参考《统一身份认证服务API参考》。
{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "password", "domain": { "name": "domainname" } } } }, "scope": { "project": { "id": "0aa253a31a2f4cfda30eaa073fee6477" //假设project_id是“0aa253a31a2f4cfda30eaa073fee6477” } } } }
- 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。
- 发送POST https://<IAM_Endpoint>/v3/auth/tokens,请参见地区和终端节点,获取命令中IAM的Endpoint及消息体中的区域名称。