Amazon DocumentDB API Permissions: Actions, Resources, and Conditions Reference
Use the following sections as a reference when you set up Managing Access Using Policies and write permissions policies that you can attach to an IAM identity (identity-based policies).
The following lists each Amazon DocumentDB API operation. Included in the list are the corresponding actions for which you can grant permissions to perform the action, the AWS resource that you can grant the permissions for, and condition keys that you can include for fine-grained access control. You specify the actions in the policy’s Action
field, the resource value in the policy’s Resource
field, and conditions in the policy’s Condition
field. For more information about conditions, see Specifying Conditions in a Policy.
You can use AWS-wide condition keys in your Amazon DocumentDB policies to express conditions. For a complete list of AWS-wide keys, see Available Keys in the IAM User Guide.
You can test IAM policies with the IAM policy simulator. It automatically provides a list of resources and parameters required for each AWS action, including Amazon DocumentDB actions. The IAM policy simulator determines the permissions that are required for each of the actions that you specify. For information about the IAM policy simulator, see Testing IAM Policies with the IAM Policy Simulator in the IAM User Guide.
Note
To specify an action, use the rds:
prefix followed by the API operation name (for example, rds:CreateDBInstance
).
The following lists Amazon RDS API operations and their related actions, resources, and condition keys.
Amazon DocumentDB Actions That Support Resource-Level Permissions
Resource-level permissions provide the ability to specify the resources on which users are allowed to perform actions. Amazon DocumentDB has partial support for resource-level permissions. This means that for certain Amazon DocumentDB actions, you can control when users are allowed to use those actions based on conditions that have to be fulfilled, or specific resources that users are allowed to use. For example, you can grant users permission to modify only specific instances.
The following lists Amazon DocumentDB API operations and their related actions, resources, and condition keys.
For certain management features, Amazon DocumentDB uses operational technology that is shared with Amazon RDS.
Amazon DocumentDB API Operations and Actions | Resources | Condition Keys |
---|
AddTagsToResource rds:AddTagsToResource
| Instance arn:aws:rds:region :account-id :db:db-instance-name
| rds:db-tag
|
Subnet group arn:aws:rds:region :account-id :subgrp:subnet-group-name
| rds:subgrp-tag
|
ApplyPendingMaintenanceAction rds:ApplyPendingMaintenanceAction
| Instance arn:aws:rds:region :account-id :db:db-instance-name
| rds:db-tag
|
CopyDBClusterSnapshot rds:CopyDBClusterSnapshot
| Cluster snapshot arn:aws:rds:region :account-id :cluster-snapshot:cluster-snapshot-name
| rds:cluster-snapshot-tag
|
CreateDBCluster rds:CreateDBCluster
| Cluster arn:aws:rds:region :account-id :cluster:db-cluster-name
| rds:cluster-tag
|
Cluster parameter group arn:aws:rds:region :account-id :cluster-pg:cluster-parameter-group-name
| rds:cluster-pg-tag
|
Subnet group arn:aws:rds:region :account-id :subgrp:subnet-group-name
| rds:subgrp-tag
|
CreateDBClusterParameterGroup rds:CreateDBClusterParameterGroup
| Cluster parameter group arn:aws:rds:region :account-id :cluster-pg:cluster-parameter-group-name
| rds:cluster-pg-tag
|
CreateDBClusterSnapshot rds:CreateDBClusterSnapshot
| Cluster arn:aws:rds:region :account-id :cluster:db-cluster-name
| rds:cluster-tag
|
Cluster snapshot arn:aws:rds:region :account-id :cluster-snapshot:cluster-snapshot-name
| rds:cluster-snapshot-tag
|
CreateDBInstance rds:CreateDBInstance
| Instance arn:aws:rds:region :account-id :db:db-instance-name
| rds:DatabaseClass
rds:db-tag
|
Cluster arn:aws:rds:region :account-id :cluster:db-cluster-name
| rds:cluster-tag
|
CreateDBSubnetGroup rds:CreateDBSubnetGroup
| Subnet group arn:aws:rds:region :account-id :subgrp:subnet-group-name
| rds:subgrp-tag
|
DeleteDBInstance rds:DeleteDBInstance
| Instance arn:aws:rds:region :account-id :db:db-instance-name
| rds:db-tag
|
DeleteDBSubnetGroup rds:DeleteDBSubnetGroup
| Subnet group arn:aws:rds:region :account-id :subgrp:subnet-group-name
| rds:subgrp-tag
|
DescribeDBClusterParameterGroups rds:DescribeDBClusterParameterGroups
| Cluster parameter group arn:aws:rds:region :account-id :cluster-pg:cluster-parameter-group-name
| rds:cluster-pg-tag
|
DescribeDBClusterParameters rds:DescribeDBClusterParameters
| Cluster parameter group arn:aws:rds:region :account-id :cluster-pg:cluster-parameter-group-name
| rds:cluster-pg-tag
|
DescribeDBClusters rds:DescribeDBClusters
| Cluster arn:aws:rds:region :account-id :cluster:db-cluster-instance-name
| rds:cluster-tag
|
DescribeDBClusterSnapshotAttributes rds:DescribeDBClusterSnapshotAttributes
| Cluster snapshot arn:aws:rds:region :account-id :cluster-snapshot:cluster-snapshot-name
| rds:cluster-snapshot-tag
|
DescribeDBSubnetGroups rds:DescribeDBSubnetGroups
| Subnet group arn:aws:rds:region :account-id :subgrp:subnet-group-name
| rds:subgrp-tag
|
DescribePendingMaintenanceActions rds:DescribePendingMaintenanceActions
| Instance arn:aws:rds:region :account-id :db:db-instance-name
| rds:DatabaseClass
rds:db-tag
|
FailoverDBCluster rds:FailoverDBCluster
| Cluster arn:aws:rds:region :account-id :cluster:db-cluster-instance-name
| rds:cluster-tag
|
ListTagsForResource rds:ListTagsForResource
| Instance arn:aws:rds:region :account-id :db:db-instance-name
| rds:db-tag
|
Subnet group arn:aws:rds:region :account-id :subgrp:subnet-group-name
| rds:subgrp-tag
|
ModifyDBCluster rds:ModifyDBCluster
| Cluster arn:aws:rds:region :account-id :cluster:db-cluster-name
| rds:cluster-tag
|
Cluster parameter group arn:aws:rds:region :account-id :cluster-pg:cluster-parameter-group-name
| rds:cluster-pg-tag
|
ModifyDBClusterParameterGroup rds:ModifyDBClusterParameterGroup
| Cluster parameter group arn:aws:rds:region :account-id :cluster-pg:cluster-parameter-group-name
| rds:cluster-pg-tag
|
ModifyDBClusterSnapshotAttribute rds:ModifyDBClusterSnapshotAttribute
| Cluster snapshot arn:aws:rds:region :account-id :cluster-snapshot:cluster-snapshot-name
| rds:cluster-snapshot-tag
|
ModifyDBInstance rds:ModifyDBInstance
| Instance arn:aws:rds:region :account-id :db:db-instance-name
| rds:DatabaseClass
rds:db-tag
|
RebootDBInstance rds:RebootDBInstance
| Instance arn:aws:rds:region :account-id :db:db-instance-name
| rds:db-tag
|
RemoveTagsFromResource rds:RemoveTagsFromResource
| Instance arn:aws:rds:region :account-id :db:db-instance-name
| rds:db-tag
|
Subnet group arn:aws:rds:region :account-id :subgrp:subnet-group-name
| rds:subgrp-tag
|
ResetDBClusterParameterGroup rds:ResetDBClusterParameterGroup
| Cluster parameter group arn:aws:rds:region :account-id :cluster-pg:cluster-parameter-group-name
| rds:cluster-pg-tag
|
RestoreDBClusterFromSnapshot rds:RestoreDBClusterFromSnapshot
| Cluster arn:aws:rds:region :account-id :cluster:db-cluster-instance-name
| rds:cluster-tag
|
Cluster snapshot arn:aws:rds:region :account-id :cluster-snapshot:cluster-snapshot-name
| rds:cluster-snapshot-tag
|
RestoreDBClusterToPointInTime rds:RestoreDBClusterToPointInTime
| Cluster arn:aws:rds:region :account-id :cluster:db-cluster-instance-name
| rds:cluster-tag
|
Subnet group arn:aws:rds:region :account-id :subgrp:subnet-group-name
| rds:subgrp-tag
|
Amazon DocumentDB Actions That Don’t Support Resource-Level Permissions
You can use all Amazon DocumentDB actions in an IAM policy to either grant or deny users permission to use that action. However, not all Amazon DocumentDB actions support resource-level permissions, which enable you to specify the resources on which an action can be performed. The following Amazon DocumentDB API actions currently don’t support resource-level permissions. Therefore, to use these actions in an IAM policy, you must grant users permission to use all resources for the action by using a *
wildcard for the Resource
element in your statement.