开发者社区> 问答> 正文

如何获取资源授权

DRDS Open API 的一部分操作(例如创建数据库)依赖 RDS 的 Open API 接口。所以,为确保 DRDS 控制台有权限操作用户的 RDS 资源,DRDS Open API 的使用者要通过 RAM 服务给 DRDS 控制台授权 RDS 资源的访问权限。不然,调用 DRDS Open API 会出现权限不足而报错。

授权的方法

方法一: 通过 DRDS 控制台进行授权(推荐)

本方式适用于可以正常登录 DRDS 控制台的用户。

操作步骤:

登录 DRDS 控制台, 依次单击资源授权>激授授权。

drds_open_api_3

在与资源访问授权对话框,单击同意授权。

drds_open_api_4

方法二: 通过调用 RAM 服务的 Open API 进行授权

适用于因特殊原因(如混合云场景)无法登录 DRDS 控制台的用户。

操作步骤:

调用 RAM 服务的 Open API,为 DRDS 实例所属的主账户创建 RAM 服务角色 AliyunDRDSDefaultRole;

在 DRDS 控制台,以 AliyunDRDSDefaultRole 角色调用 RDS Open API来管理 RDS 资源。

代码示例:

使用 RAM 的 Open API Java SDK 创建服务角色, Java 代码如下所示:

public static void createDrdsRole() throws ServerException, ClientException {
    String rolePolicyDoc = "{\"Statement\":[{\"Action\": \"sts:AssumeRole\", \"Effect\": \"Allow\",\"Principal\":{\"Service\":[\"drds.aliyuncs.com\"]}}],\"Version\": \"1\"}";
    String roleName = "AliyunDRDSDefaultRole";
    CreateRoleRequest request = new CreateRoleRequest();
    request.setAssumeRolePolicyDocument(rolePolicyDoc);
    request.setRoleName(roleName);
    client.getAcsResponse(request);
}

展开
收起
猫饭先生 2017-10-30 14:02:28 1585 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
《用管控策略设定多账号组织全局访问边界》 立即下载
重保场景及API安全指南 立即下载
Terraform-管理云资源的正确姿势 立即下载