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

ApsaraMQ for RabbitMQ:オープンソース認証と権限管理

最終更新日:Aug 11, 2026

ApsaraMQ for RabbitMQ は、vhost レベルでアクセスコントロールを行うために、オープンソースの RabbitMQ 認証と権限をサポートしています。

制限事項

  • オープンソース認証と権限管理は、新規に購入したインスタンスでのみ利用可能です。既存のインスタンスをこのモードに切り替えることはできません。サポートされているインスタンスタイプは次のとおりです:

    • [サーバレスシリーズ] (サーバーレスシリーズ):

      • [(専用) リザーブド + エラスティック]

      • [(共有) リザーブド + エラスティック]

      • [(共有) 従量課金 (累積量)]

    • サブスクリプションインスタンス:

      • [Platinum Edition]

      • [Enterprise Edition]

  • デフォルトのゲストアカウントは作成も管理もできません。

  • ユーザータグベースの権限管理はサポートされていません。コンソールまたは OpenAPI による権限管理の詳細については、「RAM アクセスコントロール」をご参照ください。

  • インスタンスを設定する際に、オープンソース認証または Alibaba Cloud の Resource Access Management (RAM) のいずれかを選択する必要があります。この選択は元に戻せません。

  • 専用クラスターのサーバーレスインスタンスでオープンソース認証を有効にすると、共有インスタンスへのダウングレードができなくなります。

仕組み

ApsaraMQ for RabbitMQ は、vhost レベルでアクセスコントロールを行います。正規表現を使用して、エクスチェンジとキューに configurewriteread の権限を割り当てます:

  • .* は、すべてのリソースへのアクセスを許可します。

  • ^$ は空の文字列にマッチし、すべてのアクセスをブロックします。

  • '^(amq\.gen.*|amq\.default)$' は、システムリソースとデフォルトエクスチェンジへのアクセスを許可します。

次の表は、一般的な AMQP 0-9-1 操作がこれらの権限にどのようにマッピングされるかを示しています:

AMQP 0-9-1 操作

configure

write

read

exchange.declare

(passive=false)

エクスチェンジ

exchange.declare

(passive=true)

エクスチェンジ

exchange.declare

(AE を使用)

エクスチェンジ

エクスチェンジ (AE)

エクスチェンジ

exchange.delete

エクスチェンジ

queue.declare

(passive=false)

キュー

queue.declare

(passive=true)

キュー

queue.declare

(DLX を使用)

キュー

エクスチェンジ (DLX)

キュー

queue.delete

キュー

exchange.bind

エクスチェンジ (宛先)

エクスチェンジ (送信元)

exchange.unbind

エクスチェンジ (宛先)

エクスチェンジ (送信元)

queue.bind

キュー

エクスチェンジ

queue.unbind

キュー

エクスチェンジ

basic.publish

エクスチェンジ

basic.get

キュー

basic.consume

キュー

queue.purge

キュー

アクセスコントロールには 2 つのステージがあります:

  1. Vhost アクセス:接続するクライアントは vhost を指定します。サーバーはユーザーがアクセス権を持っていることを確認し、持っていない場合は接続を拒否します。

  2. リソース操作:サーバーは、ユーザーが各エクスチェンジまたはキューの操作に必要な権限を持っているかどうかを確認します。

ネットワークセキュリティ

オープンソース認証と権限管理を使用する場合、ApsaraMQ for RabbitMQ は次のようにセキュリティを強化します:

ネットワークタイプ

ソリューション

VPC

オープンソース認証 + プライベートエンドポイント

インターネット

オープンソース認証 + パブリック IP ホワイトリスト + パブリックエンドポイント経由でのオープンソース認証インスタンスへのアクセス

パブリック IP ホワイトリストを設定しても ApsaraMQ for RabbitMQ インスタンスへの接続が拒否される場合は、ホワイトリストが機能していないと結論付ける前に、次の点を確認してください:

  • ホワイトリストは、ICMP レイヤーではなく、AMQP プロトコルレイヤーで適用されます。インスタンスの IP アドレスへの ping が成功しても、ホワイトリストが機能していることを示すものではありません。AMQP 接続がブロックされている場合は、ping の結果に頼らず、ホワイトリストの設定を確認してください。

  • ホワイトリストのエントリは、x.x.x.x/30 のような CIDR ブロックとして指定する必要があります。システムは、単一の IP アドレスや x.x.x.x/32 のエントリを受け付けません。

  • トラブルシューティングを行うには、コンソールのホワイトリストで IP エントリを確認し、正しい CIDR 形式が使用されていることを確認してください。

ユーザーと権限の管理

ApsaraMQ for RabbitMQ では、コンソールでユーザーを作成し、権限を管理できます。詳細な手順については、「権限」をご参照ください。