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

ApsaraMQ for RabbitMQ:権限管理

最終更新日:Jul 15, 2026

Resource Access Management (RAM) は Alibaba Cloud によって提供される、ユーザーのアイデンティティとリソースの権限を管理するためのサービスです。RAM を使用すると、Alibaba Cloud アカウント (root ユーザー) のキーを他のユーザーと共有することを回避でき、ユーザーに必要最小限の権限を付与できます。RAM ではポリシーを使用して権限付与を定義します。このトピックでは、RAM ポリシーの一般的な構造と、 ApsaraMQ for RabbitMQ のポリシーステートメントを構成する要素である「アクション (Action)」「リソース (Resource)」および「条件 (Condition) 」について説明します。 ApsaraMQ for RabbitMQ は、RAM コード (RamCode) が amqp で、 Resource-level での権限付与がサポートされています。

一般的なポリシー構造

RAM ポリシーは、一般的に以下のような JSON 構造で構成されます。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "<Effect>",
      "Action": "<Action>",
      "Resource": "<Resource>",
      "Condition": {
        "<Condition_operator>": {
          "<Condition_key>": [
            "<Condition_value>"
          ]
        }
      }
    }
  ]
}        

ポリシーのフィールドに関する説明:

  • Version:ポリシーのバージョン番号。現在のポリシーバージョンは 1 です。

  • Statement:

    • Effect:「許可するか、拒否するか」という、最終的な結果を定義します。有効な値:Allow (許可) または Deny (拒否)。

    • Action:「何をすることができるか、できないか」を定義する、リソースへの具体的な操作を指します。

    • Resource:「何に対して操作を行うか」を定義する、操作の具体的な対象です。対象となるリソースは、ARN (Alibaba Cloud Resource Name) を使用して指定できます。

    • Condition:「どのような状況下でポリシーが適用されるか」という、権限が有効になるための付加的な制約条件を定義します。このフィールドは任意です。

      • Condition operator:条件の演算子。条件キーの値とリクエスト値をどのように比較するかを定義する「比較方法」です。条件演算子は、条件のタイプによって異なります。

      • Condition_key:条件のキー。ポリシーの条件が満たされているかを判断するために、リクエストから参照・チェックされる特定の属性を指します。

      • Condition_value:条件の値。条件キーから取得されたリクエスト値と比較するための、具体的な「基準値」です。

アクション (Action)

下表に、ApsaraMQ for RabbitMQ で定義されたアクションを示します。以下で各列名について説明します。

  • アクション:特定のリソースに対して実行可能な操作。ポリシー構文ではAction要素として指定します。

  • API:アクションを具体的に実行するための API。

  • アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。

  • リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定する必要があります。

    • リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーのResource要素で対応する ARN を指定してください。

    • リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーのResource要素でアスタリスク (*) でマークされます。

  • 条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。詳細については、「共通条件キー」をご参照ください。

  • 依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。

アクション

API

アクセスレベル

リソースタイプ

条件キー

依存アクション

amqp:GetInstance ListDownStreamBindings list

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}

なし

amqp:ListExchange

amqp:ListQueue

amqp:UpdateInstance UpdateInstance update

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}

amqp:InstanceType

amqp:SupportEIP

amqp:ServerlessChargeType

なし
amqp:GetInstance ListExchanges list

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}

なし

amqp:ListExchange

amqp:DeleteQueue DeleteQueue delete

*Queue

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/queues/{#queueName}

なし なし
amqp:GetExchange DeleteBinding delete

*Queue

acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}/vhosts/{#VirtualHostName}/queues/*

なし

amqp:CreateExchange

amqp:CreateQueue

amqp:GetVhost

amqp:CreateInstance CreateInstance create

*All resources

*

amqp:InstanceType

amqp:SupportEIP

amqp:ServerlessChargeType

なし
amqp:GetInstance ListQueueUpStreamBindings list

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}

なし

amqp:ListQueue

amqp:ListExchange

amqp:GetInstance GetInstance get

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}

なし なし
amqp:ListInstance ListInstances list

*All resources

*

なし なし
amqp:DeleteVhost DeleteVirtualHost delete

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}

なし

amqp:GetVhost

amqp:GetInstance

amqp:CreateQueue CreateQueue create

*Queue

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/queues/*

なし なし
amqp:DeleteStaticAccount DeleteAccount delete

*All resources

*

なし

amqp:GetInstance

amqp:CreateVhost CreateVirtualHost create

*VirtualHost

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/*

なし なし
amqp:ListVhost ListVirtualHosts list

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}

なし

amqp:GetInstance

amqp:UpdateInstance UpdateInstanceName update

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}

なし

amqp:GetInstance

amqp:DeleteExchange DeleteExchange delete

*Exchange

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/exchanges/{#exchangeName}

なし

amqp:GetVhost

amqp:CreateExchange CreateExchange create

*Exchange

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/exchanges/*

なし

amqp:GetVhost

amqp:FetchStaticAccount CreateAccount create

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}

なし

amqp:GetInstance

amqp:GetInstance ListBindings list

*All resources

*

なし

amqp:ListQueue

amqp:ListExchange

amqp:ListStaticAccounts ListAccounts list

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}

なし

amqp:GetInstance

amqp:ListQueue ListQueues list

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}

なし

amqp:GetInstance

amqp:GetExchange CreateBinding create

*Queue

acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}/vhosts/{#vhostName}/queues/*

なし

amqp:CreateExchange

amqp:CreateQueue

amqp:GetVhost

amqp:GetInstance GetMetadataAmount get

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}

なし なし
amqp:GetInstance ListExchangeUpStreamBindings list

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}

なし

amqp:ListExchange

amqp:ListQueue

amqp:GetQueue ListQueueConsumers list

*Instance

acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}

なし

amqp:GetInstance

リソース (Resource)

下表に、ApsaraMQ for RabbitMQ で定義されたリソースを示します。ポリシーステートメントのResource要素で指定することで、特定のアクションの適用対象を設定できます。各リソースは対応する ARN を持ち、一意的に識別されます。ARN はacs:{#ramcode}:{#regionId}:{#accountId}:{#resourceType}形式で、構成要素は以下のとおりです。

  • acs:Alibaba Cloud Service の頭文字で、Alibaba Cloud のパブリッククラウドを指します。

  • {#ramcode}:RAM における具体的な Alibaba Cloud サービスの識別コード。

  • {#regionId}リージョン ID。アスタリスク (*) に設定した場合、リソースがすべてのリージョンに適用することを示します。

  • {#accountId}:Alibaba Cloud アカウントの ID。アスタリスク (*) に設定した場合、リソースがすべての Alibaba Cloud アカウントに適用することを示します。

  • {#resourceType}:具体的な Alibaba Cloud サービスによって定義されたリソースの識別子で、ファイルパスに似た階層構造をサポートしています。アスタリスク (*) に設定した場合、ステートメントがすべてのリソースに適用することを示します。

リソースタイプ

ARN

Instance
  • acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}
  • acs:amqp:{#regionId}:{#accountId}:/instances/*
  • acs:amqp:{#regionId}:{#accountId}:/instance/{#InstanceId}
  • acs:amqp:{#regionId}:{#accountId}:instance/{#InstanceId}
Queue
  • acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/queues/{#queueName}
  • acs:amqp:{#regionId}:{#accountId}:/instances/{#InstanceId}/vhosts/{#VirtualHostName}/queues/*
  • acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/queues/*
VirtualHost
  • acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/*
Exchange
  • acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/exchanges/{#exchangeName}
  • acs:amqp:{#regionId}:{#accountId}:/instances/{#instanceId}/vhosts/{#vhostName}/exchanges/*

条件 (Condition)

下表に、ApsaraMQ for RabbitMQ で定義されたプロダクトレベルの条件キーを示します。このほかに、Alibaba Cloud の共通条件キーを使用することもできます。これらのキーをポリシーステートメントのCondition要素として指定することで、きめ細かい権限付与ルールを定義できます。条件キーで、ポリシーのCondition_value要素で条件の値を指定します。

各条件キーには、文字列、数値、ブール値、IP アドレスといった特定のデータ型が定められています。データ型によって使用できる条件演算子が異なるため、キーのデータ型に基づいて適切な演算子を指定する必要があります。不適切な演算子を指定した場合、ポリシーステートメントは機能しません。データ型と条件演算子の対応関係については、「Condition_operator」をご参照ください。

条件キー

説明

データ型

amqp:InstanceType インスタンスタイプ。 String
amqp:SupportEIP パブリックネットワークアクセスがサポートされているかどうかを指定します。 String
amqp:ServerlessChargeType サーバーレスインスタンスの課金タイプ。 String

カスタム RAM ポリシーの作成方法

カスタムポリシーを作成し、RAM ユーザー、RAM ユーザーグループ、または RAM ロールに付与できます。詳細については、以下をご参照ください。