在使用RAM账号调用阿里云API前,需要主账号通过创建授权策略对RAM账号进行授权。
资源授权
默认子账号没有权限通过调用阿里云API去创建、修改云资源。使用子账号调用API时,您需要先创建一个授权策略,然后将这个授权策略关联给对应的子账号完成资源授权。
在创建授权策略时,您可以通过ARN (Aliyun Resource Name) 指定要授权的资源。ARN 是阿里云为每个资源定义的一个全局的阿里云资源名称。
ARN格式如下:
acs:service-name:region:account-id:resource-relative-id
其中:
- acs:Alibaba Cloud Service的首字母缩写,表示阿里云的公共云平台。
- service-name:阿里云云服务的名称,如ecs, oss, slb等。
-
region:地域信息。如果不支持该项,可以使用通配符星号(*)来代替。
-
account-id:账号ID,例如123456789012****。
-
resource-relative-id:具体的资源描述,不同的云产品的资源描述也不同,详情参见各云产品的开发文档。
比如
acs:oss::123456789012****:sample_bucket/file1.txt
表示OSS服务中对象名称是sample_bucket/file1.txt的资源,对象的所有者是UID为123456789012****
。
可授权的负载均衡资源类型
资源类型 | 授权策略中的资源描述方法 |
---|---|
LoadBalancer | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
acs:slb:$regionid:$accountid:loadbalancer/* | |
acs:slb:*:$accountid:loadbalancer/* | |
acs:slb:*:*:loadbalancer/* | |
Certificate | acs:slb:$regionid:$accountid:certificate/$servercertificateId |
acs:slb:$regionid:$accountid:certificate/* | |
ACL | acs:slb:$regionid:$accountid:acl/* |
acs:slb:$regionid:$accountid:acl/$aclid |
可授权的负载均衡接口
下表列举了负载均衡中可授权的API及其描述方式:
API | 资源描述 |
---|---|
CreateLoadBalancer | acs:slb:$regionid:$accountid:loadbalancer/* |
ModifyLoadBalancerInternetSpec | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
DeleteLoadBalancer | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
SetLoadBalancerStatus | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
SetLoadBalancerName | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
DescribeLoadBalancers | acs:slb:$regionid:$accountid:loadbalancer/* |
DescribeLoadBalancerAttribute | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
DescribeRegions | acs:slb:*:$accountid:* |
UploadServerCertificate | acs:slb:%s:%s:certificate/* |
DeleteServerCertificate | acs:slb:%s:%s:certificate/% |
DescribeServerCertificate | acs:slb:%s:%s:certificate/% |
SetServerCertificateName | acs:slb:%s:%s:certificate/% |
DescribeServerCertificates | acs:slb:%s:%s:certificate/* |
CreateLoadBalancerHTTPListener | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
CreateLoadBalancerHTTPSListener | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
acs:slb:%s:%s:certificate/% | |
CreateLoadBalancerTCPListener | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
CreateLoadBalancerUDPListener | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
DeleteLoadBalancerListener | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
StartLoadBalancerListener | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
StopLoadBalancerListener | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
SetLoadBalancerHTTPListenerAttribute | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
SetLoadBalancerHTTPSListenerAttribute | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
acs:slb:%s:%s:certificate/% | |
SetLoadBalancerTCPListenerAttribute | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
SetLoadBalancerUDPListenerAttribute | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
DescribeLoadBalancerHTTPListenerAttribute | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
DescribeLoadBalancerHTTPSListenerAttribute | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
DescribeLoadBalancerTCPListenerAttribute | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
DescribeLoadBalancerUDPListenerAttribute | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
AddBackendServers | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
acs:ecs:$regionid:$accountid:instance/$instanceid | |
RemoveBackendServers | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
acs:ecs:$regionid:$accountid:instance/$instanceid | |
SetBackendServers | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
acs:ecs:$regionid:$accountid:instance/$instanceid | |
DescribeHealthStatus | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
CreateVServerGroup | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
acs:ecs:$regionid:$accountid:instance/$instanceid | |
SetVServerGroupAttribute | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
DeleteVServerGroup | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
DescribeVServerGroups | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
DescribeVServerGroupAttribute | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
AddVServerGroupBackendServers | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
acs:ecs:$regionid:$accountid:instance/$instanceid | |
RemoveVServerGroupBackendServers | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
acs:ecs:$regionid:$accountid:instance/$instanceid | |
ModifyVServerGroupBackendServers | acs:slb:$regionid:$accountid:loadbalancer/$loadbalancerid |
acs:ecs:$regionid:$accountid:instance/$instanceid | |
CreateAccessControlList | acs:slb:$regionid:$accountid:acl/* |
DeleteAccessControlList | acs:slb:$regionid:$accountid:acl/$aclid |
DescribeAccessControlLists | acs:slb:$regionid:$accountid:acl/$aclid |
DescribeAccessControlListAttribute | acs:slb:$regionid:$accountid:acl/$aclid |
SetAccessControlListAttribute | acs:slb:$regionid:$accountid:acl/$aclid |
AddAccessControlListEntry | acs:slb:$regionid:$accountid:acl/$aclid |
RemoveAccessControlListEntry | acs:slb:$regionid:$accountid:acl/$aclid |