All Products
Search
Document Center

ApsaraDB for MongoDB:RAM authorization

Last Updated:Sep 03, 2024
Resource Access Management (RAM) is a service provided by Alibaba Cloud to manage user identities and resource access permissions. You can use RAM to prevent RAM users from sharing the AccessKey pairs of your Alibaba Cloud account. You can also use RAM to grant minimum permissions to RAM users. RAM uses policies to define permissions.
This topic describes the elements, such as Action, Resource, and Condition, which are defined by MongoDB. You can use the elements to create policies in RAM. The code (RamCode) in RAM that is used to indicate MongoDB is dds. You can grant permissions on MongoDB at the RESOURCE.

General structure of a policy

Policies can be stored as JSON files. The following code provides an example on the general structure of a policy:
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "<Effect>",
      "Action": "<Action>",
      "Resource": "<Resource>",
      "Condition": {
        "<Condition_operator>": {
          "<Condition_key>": [
            "<Condition_value>"
          ]
        }
      }
    }
  ]
}
The following list describes the fields in the policy:
  • Effect: specifies the authorization effect. Valid values: Allow, Deny.
  • Action: specifies one or more API operations that are allowed or denied. For more information, see the Action section of this topic.
  • Resource: specifies one or more resources to which the policy applies. You can use an Alibaba Cloud Resource Name (ARN) to specify a resource. For more information, see the Resource section of this topic.
  • Condition: specifies one or more conditions that are required for the policy to take effect. This is an optional field. For more information, see the Condition section of this topic.
    • Condition_operator: specifies the conditional operators. Different types of conditions support different conditional operators. For more information, see Policy elements.
    • Condition_key: specifies the condition keys.
    • Condition_value: specifies the condition values.

Action

MongoDB defines the values that you can use in the Action element of a policy statement. The following table describes the values.
  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • API operation: the API operation that you can call to perform the operation.
  • 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 keys that are defined by the Alibaba Cloud service. The Condition key column does not list the common condition keys that are defined by Alibaba Cloud. For more information about the common condition keys, see Generic Condition Keyword.
  • 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.
ActionsAPI operationAccess levelResource typeCondition keyAssociated operation
dds:ReleaseNodePrivateNetworkAddressReleaseNodePrivateNetworkAddressupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceId}
NoneNone
dds:DescribeMongoDBLogConfigDescribeMongoDBLogConfigget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeAccountsDescribeAccountsget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyTaskInfoModifyTaskInfoupdate
All Resources
*
NoneNone
dds:CheckRecoveryConditionCheckRecoveryConditionget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:CreateAccountCreateAccountcreate
DBInstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceId}
NoneNone
dds:DescribeParametersDescribeParametersget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeUserEncryptionKeyListDescribeUserEncryptionKeyListget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeSecurityIpsDescribeSecurityIpsget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeBackupTasksDescribeBackupTasksnone
All Resources
*
NoneNone
dds:DescribeAuditRecordsDescribeAuditRecordsget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DeleteGlobalSecurityIPGroupDeleteGlobalSecurityIPGroupdelete
All Resources
*
NoneNone
dds:CreateShardingDBInstanceCreateShardingDBInstancecreate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/*
NoneNone
dds:DescribeSlowLogRecordsDescribeSlowLogRecordsget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyResourceGroupModifyResourceGroupupdate
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyDBInstanceNetworkTypeModifyDBInstanceNetworkTypeupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:AllocateNodePrivateNetworkAddressAllocateNodePrivateNetworkAddressupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:UpgradeDBInstanceEngineVersionUpgradeDBInstanceEngineVersionupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DestroyInstanceDestroyInstancedelete
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeBackupDBsDescribeBackupDBsget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyGlobalSecurityIPGroupRelationModifyGlobalSecurityIPGroupRelationupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeReplicaSetRoleDescribeReplicaSetRoleget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyNodeSpecModifyNodeSpecupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeAvailableResourceDescribeAvailableResourceget
All Resources
*
NoneNone
dds:ModifySecurityGroupConfigurationModifySecurityGroupConfigurationupdate
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeInstanceRecoverTimeDescribeInstanceRecoverTimenone
All Resources
*
NoneNone
dds:DescribeHistoryTasksDescribeHistoryTaskslist
All Resources
*
NoneNone
dds:DeleteDBInstanceDeleteDBInstancedelete
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeClusterBackupsDescribeClusterBackupsget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceId}
NoneNone
dds:DescribeTagsDescribeTagsget
All Resources
*
NoneNone
dds:TransformToPrePaidTransformToPrePaidupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:CreateDBInstanceCreateDBInstancecreate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/*
NoneNone
dds:ModifyDBInstanceMonitorModifyDBInstanceMonitorupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeDBInstanceEncryptionKeyDescribeDBInstanceEncryptionKeyget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeRenewalPriceDescribeRenewalPriceget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DeleteNodeDeleteNodedelete
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifySecurityIpsModifySecurityIpsupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeActiveOperationTaskTypeDescribeActiveOperationTaskTypeget
All Resources
*
NoneNone
dds:SwitchDBInstanceHASwitchDBInstanceHAnone
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeRunningLogRecordsDescribeRunningLogRecordsget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:CreateBackupCreateBackupcreate
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ReleasePublicNetworkAddressReleasePublicNetworkAddressupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceId}
NoneNone
dds:DescribeBackupStorageDescribeBackupStorageget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceId}
NoneNone
dds:ModifyNodeSpecBatchModifyNodeSpecBatchupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeDBInstancesDescribeDBInstancesget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/*
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeDBInstanceMonitorDescribeDBInstanceMonitorget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:AllocatePublicNetworkAddressAllocatePublicNetworkAddressupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:RenewDBInstanceRenewDBInstanceupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyDBInstanceMaintainTimeModifyDBInstanceMaintainTimeupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeAvailabilityZonesDescribeAvailabilityZoneslist
All Resources
*
NoneNone
dds:CreateNodeBatchCreateNodeBatchcreate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceId}
NoneNone
dds:DescribeKmsKeysDescribeKmsKeysget
All Resources
*
NoneNone
dds:CheckCloudResourceAuthorizedCheckCloudResourceAuthorizedget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeRoleZoneInfoDescribeRoleZoneInfoget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeDBInstanceTDEInfoDescribeDBInstanceTDEInfoget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeActiveOperationTaskCountDescribeActiveOperationTaskCountget
All Resources
*
NoneNone
dds:DescribeActiveOperationTasksDescribeActiveOperationTaskslist
All Resources
*
NoneNone
dds:CreateGlobalSecurityIPGroupCreateGlobalSecurityIPGroupcreate
All Resources
*
NoneNone
dds:CreateNodeCreateNodecreate
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:MigrateToOtherZoneMigrateToOtherZoneupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceId}
NoneNone
dds:DescribeErrorLogRecordsDescribeErrorLogRecordsget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyDBInstanceConnectionStringModifyDBInstanceConnectionStringupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyDBInstanceDescriptionModifyDBInstanceDescriptionupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:TagResourcesTagResourcesupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeDBInstancePerformanceDescribeDBInstancePerformanceget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
dds:ResourceTag
None
dds:ModifyDBInstanceDiskTypeModifyDBInstanceDiskTypeupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeInstanceAutoRenewalAttributeDescribeInstanceAutoRenewalAttributeget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeParameterModificationHistoryDescribeParameterModificationHistoryget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyDBInstanceSpecModifyDBInstanceSpecupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyAuditLogFilterModifyAuditLogFilterupdate
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyDBInstanceSSLModifyDBInstanceSSLupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:EvaluateResourceEvaluateResourcenone
All Resources
*
NoneNone
dds:ResetAccountPasswordResetAccountPasswordupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:RestartDBInstanceRestartDBInstanceupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyDBInstanceTDEModifyDBInstanceTDEupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeGlobalSecurityIPGroupRelationDescribeGlobalSecurityIPGroupRelationget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeBackupPolicyDescribeBackupPolicyget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeAuditPolicyDescribeAuditPolicyget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyAccountDescriptionModifyAccountDescriptionupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeDBInstanceSSLDescribeDBInstanceSSLget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeDBInstanceSwitchLogDescribeDBInstanceSwitchLoglist
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceId}
NoneNone
dds:ModifyBackupPolicyModifyBackupPolicyupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeSecurityGroupConfigurationDescribeSecurityGroupConfigurationget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeBackupsDescribeBackupsget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyDBInstanceNetExpireTimeModifyDBInstanceNetExpireTimeupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:TransferClusterBackupTransferClusterBackupnone
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribePriceDescribePriceget
All Resources
*
NoneNone
dds:DescribeHistoryTasksStatDescribeHistoryTasksStatlist
All Resources
*
NoneNone
dds:DescribeAvailableEngineVersionDescribeAvailableEngineVersionget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyActiveOperationTasksModifyActiveOperationTasksWrite
All Resources
*
NoneNone
dds:ModifyGlobalSecurityIPGroupNameModifyGlobalSecurityIPGroupNameupdate
All Resources
*
NoneNone
dds:TransformInstanceChargeTypeTransformInstanceChargeTypeupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceId}
NoneNone
dds:DescribeGlobalSecurityIPGroupDescribeGlobalSecurityIPGrouplist
All Resources
*
NoneNone
dds:ListTagResourcesListTagResourcesget
All Resources
*
NoneNone
dds:ModifyInstanceAutoRenewalAttributeModifyInstanceAutoRenewalAttributeupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeAuditLogFilterDescribeAuditLogFilterget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:UntagResourcesUntagResourcesupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:MigrateAvailableZoneMigrateAvailableZoneupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeClusterRecoverTimeDescribeClusterRecoverTimeget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyGlobalSecurityIPGroupModifyGlobalSecurityIPGroupupdate
All Resources
*
NoneNone
dds:DescribeDBInstancesOverviewDescribeDBInstancesOverviewget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/*
NoneNone
dds:ModifyInstanceVpcAuthModeModifyInstanceVpcAuthModeupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyParametersModifyParametersupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:UpgradeDBInstanceKernelVersionUpgradeDBInstanceKernelVersionupdate
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeShardingNetworkAddressDescribeShardingNetworkAddressget
Instance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:ModifyAuditPolicyModifyAuditPolicyupdate
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone
dds:DescribeDBInstanceAttributeDescribeDBInstanceAttributeget
dbinstance
acs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
NoneNone

Resource

MongoDB defines the values that you can use in the Resource. You can attach the policy to a RAM user or a RAM role so that the RAM user or the RAM role can perform a specific operation on a specific resource. The ARN is the unique identifier of the resource on Alibaba Cloud. Take note of the following items:
  • {#}indicates a variable. {#} must be replaced with an actual value. For example, {#ramcode} must be replaced with the actual code of an Alibaba Cloud service in RAM.
  • An asterisk (*) is used as a wildcard. Examples:
    • {#resourceType} is set to *, all resources are specified.
    • {#regionId} is set to *, all regions are specified.
    • {#accountId} is set to *, all Alibaba Cloud accounts are specified.
Resource typeARN
dbinstanceacs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
Instanceacs:dds:{#regionId}:{#accountId}:instance/{#InstanceId}
Instanceacs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceId}
Instanceacs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstance}
Instanceacs:dds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
DBInstanceacs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceId}
Instanceacs:mongodb:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
Instanceacs:dds:{#regionId}:{#accountId}:dbinstance/*
dbinstanceacs:dds:{#regionId}:{#accountId}:dbinstance/*
DBInstanceacs:dds:{#regionId}:{#accountId}:dbinstance/*
Instanceacs:dds:{#regionId}:{#accountId}:instance/*
Instanceacs:dds:{#regionId}:{#accountId}:dbinstance/{#dbInstanceid}

Condition

MongoDB defines the values that you can use in the Condition element of a policy statement. The following table describes the values. The following table describes the service-specific condition keys. The common condition keys that are defined by Alibaba Cloud also apply to MongoDB. For more information about the common condition keys, see Generic Condition Keyword.
The data type determines the conditional operators that you can use to compare the value in a request with the value in a policy statement. You must use conditional operators that are supported by the data type. Otherwise, you cannot compare the value in the request with the value in the policy statement. In this case, the authorization is invalid. For more information about the conditional operators that are supported by each data type, see Policy elements.
Condition keyDescriptionData type
acs:ResourceTagTag authenticationSTRING

What to do next

You can create a custom policy and attach the policy to a RAM user, RAM user group, or RAM role. For more information, see the following topics: