All Products
Search
Document Center

ApsaraDB RDS:GrantAccountPrivilege

Last Updated:Sep 27, 2024

Grants an account the permissions on a database of an instance.

Operation description

Each account can be granted permissions on one or more databases. Before you call this operation, make sure that the instance is in the Running state.

Note This operation is not supported for instances that run SQL Server 2017 on RDS Cluster Edition or run PostgreSQL with local disks.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
rds:GrantAccountPrivilegeupdate
  • DBInstance
    acs:rds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
  • rds:ResourceTag
none

Request parameters

ParameterTypeRequiredDescriptionExample
DBInstanceIdstringYes

The ID of the instance.

rm-uf6wjk5xxxxxxxxxx
AccountNamestringYes

The username of the account.

test1
DBNamestringYes

The name of the database on which you want to grant permissions. Separate multiple database names with commas (,).

testDB1
AccountPrivilegestringYes

The permissions that you want to grant to the account. The number of permissions must be the same as the number of databases that you specify for the DBName parameter. You can specify this parameter based on your business requirements. Valid values:

  • ReadWrite: read and write permissions
  • ReadOnly: read-only permissions
  • DDLOnly: DDL-only permissions
  • DMLOnly: DML-only permissions
  • DBOwner: database owner permissions
Note
  • If the instance runs MySQL or MariaDB, you can set this parameter to ReadWrite, ReadOnly, DDLOnly, or DMLOnly.

  • If the instance runs SQL Server, you can set this parameter to ReadWrite, ReadOnly, or DBOwner.

  • If the instance runs PostgreSQL and uses cloud disks, you can set this parameter to DBOwner.

ReadWrite

Response parameters

ParameterTypeDescriptionExample
object
RequestIdstring

The ID of the request.

81BC9559-7B22-4B7F-B705-5F56DEECDEA7

Examples

Sample success responses

JSONformat

{
  "RequestId": "81BC9559-7B22-4B7F-B705-5F56DEECDEA7"
}

Error codes

HTTP status codeError codeError messageDescription
400Account.UpdateErrorUpdate Account failed, please check your input valueFailed to update the account. Check the specified parameters or the parameter policy configuration.
400Database.ConnectErrorDatabase connect error. please check instance status and database processlistA database connection error occurred. Check the instance state and the database connection pool.
400DbRestoringDatabase is in restoring state.The database is in the restoring state.
400InvalidAccountPrivilege.MalformedSpecified account privilege is not valid.Your account does not have the required permissions.
400IncorrectAccountStatusCurrent account status does not support this operation.-
400IncorrectAccountCurrent DB instance account does not support this operation.-
400InvalidDBNameOrAccountPrivilegeAccount permissions and database names must correspond.The account can have only one permission on the database.
403IncorrectDBInstanceTypeCurrent DB instance type does not support this operation.The operation failed. The RDS instance is not in a ready state.
403IncorrectDBInstanceStateCurrent DB instance state does not support this operation.-
403IncorrectAccountTypeCurrent account type does not support this operation.This operation is not supported for the current account type. Check the account type.
403IncorrectAccountPrivilegeTypethe current account privilege type does not support this operation.The permission type of the current account does not support this operation.
403OperationDenied.AccountModeThe operation is not permitted due to account mode of instance.The operation is not supported for the account type of the RDS instance. ApsaraDB RDS supports two types of accounts: privileged accounts and standard accounts.
403IncorrectDBInstanceCharacterTypeCurrent DB Instance character_type does not support this operation.This operation is not supported for the character type of the current instance.
404IncorrectDBInstanceLockModeCurrent DB instance lock mode does not support this operation.The operation failed. The RDS instance is locked.
404InvalidAccountName.NotFoundSpecified account name does not exist.-

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2024-05-28The Error code has changedView Change Details
2024-04-17The Error code has changedView Change Details
2023-12-14The Error code has changedView Change Details
2023-08-08The Error code has changedView Change Details
2023-05-19The Error code has changedView Change Details
2022-10-28The Error code has changedView Change Details
2022-09-05The Error code has changedView Change Details
2022-06-24API Description Update. The Error code has changedView Change Details