Updated on 2024-04-11 GMT+08:00

RDS Custom Policies

Custom policies can be created as a supplement to the system policies of RDS. For the actions supported for custom policies, see "Permissions Policies and Supported Actions" in Relational Database Service API Reference.

You can create custom policies in either of the following two ways:

  • Visual editor: Select cloud services, actions, resources, and request conditions without the need to know policy syntax.
  • JSON: Edit JSON policies from scratch or based on an existing policy.

For details, see "Creating a Custom Policy" in Identity and Access Management User Guide. The following section contains examples of common RDS custom policies.

Example Custom Policies

  • Example 1: Allowing users to create RDS DB instances
    {
    	"Version": "1.1",
    	"Statement": [{
    		"Effect": "Allow",
    		"Action": ["rds:instance:create"]
    	}]
    }
  • Example 2: Denying RDS DB instance deletion

    A policy with only "Deny" permissions must be used in conjunction with other policies to take effect. If the permissions assigned to a user contain both "Allow" and "Deny", the "Deny" permissions take precedence over the "Allow" permissions.

    The following method can be used if you need to assign permissions of the RDS FullAccess policy to a user but you want to prevent the user from deleting RDS DB instances. Create a custom policy for denying RDS DB instance deletion, and attach both policies to the group to which the user belongs. Then, the user can perform all operations on RDS DB instances except deleting RDS DB instances. The following is an example deny policy:

    {
    	"Version": "1.1",
    	"Statement": [{
    		"Action": ["rds:instance:delete"],
    		"Effect": "Deny"
    	}]
    }