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

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

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

操作步骤:

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

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

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

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

操作步骤:

  1. 调用RAM服务的OpenAPI,为PolarDB-X 1.0实例所属的主账户创建RAM服务角色 AliyunDRDSDefaultRole
  2. PolarDB-X 1.0控制台,以AliyunDRDSDefaultRole 角色调用RDS OpenAPI来管理RDS资源。

代码示例:

使用RAM的OpenAPI 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);
}