すべてのプロダクト
Search
ドキュメントセンター

Blockchain as a Service:Hyperledger Fabric の RAM 認証

最終更新日:Jan 16, 2026

RAM ユーザーが Blockchain as a Service (BaaS) の API を呼び出せるようにするには、必要な権限を付与する権限付与ポリシーを作成します。ポリシーでは、Alibaba Cloud リソースネーム (ARN) を使用して、権限を付与するリソースを指定します。

この Topic では、Blockchain as a Service (BaaS) の Resource Access Management (RAM) 認証ルールについて説明します。これらのルールを使用して、チームメンバーの認証、異なるアカウント間でのリソースアクセス権の付与、およびクラウドサービス間でのアクセス権の付与を行うことができます。RAM の詳細については、RAM ドキュメントおよびRAM API リファレンスをご参照ください。

権限付与可能な Hyperledger Fabric のリソースタイプ

RAM ユーザーに権限を付与する際、Hyperledger Fabric のリソースは次のように記述します:

リソースタイプ権限付与ポリシーでのリソース記述方法
コンソーシアムacs:baas:$regionId:$accountId:consortium/$consortiumId
組織acs:baas:$regionId:$accountId:organization/$organizationId
チャンネルacs:baas:*:$accountId:channel/$channelId
チェーンコードacs:baas:*:$accountId:chaincode/$chaincodeId

これらのフォーマットでは、$regionId はリソースが配置されているリージョンです。$accountId はリソースを所有する Alibaba Cloud アカウントの ID です。$consortiumId/$organizationId/$channelId/$chaincodeId は BaaS におけるリソースの ID です。

説明 チャンネルとチェーンコードはグローバルリソースです。リージョンは「*」にする必要があります。

権限付与可能な Hyperledger Fabric の API

次の表は、デフォルトで権限が付与されている Hyperledger Fabric ブロックチェーンの API のリストです。RAM ユーザーおよびセキュリティトークンサービス (STS) トークン保有者は、デフォルトでこれらの API に対する権限を持っています:

API
CheckFabricConsortiumDomain
CheckFabricOrganizationDomain
DescribeTasks
DescribeRootDomain
DescribeFabricConsortiumConfig
DescribeFabricConsortiumSpecs
DescribeFabricOrganizationSpecs
DescribeFabricInviter
DescribeFabricChaincodeUploadPolicy
AcceptFabricInvitation

次の表は、Hyperledger Fabric で権限付与可能な API と、それに対応する ARN フォーマットのリストです:

APIリソース記述
CreateFabricOrganizationacs:baas:$regionId:$accountId:organization/*
DescribeFabricOrganizationacs:baas:$regionId:$accountId:organization/$organizationId
DescribeFabricOrganizationDeletableacs:baas:$regionId:$accountId:organization/$organizationId
DescribeFabricOrganizationsacs:baas:*:$accountId:organization/*
DescribeFabricCandidateOrganizationsacs:baas:*:$accountId:organization/*
CreateFabricChannelacs:baas:*:$accountId:channel/*

acs:baas:$regionId:$accountId:consortium/$consortiumId

DescribeFabricOrganizationChannelsacs:baas:$regionId:$accountId:organization/$organizationId
DescribeFabricConsortiumChannelsacs:baas:$regionId:$accountId:consortium/$consortiumId
CreateFabricChannelMemberacs:baas:*:$accountId:channel/$channelId
DescribeFabricChannelMembersacs:baas:*:$accountId:channel/$channelId
JoinFabricChannelacs:baas:*:$accountId:channel/$channelId
CreateFabricConsortiumacs:baas:$regionId:$accountId:consortium/*
CreateFabricConsortiumMemberacs:baas:$regionId:$accountId:consortium/$consortiumId
ConfirmFabricConsortiumMemberacs:baas:$regionId:$accountId:consortium/$consortiumId
DescribeFabricOrganizationMembersacs:baas:$regionId:$accountId:organization/$organizationId
DescribeFabricOrganizationPeersacs:baas:$regionId:$accountId:organization/$organizationId
DescribeFabricConsortiumsacs:baas:*:$accountId:consortium/*
DescribeFabricConsortiumAdminStatusacs:baas:*:$accountId:consortium/*
DescribeFabricConsortiumMembersacs:baas:$regionId:$accountId:consortium/$consortiumId
DescribeFabricConsortiumMemberApprovalacs:baas:$regionId:$accountId:consortium/$consortiumId
DescribeFabricConsortiumOrderersacs:baas:$regionId:$accountId:consortium/$consortiumId
DescribeFabricConsortiumDeletableacs:baas:$regionId:$accountId:consortium/$consortiumId
CreateFabricChaincodeacs:baas:*:$accountId:chaincode/*

acs:baas:*:$accountId:channel/$channelId

acs:baas:$regionId:$accountId:consortium/$consortiumId

acs:baas:$regionId:$accountId:organization/$organizationId

DescribeFabricOrganizationChaincodesacs:baas:$regionId:$accountId:organization/$organizationId
DescribeFabricConsortiumChaincodesacs:baas:$regionId:$accountId:consortium/$consortiumId
DeleteFabricChaincodeacs:baas:*:$accountId:chaincode/$chaincodeId
InstallFabricChaincodeacs:baas:*:$accountId:chaincode/$chaincodeId

acs:baas:$regionId:$accountId:organization/$organizationId

InstantiateFabricChaincodeacs:baas:*:$accountId:chaincode/$chaincodeId

acs:baas:$regionId:$accountId:organization/$organizationId

UpgradeFabricChaincodeacs:baas:*:$accountId:chaincode/$chaincodeId

acs:baas:$regionId:$accountId:organization/$organizationId

SynchronizeFabricChaincodeacs:baas:*:$accountId:chaincode/$chaincodeId

acs:baas:$regionId:$accountId:organization/$organizationId

CreateFabricOrganizationUseracs:baas:$regionId:$accountId:organization/$organizationId
DescribeFabricOrganizationUsersacs:baas:$regionId:$accountId:organization/$organizationId
ResetFabricOrganizationUserPasswordacs:baas:$regionId:$accountId:organization/$organizationId
DownloadFabricOrganizationSDKacs:baas:$regionId:$accountId:organization/$organizationId
DescribeFabricInvitationCodeacs:baas:$regionId:$accountId:consortium/$consortiumId

Hyperledger Fabric の RAM ルールの例

例 1:BaaS の読み取り専用権限を付与します。これらの権限により、ユーザーはコンソールまたは API を使用してブロックチェーンのステータスを表示し、SDK をダウンロードできます。

{
   "Statement": [{ 
       "Action": ["baas:Describe*","baas:DownloadFabricOrganizationSDK"],
       "Effect": "Allow",
       "Resource": "acs:baas:*:*:*"
   }],
   "Version": "1"
}
例 2:チェーンコードのアップロード、インストール、インスタンス化などのチェーンコード管理操作の権限を付与します。これらの権限により、ユーザーはコンソールまたは API を使用してすべてのチェーンコードを管理できます。
{
  "Statement": [{
     "Action": "baas:*Chaincode",
     "Effect": "Allow",
     "Resource": ["acs:baas:*:*:chaincode/*","acs:baas:*:*:organization/*", "acs:baas:*:*:consortium/*","acs:baas:*:*:channel/*"]
  }],
  "Version": "1"
}

例 3:チェーンコード開発者に詳細な権限を付与します。この権限付与では通常、すべての読み取り権限と、特定の組織に対するチェーンコード管理権限が必要です。最小権限の原則に従い、ユーザーは指定されたコンソーシアム、組織、およびチャンネルに対してのみチェーンコードを作成できるように制限されます。また、ユーザーは特定の組織にのみチェーンコードをインストールまたはインスタンス化できます。$consortiumId/$organizationId/$channelId を BaaS のリソース ID に置き換えてください。

{
 "Statement": [{
   "Action": ["baas:Describe*","baas:DownloadFabricOrganizationSDK"],
   "Effect": "Allow",
   "Resource": "acs:baas:*:*:*"
 },
 {
   "Action": "baas:*Chaincode",
   "Effect": "Allow",
   "Resource": ["acs:baas:*:*:chaincode/*","acs:baas:*:*:organization/$organizationId","acs:baas:*:*:consortium/$consortiumId","acs:baas:*:*:channel/$channelId"]
 }],
 "Version": "1"
}