All Products
Search
Document Center

Resource Management:AttachPolicy

Last Updated:Jun 05, 2024

Attaches a policy to an object, which can be a RAM user, RAM user group, or RAM role. After you attach a policy to an object, the object has the operation permissions on the resources in a specific resource group or within a specific Alibaba Cloud account.

Operation description

In this example, the policy AdministratorAccess is attached to the RAM user alice@demo.onaliyun.com and takes effect only for resources in the rg-9gLOoK**** resource group.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • 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 key that is defined by the cloud service.
  • 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.
OperationAccess levelResource typeCondition keyAssociated operation
ram:AttachPolicyWrite
  • Group
    acs:ram:*:{#accountId}:group/{#GroupName}
  • Role
    acs:ram:*:{#accountId}:role/{#RoleName}
  • User
    acs:ram:*:{#accountId}:user/{#UserName}
  • Policy
    acs:ram:*:{#accountId}:policy/{#PolicyName}
  • Policy
    acs:ram:*:system:policy/{#PolicyName}
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
ResourceGroupIdstringYes

The effective scope of the policy. You can set this parameter to one of the following items:

  • ID of a resource group: indicates that the policy takes effect for the resources in the resource group.
  • ID of the Alibaba Cloud account to which the authorized object belongs: indicates that the policy takes effect for the resources within the Alibaba Cloud account.
rg-9gLOoK****
PolicyTypestringYes

The type of the policy. Valid values:

  • Custom: custom policy
  • System: system policy
System
PolicyNamestringYes

The name of the policy.

The name must be 1 to 128 characters in length and can contain letters, digits, and hyphens (-).

AdministratorAccess
PrincipalTypestringYes

The type of the object to which you want to attach the policy. Valid values:

  • IMSUser: RAM user
  • IMSGroup: RAM user group
  • ServiceRole: RAM role
IMSUser
PrincipalNamestringYes

The name of the object to which you want to attach the policy.

  • If you want to attach the policy to a RAM user, specify the name in the <UserName>@<AccountAlias>.onaliyun.com format. <UserName> indicates the name of the RAM user, and <AccountAlias> indicates the alias of the Alibaba Cloud account to which the RAM user belongs.
  • If you want to attach the policy to a RAM user group, specify the name in the <GroupName>@group.<AccountAlias>.onaliyun.com format. <GroupName> indicates the name of the RAM user group, and <AccountAlias> indicates the alias of the Alibaba Cloud account to which the RAM user group belongs.
  • If you want to attach the policy to a RAM role, specify the name in the <RoleName>@role.<AccountAlias>.onaliyun.com format. <RoleName> indicates the name of the RAM role, and <AccountAlias> indicates the alias of the Alibaba Cloud account to which the RAM role belongs.
Note The alias of an Alibaba Cloud account is a part of the default domain name. You can call the GetDefaultDomain operation to obtain the alias of an Alibaba Cloud account.
alice@demo.onaliyun.com

For more information about common request parameters, see Common parameters.

Response parameters

ParameterTypeDescriptionExample
object
RequestIdstring

The ID of the request.

697852FB-50D7-44D9-9774-530C31EAC572

Examples

Sample success responses

JSONformat

{
  "RequestId": "697852FB-50D7-44D9-9774-530C31EAC572"
}

Error codes

HTTP status codeError codeError messageDescription
400InvalidParameter.PolicyTypeThe specified policy type is invalid.The specified policy type is invalid.
404EntityNotExist.PolicyThe policy does not exist.The policy does not exist.
404EntityNotExists.ResourceGroupThe specified resource group does not exist. You must first create a resource group.The specified resource group does not exist. You must first create a resource group.
409Invalid.ResourceGroup.StatusYou cannot perform an operation on a resource group that is being created or deleted.You cannot perform an operation on a resource group that is being created or deleted.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
No change history