账号管理
更新时间:2022-08-02
账号管理
创建账号
使用以下代码可以在某个主实例下创建一个新的账号。
public void createAccount(RdsClient rdsClient) {
RdsCreateAccountRequest createAccountRequest = new RdsCreateAccountRequest();
createAccountRequest.setInstanceId("rds-eI0QnwMi");
// 账号名称,不能为保留关键字,必选
createAccountRequest.setAccountName("rds_test_name");
/ 账号的密码,由字母、数字或下划线组成,长度6~32位
createAccountRequest.setPassword("rds_password");
// 账号的描述信息,必选
createAccountRequest.setDesc("rds_sdk_created");
// AccountType:账号权限类型,Common:普通账号,Super:super账号。默认为普通账号,可选
// Type:账号归属类型,OnlyMaster:主实例上使用的账号,RdsProxy:该主实例对应的代理实例上使用的账号。默认为OnlyMaster账号,可选
// MySQL和SQL Server实例可设置此项,可选
// DbName:数据库名称
// AuthType: 授权类型。ReadOnly:只读,ReadWrite:读写
// createAccountRequest.setDatabasePrivileges(databasePrivileges);
try {
AbstractBceResponse accountResponse = rdsClient.createAccount(createAccountRequest);
print("createAccount", accountResponse);
} catch (GeneralSecurityException e) {
e.printStackTrace();
}
}
注意:
- 实例状态为Available,实例必须是主实例。
- 没有超出实例最大账号数量。
- 若实例的数据库引擎为PostgreSQL,则只允许创建Super账号。其它账号和数据库操作通过这个Super账号来管理。
- 若实例的数据库引擎为MySQL,则允许创建任意类型的账号。
- 若实例的数据库引擎为SQLServer,则只允许创建Common账号。
查询账号列表
使用以下代码可以查询指定实例的账号列表。
public void getAccountList(RdsClient rdsClient) {
RdsAccountListRequest listRequest = new RdsAccountListRequest();
listRequest.setInstanceId("rds-eI0QnwMi");
RdsAccountListResponse listResponse = rdsClient.getAccountList(listRequest);
print("getAccountList", listResponse);
}
查询特定账号信息
使用以下代码可以查询特定账号信息。
public void getSpecificAccountInfo(RdsClient rdsClient) {
RdsAccountInfoRequest infoRequest = new RdsAccountInfoRequest();
infoRequest.setInstanceId("rds-eI0QnwMi");
infoRequest.setAccountName("rds_test_name");
RdsAccount accountInfo = rdsClient.getSpecificAccountInfo(infoRequest);
print("getSpecificAccountInfo", accountInfo);
}