All Products
Search
Document Center

Auto Scaling:RAM authorization

Last Updated:Dec 11, 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 AutoScaling. You can use the elements to create policies in RAM. The code (RamCode) in RAM that is used to indicate AutoScaling is [{"popCode":"Ess","ramCodes":["ess"]}]. You can grant permissions on AutoScaling at the OPERATION.

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

AutoScaling 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
ess:DetachLoadBalancersDetachLoadBalancersupdate
All Resources
*
NoneNone
ess:AttachAlbServerGroupsAttachAlbServerGroupsupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DeleteAlarmDeleteAlarmdelete
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DescribeLimitationDescribeLimitationget
All Resources
*
NoneNone
ess:ChangeResourceGroupChangeResourceGroupupdate
All Resources
*
NoneNone
ess:RecordLifecycleActionHeartbeatRecordLifecycleActionHeartbeatupdate
All Resources
*
NoneNone
ess:DescribeNotificationConfigurationsDescribeNotificationConfigurationsget
All Resources
*
NoneNone
ess:DisableScalingGroupDisableScalingGroupupdate
All Resources
*
NoneNone
ess:DeleteScalingConfigurationDeleteScalingConfigurationdelete
All Resources
*
NoneNone
ess:DescribeRegionsVerifyAuthentication
All Resources
*
NoneNone
ess:AttachServerGroupsAttachServerGroupsupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:EnterStandbyEnterStandbyupdate
All Resources
*
NoneNone
ess:ListTagKeysListTagKeysget
All Resources
*
NoneNone
ess:CreateEciScalingConfigurationCreateEciScalingConfigurationcreate
All Resources
*
NoneNone
ess:DescribeAlertConfigurationDescribeAlertConfigurationget
All Resources
*
NoneNone
ess:DeleteScheduledTaskDeleteScheduledTaskdelete
All Resources
*
NoneNone
ess:AttachLoadBalancersAttachLoadBalancersupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:CreateNotificationConfigurationCreateNotificationConfigurationcreate
All Resources
*
NoneNone
ess:DeleteEciScalingConfigurationDeleteEciScalingConfigurationdelete
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DescribePatternTypesDescribePatternTypeslist
All Resources
*
NoneNone
ess:DetachDBInstancesDetachDBInstancesnone
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:CreateScalingGroupCreateScalingGroupcreate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/*
NoneNone
ess:UntagResourcesUntagResourcesupdate
All Resources
*
NoneNone
ess:DescribeLifecycleActionsDescribeLifecycleActionsget
All Resources
*
NoneNone
ess:ResumeProcessesResumeProcessesupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DeleteScalingGroupDeleteScalingGroupdelete
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:CreateAlarmCreateAlarmcreate
All Resources
*
NoneNone
ess:CompleteLifecycleActionCompleteLifecycleActionupdate
All Resources
*
NoneNone
ess:ModifyScalingConfigurationModifyScalingConfigurationupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DetachInstancesDetachInstancesupdate
All Resources
*
NoneNone
ess:StartInstanceRefreshStartInstanceRefreshupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:RebalanceInstancesRebalanceInstancesupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DescribeScalingActivityDetailDescribeScalingActivityDetailget
All Resources
*
NoneNone
ess:DeleteScalingRuleDeleteScalingRuledelete
All Resources
*
NoneNone
ess:SetInstancesProtectionSetInstancesProtectionupdate
All Resources
*
NoneNone
ess:DescribeScalingGroupDetailDescribeScalingGroupDetailget
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:EnableScalingGroupEnableScalingGroupupdate
All Resources
*
NoneNone
ess:SetInstanceHealthSetInstanceHealthupdate
All Resources
*
NoneNone
ess:ApplyScalingGroupApplyScalingGroupcreate
All Resources
*
NoneNone
ess:CreateScalingConfigurationCreateScalingConfigurationcreate
All Resources
*
NoneNone
ess:ListTagValuesListTagValuesget
All Resources
*
NoneNone
ess:ModifyNotificationConfigurationModifyNotificationConfigurationupdate
All Resources
*
NoneNone
ess:SuspendInstanceRefreshSuspendInstanceRefreshupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DescribeScalingActivitiesDescribeScalingActivitiesget
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:SuspendProcessesSuspendProcessesupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:CreateScheduledTaskCreateScheduledTaskcreate
All Resources
*
NoneNone
ess:DetachServerGroupsDetachServerGroupsupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:SetGroupDeletionProtectionSetGroupDeletionProtectionupdate
All Resources
*
NoneNone
ess:DetachVServerGroupsDetachVServerGroupsupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:EnableAlarmEnableAlarmupdate
All Resources
*
NoneNone
ess:DescribeScalingInstancesDescribeScalingInstancesget
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:ListTagResourcesListTagResourcesget
All Resources
*
NoneNone
ess:DeleteLifecycleHookDeleteLifecycleHookdelete
All Resources
*
NoneNone
ess:DescribeEciScalingConfigurationDetailDescribeEciScalingConfigurationDetailget
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:ModifyScheduledTaskModifyScheduledTaskupdate
All Resources
*
NoneNone
ess:DescribeScalingConfigurationsDescribeScalingConfigurationsget
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:ModifyScalingGroupModifyScalingGroupupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DescribeElasticStrengthDescribeElasticStrengthget
All Resources
*
NoneNone
ess:AttachInstancesAttachInstancesupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:ModifyAlarmModifyAlarmupdate
All Resources
*
NoneNone
ess:ModifyScalingRuleModifyScalingRuleupdate
All Resources
*
NoneNone
ess:CreateDiagnoseReportCreateDiagnoseReportcreate
All Resources
*
NoneNone
ess:AttachVServerGroupsAttachVServerGroupsupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DisableAlarmDisableAlarmupdate
All Resources
*
NoneNone
ess:ResumeInstanceRefreshResumeInstanceRefreshupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:CreateScalingRuleCreateScalingRulecreate
All Resources
*
NoneNone
ess:ExitStandbyExitStandbyupdate
All Resources
*
NoneNone
ess:DetachInstancesRemoveInstancesupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:ExecuteScalingRuleExecuteScalingRuleupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:AttachDBInstancesAttachDBInstancesupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DescribeScalingGroupsDescribeScalingGroupsget
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:ModifyEciScalingConfigurationModifyEciScalingConfigurationupdate
All Resources
*
NoneNone
ess:DetachAlbServerGroupsDetachAlbServerGroupsupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:CancelInstanceRefreshCancelInstanceRefreshupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:ModifyInstanceAttributeModifyInstanceAttributeupdate
All Resources
*
NoneNone
ess:ModifyLifecycleHookModifyLifecycleHookupdate
All Resources
*
NoneNone
ess:DescribeNotificationTypesDescribeNotificationTypesget
All Resources
*
NoneNone
ess:DescribeRegionsVerifyUser
All Resources
*
NoneNone
ess:DescribeEciScalingConfigurationsDescribeEciScalingConfigurationsget
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DeleteNotificationConfigurationDeleteNotificationConfigurationdelete
All Resources
*
NoneNone
ess:ApplyEciScalingConfigurationApplyEciScalingConfigurationcreate
All Resources
*
NoneNone
ess:DescribeRegionsDescribeRegionsget
All Resources
*
NoneNone
ess:DescribeLifecycleHooksDescribeLifecycleHooksget
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:DescribeAlarmsDescribeAlarmsget
All Resources
*
NoneNone
ess:TagResourcesTagResourcesupdate
All Resources
*
NoneNone
ess:ModifyAlertConfigurationModifyAlertConfigurationupdate
All Resources
*
NoneNone
ess:DescribeScheduledTasksDescribeScheduledTasksget
All Resources
*
NoneNone
ess:RollbackInstanceRefreshRollbackInstanceRefreshupdate
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone
ess:CreateLifecycleHookCreateLifecycleHookcreate
All Resources
*
NoneNone
ess:DescribeScalingRulesDescribeScalingRulesget
All Resources
*
NoneNone
ess:ScaleWithAdjustmentScaleWithAdjustmentupdate
All Resources
*
NoneNone
ess:DescribeInstanceRefreshesDescribeInstanceRefreshesget
ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}
NoneNone

Resource

In AutoScaling, you cannot specify an ARN in the Resource element in a policy statement. If you want to authorize a RAM user or a RAM role to access AutoScaling, you cannot specify an ARN in the "Resource": "*".

Condition

AutoScaling does not define service-specific condition keys. For more information about common condition keys that are defined by Alibaba Cloud, see Generic Condition Keyword.

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: