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>"
]
}
}
}
]
}
- 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 theAction
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.
Actions | API operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|---|
oos:ListInventoryEntries | ListInventoryEntries | get | All Resources * | oos:TLSVersion | None |
oos:UpdateExecution | UpdateExecution | update | execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId} | oos:TLSVersion | None |
oos:ListTagKeys | ListTagKeys | get | All Resources * | oos:TLSVersion | None |
oos:CancelExecution | CancelExecution | update | Execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId} | oos:tag oos:TLSVersion | None |
oos:DeleteStateConfigurations | DeleteStateConfigurations | delete | stateconfiguration acs:oos:{#regionId}:{#accountId}:stateconfiguration/{#stateconfigurationId} | oos:TLSVersion | None |
oos:GetInventorySchema | GetInventorySchema | get | All Resources * | oos:TLSVersion | None |
oos:TriggerExecution | TriggerExecution | update | execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId} | oos:TLSVersion | None |
oos:RegisterDefaultPatchBaseline | RegisterDefaultPatchBaseline | update | patchbaseline acs:oos:{#regionId}:{#accountId}:patchbaseline/{#patchbaselineName} | oos:TLSVersion | None |
oos:ListExecutions | ListExecutions | list | Execution acs:oos:{#regionId}:{#accountId}:execution/*Execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId} | oos:tag oos:TLSVersion | None |
oos:UpdateTemplate | UpdateTemplate | update | template acs:oos:{#regionId}:{#accountId}:template/{#templateName} | oos:tag oos:TLSVersion | None |
oos:CreateApplication | CreateApplication | create | Application acs:oos:{#regionId}:{#accountId}:application/* | None | None |
oos:GetTemplate | GetTemplate | get | template acs:oos:{#regionId}:{#accountId}:template/{#templateName} | oos:tag oos:TLSVersion | None |
oos:GetPatchBaseline | GetPatchBaseline | get | patchbaseline acs:oos:{#regionId}:{#accountId}:patchbaseline/{#patchbaselineName} | oos:TLSVersion | None |
oos:NotifyExecution | NotifyExecution | update | execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId} | oos:tag oos:TLSVersion | None |
oos:ValidateTemplateContent | ValidateTemplateContent | get | All Resources * | oos:TLSVersion | None |
oos:UpdatePatchBaseline | UpdatePatchBaseline | update | patchbaseline acs:oos:{#regionId}:{#accountId}:patchbaseline/{#patchbaselineName} | oos:TLSVersion | None |
oos:UpdateParameter | UpdateParameter | update | parameter acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName} | oos:TLSVersion | None |
oos:DeleteTemplate | DeleteTemplate | delete | Template acs:oos:{#regionId}:{#accountId}:template/{#templateName} | oos:tag oos:TLSVersion | None |
oos:UpdateOpsItem | UpdateOpsItem | update | OpsItem acs:oos:{#regionId}:{#accountId}:opsitem/{#OpsItemId} | oos:TLSVersion | None |
oos:ListTemplateVersions | ListTemplateVersions | list | Template acs:oos:{#regionId}:{#accountId}:template/{#templateName} | oos:TLSVersion | None |
oos:CreateTemplate | CreateTemplate | create | Template acs:oos:{#regionId}:{#accountId}:template/* | oos:tag oos:TLSVersion | None |
oos:UpdateApplication | UpdateApplication | update | Application acs:oos:{#regionId}:{#accountId}:application/{#ApplicationName} | None | None |
oos:ListStateConfigurations | ListStateConfigurations | get | StateConfiguration acs:oos:{#regionId}:{#accountId}:stateconfiguration/*StateConfiguration acs:oos:{#regionId}:{#accountId}:stateconfiguration/{#StateConfigurationId} | oos:TLSVersion | None |
oos:ContinueDeployApplicationGroup | ContinueDeployApplicationGroup | update | ApplicationGroup acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName} | None | None |
oos:ListInstancePatches | ListInstancePatches | list | All Resources * | oos:TLSVersion | None |
oos:DeletePatchBaseline | DeletePatchBaseline | delete | PatchBaseline acs:oos:{#regionId}:{#accountId}:patchbaseline/{#Name} | oos:TLSVersion | None |
oos:DescribeApplicationGroupBill | DescribeApplicationGroupBill | get | ApplicationGroup acs:oos:{#regionId}:{#AccountId}:application/{#ApplicationName}/applicationgroup/{#ApplicationGroupName} | None | None |
oos:CreateSecretParameter | CreateSecretParameter | create | secretparameter acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName} | oos:TLSVersion | None |
oos:GetOpsItem | GetOpsItem | get | OpsItem acs:oos:{#regionId}:{#accountId}:opsitem/{#OpsItemId} | oos:TLSVersion | None |
oos:DeleteParameter | DeleteParameter | delete | parameter acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName} | oos:TLSVersion | None |
oos:UpdateStateConfiguration | UpdateStateConfiguration | update | stateconfiguration acs:oos:{#regionId}:{#accountId}:stateconfiguration/{#stateconfigurationId} | oos:TLSVersion | None |
oos:GetServiceSettings | GetServiceSettings | get | ServiceSetting acs:oos:{#regionId}:{#accountId}:ServiceSetting | oos:TLSVersion | None |
oos:ListTemplates | ListTemplates | get | Template acs:oos:{#regionId}:{#accountId}:template/*Template acs:oos:{#regionId}:{#accountId}:template/{#templateName} | oos:tag oos:TLSVersion | None |
oos:UpdateInstancePackageState | UpdateInstancePackageState | update | Template acs:oos:{#regionId}:{#accountId}:template/{#templateName} | oos:tag oos:TLSVersion | None |
oos:ListSecretParameters | ListSecretParameters | list | SecretParameter acs:oos:{#regionId}:{#accountId}:secretparameter/* | oos:TLSVersion | None |
oos:DeployApplicationGroup | DeployApplicationGroup | update | ApplicationGroup acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName} | None | None |
oos:GetApplication | GetApplication | get | Application acs:oos:{#regionId}:{#accountId}:application/{#ApplicationName} | None | None |
oos:ListInstancePackageStates | ListInstancePackageStates | list | Template acs:oos:{#regionId}:{#accountId}:template/{#templateNames} | oos:tag oos:TLSVersion | None |
oos:GetExecutionTemplate | GetExecutionTemplate | get | Execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId} | oos:tag oos:TLSVersion | None |
oos:DeleteApplication | DeleteApplication | delete | Application acs:oos:{#regionId}:{#accountId}:application/{#ApplicationName} | None | None |
oos:ListParameters | ListParameters | list | Parameter acs:oos:{#regionId}:{#accountId}:parameter/* | oos:TLSVersion | None |
oos:ListApplicationGroups | ListApplicationGroups | list | ApplicationGroup acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/* | None | None |
oos:CreateParameter | CreateParameter | create | parameter acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName} | oos:TLSVersion | None |
oos:CreateOpsItem | CreateOpsItem | create | OpsItem acs:oos:{#regionId}:{#accountId}:opsitem/* | oos:TLSVersion | None |
oos:GetSecretParametersByPath | GetSecretParametersByPath | get | secretparameter acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName} | oos:TLSVersion | None |
oos:UpdateSecretParameter | UpdateSecretParameter | update | secretparameter acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName} | oos:TLSVersion | None |
oos:DescribeRegions | DescribeRegions | get | All Resources * | oos:TLSVersion | None |
oos:ListInstancePatchStates | ListInstancePatchStates | list | All Resources * | oos:TLSVersion | None |
oos:GenerateExecutionPolicy | GenerateExecutionPolicy | get | Template acs:oos:{#regionId}:{#accountId}:template/{#templateName} | oos:TLSVersion | None |
oos:StartExecution | StartExecution | update | Execution acs:oos:{#regionId}:{#accountId}:execution/* | oos:tag oos:IsOOSAssumeRole oos:TLSVersion | None |
oos:CreateApplicationGroup | CreateApplicationGroup | create | ApplicationGroup acs:oos:{#regionId}:{#accountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName} | None | None |
oos:ChangeResourceGroup | ChangeResourceGroup | update | 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:ListResourceExecutionStatus | ListResourceExecutionStatus | get | execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId} | oos:tag oos:TLSVersion | None |
oos:GetParameter | GetParameter | get | parameter acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName} | oos:TLSVersion | None |
oos:TagResources | TagResources | update | execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId}template acs:oos:{#regionId}:{#accountId}:template/{#templateName} | oos:tag oos:TLSVersion | None |
oos:UntagResources | UntagResources | update | execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId}template acs:oos:{#regionId}:{#accountId}:template/{#templateName} | oos:tag oos:TLSVersion | None |
oos:ListOpsItems | ListOpsItems | list | OpsItem acs:oos:{#regionId}:{#accountId}:opsitem/* | oos:TLSVersion | None |
oos:SetServiceSettings | SetServiceSettings | update | ServiceSetting acs:oos:{#regionId}:{#accountId}:ServiceSetting | oos:TLSVersion | None |
oos:GetParameters | GetParameters | get | parameter acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName} | oos:TLSVersion | None |
oos:ListSecretParameterVersions | ListSecretParameterVersions | list | secretparameter acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName} | oos:TLSVersion | None |
oos:DeleteTemplates | DeleteTemplates | delete | Template acs:oos:{#regionId}:{#accountId}:template/{#templateName} | oos:TLSVersion | None |
oos:DeleteApplicationGroup | DeleteApplicationGroup | delete | ApplicationGroup acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName} | None | None |
oos:GetApplicationGroup | GetApplicationGroup | get | ApplicationGroup acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName} | None | None |
oos:GetSecretParameter | GetSecretParameter | get | secretparameter acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName} | oos:TLSVersion | None |
oos:ListPatchBaselines | ListPatchBaselines | list | PatchBaseline acs:oos:{#regionId}:{#accountId}:patchbaseline/{#PatchBaselineName} | oos:TLSVersion | None |
oos:CreateStateConfiguration | CreateStateConfiguration | create | StateConfiguration acs:oos:{#regionId}:{#accountId}:stateconfiguration/* | oos:TLSVersion | None |
oos:ListExecutionRiskyTasks | ListExecutionRiskyTasks | get | template acs:oos:{#regionId}:{#accountId}:template/{#templateName} | oos:tag oos:TLSVersion | None |
oos:GetSecretParameters | GetSecretParameters | get | secretparameter acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName} | oos:TLSVersion | None |
oos:ListApplications | ListApplications | list | Application acs:oos:{#regionId}:{#accountId}:application/* | None | None |
oos:ListExecutionLogs | ListExecutionLogs | get | execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId} | oos:tag oos:TLSVersion | None |
oos:DeleteSecretParameter | DeleteSecretParameter | delete | secretparameter acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName} | oos:TLSVersion | None |
oos:ListTagValues | ListTagValues | get | All Resources * | oos:TLSVersion | None |
oos:ListTagResources | ListTagResources | get | 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:UpdateApplicationGroup | UpdateApplicationGroup | update | ApplicationGroup acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName} | None | None |
oos:ListParameterVersions | ListParameterVersions | list | parameter acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName} | oos:TLSVersion | None |
oos:ListTaskExecutions | ListTaskExecutions | get | Execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId} | oos:tag oos:TLSVersion | None |
oos:SearchInventory | SearchInventory | get | All Resources * | oos:TLSVersion | None |
oos:GetParametersByPath | GetParametersByPath | get | parameter acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName} | oos:TLSVersion | None |
oos:CreatePatchBaseline | CreatePatchBaseline | create | patchbaseline acs:oos:{#regionId}:{#accountId}:patchbaseline/{#patchbaselineName} | oos:TLSVersion | None |
oos:DeleteExecutions | DeleteExecutions | delete | Execution acs:oos:{#regionId}:{#accountId}:execution/{#executionId} | oos:tag oos:TLSVersion | None |
Resource
OOS defines the values that you can use in theResource
. 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 type | ARN |
---|---|
execution | acs:oos:{#regionId}:{#accountId}:execution/{#executionId} |
tags | acs:oos:{#regionId}:{#accountId}:tags/* |
Execution | acs:oos:{#regionId}:{#accountId}:execution/{#executionId} |
stateconfiguration | acs:oos:{#regionId}:{#accountId}:stateconfiguration/{#stateconfigurationId} |
patchbaseline | acs:oos:{#regionId}:{#accountId}:patchbaseline/{#patchbaselineName} |
Execution | acs:oos:{#regionId}:{#accountId}:execution/* |
template | acs:oos:{#regionId}:{#accountId}:template/{#templateName} |
Application | acs:oos:{#regionId}:{#accountId}:application/* |
parameter | acs:oos:{#regionId}:{#accountId}:parameter/{#parameterName} |
Template | acs:oos:{#regionId}:{#accountId}:template/{#templateName} |
OpsItem | acs:oos:{#regionId}:{#accountId}:opsitem/{#OpsItemId} |
Template | acs:oos:{#regionId}:{#accountId}:template/* |
Application | acs:oos:{#regionId}:{#accountId}:application/{#ApplicationName} |
StateConfiguration | acs:oos:{#regionId}:{#accountId}:stateconfiguration/* |
StateConfiguration | acs:oos:{#regionId}:{#accountId}:stateconfiguration/{#StateConfigurationId} |
ApplicationGroup | acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/{#applicationGroupName} |
PatchBaseline | acs:oos:{#regionId}:{#accountId}:patchbaseline/{#Name} |
OpsItemConfiguration | acs:oos:{#regionId}:{#accountId}:opsitemconfiguration/{#ConfigurationId} |
secretparameter | acs:oos:{#regionId}:{#accountId}:secretparameter/{#secretparameterName} |
ServiceSetting | acs:oos:{#regionId}:{#accountId}:ServiceSetting |
SecretParameter | acs:oos:{#regionId}:{#accountId}:secretparameter/* |
Template | acs:oos:{#regionId}:{#accountId}:template/{#templateNames} |
Parameter | acs:oos:{#regionId}:{#accountId}:parameter/* |
ApplicationGroup | acs:oos:{#regionId}:{#AccountId}:application/{#applicationName}/applicationgroup/* |
OpsItem | acs:oos:{#regionId}:{#accountId}:opsitem/* |
Parameter | acs:oos:{#regionId}:{#accountId}:parameter/{#ParameterName} |
SecretParameter | acs:oos:{#regionId}:{#accountId}:secretparameter/{#SecretParameterName} |
PatchBaseline | acs:oos:{#regionId}:{#accountId}:patchbaseline/{#PatchBaselineName} |
OpsItemConfiguration | acs:oos:{#regionId}:{#accountId}:OpsItemConfiguration/* |
PatchBaseline | acs: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 key | Description | Data type |
---|---|---|
oos:tag | OOS tag information, it is used in combination with tag key, oos:tag/<tag-key>. Example: Assuming the tag is team:dev, the condition key and its value are "oos:tag/team": "dev" | String |
oos:IsOOSAssumeRole | Whether the OOS StartExecution is called by AssumeRole | Boolean |
oos:TLSVersion | TLS version used for OOS OpenAPI calls | String |