全部产品

资源授权

更新时间:2020-08-15 16:45:22

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

授权的方法

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

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

操作步骤:

  1. 登录 PolarDB-X 控制台, 依次单击资源授权>激授授权

    drds_open_api_3

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

    drds_open_api_4

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

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

操作步骤:

  1. 调用 RAM 服务的 OpenAPI,为 PolarDB-X 实例所属的主账户创建 RAM 服务角色 AliyunDRDSDefaultRole

  2. 在 PolarDB-X 控制台,以 AliyunDRDSDefaultRole 角色调用 RDS OpenAPI 来管理 RDS 资源。

代码示例:

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

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