PolarDB-X 1.0的部分操作會調用RDS的OpenAPI,因此在使用RAM之前,需要先啟用PolarDB-X 1.0訪問RDS服務的授權,建立一個供PolarDB-X 1.0訪問RDS的RAM服務角色。本文將介紹如何通過控制台和OpenAPI啟用授權。
在控制台上啟用RAM授權
- 在左側導覽列,單擊資源授權。
- 在雲資源授權管理頁面,單擊啟用授權。
- 在彈出的對話方塊中單擊同意授權。警告 啟用授權的同時, RAM控制台上會預設建立一個名稱為AliyunDRDSDefaultRole的RAM角色供PolarDB-X 1.0訪問該賬戶下RDS資源,同時授權PolarDB-X 1.0訪問RDS的OpenAPI,請勿隨意刪除該RAM角色,刪除後將不能訪問RDS的資源和OpenAPI。
通過RAM的OpenAPI啟用RAM授權
若暫時無法存取控制台,您也可以通過調用相關OpenAPI建立RAM服務角色,角色建立完成即意味著PolarDB-X 1.0訪問RDS資源的授權也被啟用。
- 建立角色(假設要建立的RAM角色名稱是Jack)。
- 調用CreateRole介面並輸入以下參數建立RAM角色:
參數名 說明 Action CreateRole RoleName Jack AssumeRolePolicyDocument 信任策略,格式如下所示。 { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "drds.aliyuncs.com" ] } } ], "Version": "1" }
- 通過Java SDK建立RAM角色,Demo如下:
// 建立角色 String rolePolicyDoc = "{\"Statement\":[{\"Action\": \"sts:AssumeRole\", \"Effect\": \"Allow\",\"Principal\":{\"Service\":[\"drds.aliyuncs.com\"]}}],\"Version\": \"1\"}"; String roleName = "Jack"; CreateRoleRequest request = new CreateRoleRequest(); request.setAssumeRolePolicyDocument(rolePolicyDoc); client.getAcsResponse(request); // 為角色授予策略 AttachPolicyToRoleRequest attachRequest = new AttachPolicyToRoleRequest(); attachRequest.setPolicyType("System"); attachRequest.setPolicyName("AliyunDRDSRolePolicy"); attachRequest.setRoleName("AliyunDRDSDefaultRole"); client.getAcsResponse(attachRequest);
- 調用CreateRole介面並輸入以下參數建立RAM角色:
- 查驗角色是否建立成功(假設建立的RAM角色為Jack)。
- 通過GetRole介面並輸入以下參數查看角色詳情:
參數名 說明 Action CreateRole RoleName Jack - 通過Java SDK查看RAM角色詳情,Demo如下:
String roleName = "AliyunDRDSDefaultRole"; GetRoleRequest request = new GetRoleRequest(); request.setRoleName(roleName); GetRoleResponse resp = client.getAcsResponse(request); GetRoleResponse.Role role = resp.getRole();
- 通過GetRole介面並輸入以下參數查看角色詳情: