在使用子账号(RAM账号)调用可信账本数据库API前,需要主账号通过创建授权策略对RAM账号进行授权。在授权策略中,使用资源描述符(Alibaba Cloud Resource Name,ARN)指定授权资源。

资源授权

默认子账号没有权限通过调用阿里云API去创建、修改云资源。使用子账号调用API时,您需要先创建一个授权策略,然后将这个授权策略关联给对应的子账号完成资源授权。

在创建授权策略时,您可以通过ARN(Alibaba Cloud 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,例如1234567890123456。
  • resource-relative-id:资源描述。
示例如下:
{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:[ECS RAM Action]",
                "ecs:DescribeInstances"
            ],
            "Resource": [
                "[ECS RAM Action Resource]",
                "acs:ecs:$regionid:15619224785*****:instance/i-bp1bzvz55uz27hf*****"
            ],
            "Effect": "Allow"
        }
    ]
}

可授权的可信账本数据库资源类型

在进行RAM子账号授权时,可信账本数据库资源的描述方式如下:

资源类型 授权策略中的资源描述方法
Ledger acs:ledgerdb:$regionid:$accountid:ledger/$ledgerid
acs:ledgerdb:$regionid:$accountid:ledger/*
Member acs:ledgerdb:$regionid:$accountid:member/$memberid
acs:ledgerdb:$regionid:$accountid:member/*

可授权的可信账本数据库接口

下表列举了可授权的API及其描述方式:

API 资源描述
CreateLedger acs:ledgerdb:$regionid:$accountid:ledger/*
DeleteLedger acs:ledgerdb:$regionid:$accountid:ledger/$ledgerid
DescribeLedger acs:ledgerdb:$regionid:$accountid:ledger/$ledgerid
DescribeLedgers acs:ledgerdb:$regionid:$accountid:ledger/*
ModifyLedgerAttribute acs:ledgerdb:$regionid:$accountid:ledger/$ledgerid
AcceptMember acs:ledgerdb:$regionid:$accountid:member/*
CreateMember acs:ledgerdb:$regionid:$accountid:member/*
DeleteMember acs:ledgerdb:$regionid:$accountid:member/$memberid
DisableMember acs:ledgerdb:$regionid:$accountid:member/$memberid
EnableMember acs:ledgerdb:$regionid:$accountid:member/$memberid
GetMember acs:ledgerdb:$regionid:$accountid:member/$memberid
GetMemberKey acs:ledgerdb:$regionid:$accountid:member/*
InviteMember acs:ledgerdb:$regionid:$accountid:member/*
ListMembers acs:ledgerdb:$regionid:$accountid:member/*
ModifyMemberACLs acs:ledgerdb:$regionid:$accountid:member/$memberid
ModifyMemberKey acs:ledgerdb:$regionid:$accountid:member/*