调用AttachPolicy为授权对象(RAM用户、RAM用户组或RAM角色)添加权限策略,即授权。完成授权后,被授权对象将获得指定资源组或阿里云账号内资源的访问权限。

使用说明

本文将提供一个示例,为RAM用户alice@demo.onaliyun.com授予管理所有阿里云资源的权限AdministratorAccess,该权限仅针对资源组rg-9gLOoK****内的资源生效。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String AttachPolicy

要执行的操作。取值:AttachPolicy

ResourceGroupId String rg-9gLOoK****

授权范围。取值:

  • 资源组ID:权限在指定的资源组内生效。
  • 阿里云账号ID:被授权对象所属的阿里云账号ID,权限在该阿里云账号内生效。
PolicyType String System

权限策略类型。取值:

  • Custom:自定义权限策略。
  • System:系统权限策略。
PolicyName String AdministratorAccess

权限策略名称。

长度为1~128个字符,可包含英文字母、数字和短划线(-)。

PrincipalType String IMSUser

被授权对象类型。

  • IMSUser:RAM用户。
  • IMSGroup:RAM用户组。
  • ServiceRole:RAM角色。
PrincipalName String alice@demo.onaliyun.com

被授权对象的名称。具体如下:

  • RAM用户:格式为<UserName>@<AccountAlias>.onaliyun.com,其中<UserName>为RAM用户名称,<AccountAlias>为账号别名。
  • RAM用户组:格式为<GroupName>@group.<AccountAlias>.onaliyun.com,其中<GroupName>为RAM用户组名称,<AccountAlias>为账号别名。
  • RAM角色:格式为<RoleName>@role.<AccountAlias>.onaliyunservice.com,其中<RoleName>为RAM角色名称,<AccountAlias>为账号别名。
说明 账号别名是默认域名中的一部分,请调用GetDefaultDomain获取账号别名。

关于公共请求参数的详情,请参见公共参数

返回数据

名称 类型 示例值 描述
RequestId String 697852FB-50D7-44D9-9774-530C31EAC572

请求ID。

示例

请求示例

https://resourcemanager.aliyuncs.com/?Action=AttachPolicy
&PolicyName=AdministratorAccess
&PolicyType=System
&PrincipalName=alice@demo.onaliyun.com
&PrincipalType=IMSUser
&ResourceGroupId=rg-9gLOoK****
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<?xml version="1.0" encoding="UTF-8" ?>
<AttachPolicyToUserResponse>
	<RequestId>697852FB-50D7-44D9-9774-530C31EAC572</RequestId>
</AttachPolicyToUserResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

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

错误码

HttpCode 错误码 错误信息 描述
400 InvalidParameter.PolicyType The specified policy type is invalid. 无效的权限策略类型。
404 EntityNotExist.Policy The policy does not exist. 权限策略不存在。
404 EntityNotExists.ResourceGroup The specified resource group does not exist. You must first create a resource group. 资源组不存在,请先创建资源组。
409 Invalid.ResourceGroup.Status You cannot perform an operation on a resource group that is being created or deleted. 资源组正在创建或正在删除时不允许操作。

访问错误中心查看更多错误码。