All Products
Search
Document Center

CloudOps Orchestration Service:RAM authorization

更新時間:Dec 23, 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 OOS. You can use the elements to create policies in RAM. The code (RamCode) in RAM that is used to indicate OOS is [{"popCode":"oos","ramCodes":["oos"]}]. You can grant permissions on OOS 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

OOS 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
oos:ListInventoryEntriesListInventoryEntriesget
All Resources
*
oos:TLSVersion
None
oos:UpdateExecutionUpdateExecutionupdate
execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
oos:TLSVersion
None
oos:ListTagKeysListTagKeysget
All Resources
*
oos:TLSVersion
None
oos:CancelExecutionCancelExecutionupdate
Execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
oos:tag
oos:TLSVersion
None
oos:DeleteStateConfigurationsDeleteStateConfigurationsdelete
stateconfiguration
acs:oos:{#regionId}:{#accountId}:stateconfiguration/{#stateconfigurationId}
oos:TLSVersion
None
oos:GetInventorySchemaGetInventorySchemaget
All Resources
*
oos:TLSVersion
None
oos:TriggerExecutionTriggerExecutionupdate
execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
oos:TLSVersion
None
oos:RegisterDefaultPatchBaselineRegisterDefaultPatchBaselineupdate
patchbaseline
acs:oos:{#regionId}:{#accountId}:patchbaseline/{#patchbaselineName}
oos:TLSVersion
None
oos:ListExecutionsListExecutionslist
Execution
acs:oos:{#regionId}:{#accountId}:execution/*
Execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
oos:tag
oos:TLSVersion
None
oos:UpdateTemplateUpdateTemplateupdate
template
acs:oos:{#regionId}:{#accountId}:template/{#templateName}
oos:tag
oos:TLSVersion
None
oos:CreateApplicationCreateApplicationcreate
Application
acs:oos:{#regionId}:{#accountId}:application/*
NoneNone
oos:GetTemplateGetTemplateget
template
acs:oos:{#regionId}:{#accountId}:template/{#templateName}
oos:tag
oos:TLSVersion
None
oos:GetPatchBaselineGetPatchBaselineget
patchbaseline
acs:oos:{#regionId}:{#accountId}:patchbaseline/{#patchbaselineName}
oos:TLSVersion
None
oos:NotifyExecutionNotifyExecutionupdate
execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
oos:tag
oos:TLSVersion
None
oos:ValidateTemplateContentValidateTemplateContentget
All Resources
*
oos:TLSVersion
None
oos:UpdatePatchBaselineUpdatePatchBaselineupdate
patchbaseline
acs:oos:{#regionId}:{#accountId}:patchbaseline/{#patchbaselineName}
oos:TLSVersion
None
oos:UpdateParameterUpdateParameterupdate
parameter
acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName}
oos:TLSVersion
None
oos:DeleteTemplateDeleteTemplatedelete
Template
acs:oos:{#regionId}:{#accountId}:template/{#templateName}
oos:tag
oos:TLSVersion
None
oos:UpdateOpsItemUpdateOpsItemupdate
OpsItem
acs:oos:{#regionId}:{#accountId}:opsitem/{#OpsItemId}
oos:TLSVersion
None
oos:ListTemplateVersionsListTemplateVersionslist
Template
acs:oos:{#regionId}:{#accountId}:template/{#templateName}
oos:TLSVersion
None
oos:CreateTemplateCreateTemplatecreate
Template
acs:oos:{#regionId}:{#accountId}:template/*
oos:tag
oos:TLSVersion
None
oos:UpdateApplicationUpdateApplicationupdate
Application
acs:oos:{#regionId}:{#accountId}:application/{#ApplicationName}
NoneNone
oos:ListStateConfigurationsListStateConfigurationsget
StateConfiguration
acs:oos:{#regionId}:{#accountId}:stateconfiguration/*
StateConfiguration
acs:oos:{#regionId}:{#accountId}:stateconfiguration/{#StateConfigurationId}
oos:TLSVersion
None
oos:ContinueDeployApplicationGroupContinueDeployApplicationGroupupdate
ApplicationGroup
acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName}
NoneNone
oos:ListInstancePatchesListInstancePatcheslist
All Resources
*
oos:TLSVersion
None
oos:DeletePatchBaselineDeletePatchBaselinedelete
PatchBaseline
acs:oos:{#regionId}:{#accountId}:patchbaseline/{#Name}
oos:TLSVersion
None
oos:DescribeApplicationGroupBillDescribeApplicationGroupBillget
ApplicationGroup
acs:oos:{#regionId}:{#AccountId}:application/{#ApplicationName}/applicationgroup/{#ApplicationGroupName}
NoneNone
oos:CreateSecretParameterCreateSecretParametercreate
secretparameter
acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName}
oos:TLSVersion
None
oos:GetOpsItemGetOpsItemget
OpsItem
acs:oos:{#regionId}:{#accountId}:opsitem/{#OpsItemId}
oos:TLSVersion
None
oos:DeleteParameterDeleteParameterdelete
parameter
acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName}
oos:TLSVersion
None
oos:UpdateStateConfigurationUpdateStateConfigurationupdate
stateconfiguration
acs:oos:{#regionId}:{#accountId}:stateconfiguration/{#stateconfigurationId}
oos:TLSVersion
None
oos:GetServiceSettingsGetServiceSettingsget
ServiceSetting
acs:oos:{#regionId}:{#accountId}:ServiceSetting
oos:TLSVersion
None
oos:ListTemplatesListTemplatesget
Template
acs:oos:{#regionId}:{#accountId}:template/*
Template
acs:oos:{#regionId}:{#accountId}:template/{#templateName}
oos:tag
oos:TLSVersion
None
oos:UpdateInstancePackageStateUpdateInstancePackageStateupdate
Template
acs:oos:{#regionId}:{#accountId}:template/{#templateName}
oos:tag
oos:TLSVersion
None
oos:ListSecretParametersListSecretParameterslist
SecretParameter
acs:oos:{#regionId}:{#accountId}:secretparameter/*
oos:TLSVersion
None
oos:DeployApplicationGroupDeployApplicationGroupupdate
ApplicationGroup
acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName}
NoneNone
oos:GetApplicationGetApplicationget
Application
acs:oos:{#regionId}:{#accountId}:application/{#ApplicationName}
NoneNone
oos:ListInstancePackageStatesListInstancePackageStateslist
Template
acs:oos:{#regionId}:{#accountId}:template/{#templateNames}
oos:tag
oos:TLSVersion
None
oos:GetExecutionTemplateGetExecutionTemplateget
Execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
oos:tag
oos:TLSVersion
None
oos:DeleteApplicationDeleteApplicationdelete
Application
acs:oos:{#regionId}:{#accountId}:application/{#ApplicationName}
NoneNone
oos:ListParametersListParameterslist
Parameter
acs:oos:{#regionId}:{#accountId}:parameter/*
oos:TLSVersion
None
oos:ListApplicationGroupsListApplicationGroupslist
ApplicationGroup
acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/*
NoneNone
oos:CreateParameterCreateParametercreate
parameter
acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName}
oos:TLSVersion
None
oos:CreateOpsItemCreateOpsItemcreate
OpsItem
acs:oos:{#regionId}:{#accountId}:opsitem/*
oos:TLSVersion
None
oos:GetSecretParametersByPathGetSecretParametersByPathget
secretparameter
acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName}
oos:TLSVersion
None
oos:UpdateSecretParameterUpdateSecretParameterupdate
secretparameter
acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName}
oos:TLSVersion
None
oos:DescribeRegionsDescribeRegionsget
All Resources
*
oos:TLSVersion
None
oos:ListInstancePatchStatesListInstancePatchStateslist
All Resources
*
oos:TLSVersion
None
oos:GenerateExecutionPolicyGenerateExecutionPolicyget
Template
acs:oos:{#regionId}:{#accountId}:template/{#templateName}
oos:TLSVersion
None
oos:StartExecutionStartExecutionupdate
Execution
acs:oos:{#regionId}:{#accountId}:execution/*
oos:tag
oos:IsOOSAssumeRole
oos:TLSVersion
None
oos:CreateApplicationGroupCreateApplicationGroupcreate
ApplicationGroup
acs:oos:{#regionId}:{#accountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName}
NoneNone
oos:ChangeResourceGroupChangeResourceGroupupdate
Template
acs:oos:{#regionId}:{#accountId}:template/{#TemplateName}
StateConfiguration
acs:oos:{#regionId}:{#accountId}:stateconfiguration/{#StateConfigurationId}
Parameter
acs:oos:{#regionId}:{#accountId}:parameter/{#ParameterName}
SecretParameter
acs:oos:{#regionId}:{#accountId}:secretparameter/{#SecretParameterName}
OpsItem
acs:oos:{#regionId}:{#accountId}:opsitem/{#OpsItemId}
PatchBaseline
acs:oos:{#regionId}:{#accountId}:patchbaseline/{#PatchBaselineName}
Execution
acs:oos:{#regionId}:{#accountId}:execution/{#ExecutionId}
oos:TLSVersion
None
oos:ListResourceExecutionStatusListResourceExecutionStatusget
execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
oos:tag
oos:TLSVersion
None
oos:GetParameterGetParameterget
parameter
acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName}
oos:TLSVersion
None
oos:TagResourcesTagResourcesupdate
execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
template
acs:oos:{#regionId}:{#accountId}:template/{#templateName}
oos:tag
oos:TLSVersion
None
oos:UntagResourcesUntagResourcesupdate
execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
template
acs:oos:{#regionId}:{#accountId}:template/{#templateName}
oos:tag
oos:TLSVersion
None
oos:ListOpsItemsListOpsItemslist
OpsItem
acs:oos:{#regionId}:{#accountId}:opsitem/*
oos:TLSVersion
None
oos:SetServiceSettingsSetServiceSettingsupdate
ServiceSetting
acs:oos:{#regionId}:{#accountId}:ServiceSetting
oos:TLSVersion
None
oos:GetParametersGetParametersget
parameter
acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName}
oos:TLSVersion
None
oos:ListSecretParameterVersionsListSecretParameterVersionslist
secretparameter
acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName}
oos:TLSVersion
None
oos:DeleteTemplatesDeleteTemplatesdelete
Template
acs:oos:{#regionId}:{#accountId}:template/{#templateName}
oos:TLSVersion
None
oos:DeleteApplicationGroupDeleteApplicationGroupdelete
ApplicationGroup
acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName}
NoneNone
oos:GetApplicationGroupGetApplicationGroupget
ApplicationGroup
acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName}
NoneNone
oos:GetSecretParameterGetSecretParameterget
secretparameter
acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName}
oos:TLSVersion
None
oos:ListPatchBaselinesListPatchBaselineslist
PatchBaseline
acs:oos:{#regionId}:{#accountId}:patchbaseline/{#PatchBaselineName}
oos:TLSVersion
None
oos:CreateStateConfigurationCreateStateConfigurationcreate
StateConfiguration
acs:oos:{#regionId}:{#accountId}:stateconfiguration/*
oos:TLSVersion
None
oos:ListExecutionRiskyTasksListExecutionRiskyTasksget
template
acs:oos:{#regionId}:{#accountId}:template/{#templateName}
oos:tag
oos:TLSVersion
None
oos:GetSecretParametersGetSecretParametersget
secretparameter
acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName}
oos:TLSVersion
None
oos:ListApplicationsListApplicationslist
Application
acs:oos:{#regionId}:{#accountId}:application/*
NoneNone
oos:ListExecutionLogsListExecutionLogsget
execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
oos:tag
oos:TLSVersion
None
oos:DeleteSecretParameterDeleteSecretParameterdelete
secretparameter
acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName}
oos:TLSVersion
None
oos:ListTagValuesListTagValuesget
All Resources
*
oos:TLSVersion
None
oos:ListTagResourcesListTagResourcesget
Execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
Template
acs:oos:{#regionId}:{#accountId}:template/{#TemplateName}
StateConfiguration
acs:oos:{#regionId}:{#accountId}:stateconfiguration/{#StateConfigurationId}
Parameter
acs:oos:{#regionId}:{#accountId}:parameter/{#ParameterName}
SecretParameter
acs:oos:{#regionId}:{#accountId}:secretparameter/{#SecretParameterName}
OpsItem
acs:oos:{#regionId}:{#accountId}:opsitem/{#OpsItemId}
PatchBaseline
acs:oos:{#regionId}:{#accountId}:patchbaseline/{#PatchBaselineName}
Execution
acs:oos:{#regionId}:{#accountId}:execution/*
Template
acs:oos:{#regionId}:{#accountId}:template/*
OpsItem
acs:oos:{#regionId}:{#accountId}:opsitem/*
SecretParameter
acs:oos:{#regionId}:{#accountId}:secretparameter/*
PatchBaseline
acs:oos:{#regionId}:{#accountId}:patchbaseline/*
StateConfiguration
acs:oos:{#regionId}:{#accountId}:stateconfiguration/*
Parameter
acs:oos:{#regionId}:{#accountId}:parameter/*
oos:tag
oos:TLSVersion
None
oos:UpdateApplicationGroupUpdateApplicationGroupupdate
ApplicationGroup
acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName}
NoneNone
oos:ListParameterVersionsListParameterVersionslist
parameter
acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName}
oos:TLSVersion
None
oos:ListTaskExecutionsListTaskExecutionsget
Execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
oos:tag
oos:TLSVersion
None
oos:SearchInventorySearchInventoryget
All Resources
*
oos:TLSVersion
None
oos:GetParametersByPathGetParametersByPathget
parameter
acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName}
oos:TLSVersion
None
oos:CreatePatchBaselineCreatePatchBaselinecreate
patchbaseline
acs:oos:{#regionId}:{#accountId}:patchbaseline/{#patchbaselineName}
oos:TLSVersion
None
oos:DeleteExecutionsDeleteExecutionsdelete
Execution
acs:oos:{#regionId}:{#accountId}:execution/{#executionId}
oos:tag
oos:TLSVersion
None

Resource

OOS 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
executionacs:oos:{#regionId}:{#accountId}:execution/{#executionId}
tagsacs:oos:{#regionId}:{#accountId}:tags/*
Executionacs:oos:{#regionId}:{#accountId}:execution/{#executionId}
stateconfigurationacs:oos:{#regionId}:{#accountId}:stateconfiguration/{#stateconfigurationId}
patchbaselineacs:oos:{#regionId}:{#accountId}:patchbaseline/{#patchbaselineName}
Executionacs:oos:{#regionId}:{#accountId}:execution/*
templateacs:oos:{#regionId}:{#accountId}:template/{#templateName}
Applicationacs:oos:{#regionId}:{#accountId}:application/*
parameteracs:oos:{#regionId}:{#accountId}:parameter/{#parameterName}
Templateacs:oos:{#regionId}:{#accountId}:template/{#templateName}
OpsItemacs:oos:{#regionId}:{#accountId}:opsitem/{#OpsItemId}
Templateacs:oos:{#regionId}:{#accountId}:template/*
Applicationacs:oos:{#regionId}:{#accountId}:application/{#ApplicationName}
StateConfigurationacs:oos:{#regionId}:{#accountId}:stateconfiguration/*
StateConfigurationacs:oos:{#regionId}:{#accountId}:stateconfiguration/{#StateConfigurationId}
ApplicationGroupacs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName}
PatchBaselineacs:oos:{#regionId}:{#accountId}:patchbaseline/{#Name}
OpsItemConfigurationacs:oos:{#regionId}:{#accountId}:opsitemconfiguration/{#ConfigurationId}
secretparameteracs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName}
ServiceSettingacs:oos:{#regionId}:{#accountId}:ServiceSetting
SecretParameteracs:oos:{#regionId}:{#accountId}:secretparameter/*
Templateacs:oos:{#regionId}:{#accountId}:template/{#templateNames}
Parameteracs:oos:{#regionId}:{#accountId}:parameter/*
ApplicationGroupacs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/*
OpsItemacs:oos:{#regionId}:{#accountId}:opsitem/*
Parameteracs:oos:{#regionId}:{#accountId}:parameter/{#ParameterName}
SecretParameteracs:oos:{#regionId}:{#accountId}:secretparameter/{#SecretParameterName}
PatchBaselineacs:oos:{#regionId}:{#accountId}:patchbaseline/{#PatchBaselineName}
OpsItemConfigurationacs:oos:{#regionId}:{#accountId}:OpsItemConfiguration/*
PatchBaselineacs:oos:{#regionId}:{#accountId}:patchbaseline/*

Condition

OOS 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 OOS. 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
oos:tagOOS tag information, it is used in combination with tag key, oos:tag/&lt;tag-key&gt;. Example: Assuming the tag is team:dev, the condition key and its value are &quot;oos:tag/team&quot;: &quot;dev&quot;String
oos:IsOOSAssumeRoleWhether the OOS StartExecution is called by AssumeRoleBoolean
oos:TLSVersionTLS version used for OOS OpenAPI callsString

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: