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

ApsaraMQ for MQTT:ApsaraMQ for MQTT の RAM ポリシー

最終更新日:Mar 12, 2026

Resource Access Management (RAM) を使用すると、Alibaba Cloud アカウントの AccessKey ペアを他のユーザーと共有することなく、ご利用の ApsaraMQ for MQTT リソースへのアクセスを制御できます。AccessKey ペアは、AccessKey ID と AccessKey Secret の 2 つの要素で構成されます。RAM ユーザーを作成し、各ユーザーに必要な最小限の権限のみを付与できます。

アクセスの制御の仕組み

ApsaraMQ for MQTT では、RAM ポリシーを通じてアクセスが承認されます。各ポリシーでは、RAM ユーザーがどのリソースに対してどのような操作を実行できるかを指定します。リソースタイプは以下の 4 種類があります:

リソースタイプ説明命名フォーマット
インスタンスMQTT ブローカーのインスタンスacs:mq:*:*:instance/{mqttInstanceId}acs:mq:*:*:instance/post-cn-09k1noy****
Topicインスタンス内のメッセージトピックacs:mq:*:*:topic/{mqttInstanceId}/{topic}acs:mq:*:*:topic/post-cn-09k1noy**/Topic_**
グループインスタンス内のクライアントグループacs:mq:*:*:groupId/{mqttInstanceId}/{gid}acs:mq:*:*:groupId/post-cn-09k1noy**/GID_**
ルールインスタンス内のデータルーティングルールacs:mq:*:*:rule/{mqttInstanceId}/{ruleId}acs:mq:*:*:rule/post-cn-09k1noy**/111**

利用可能なポリシーには、以下の 2 種類があります:

  • システムポリシー — Alibaba Cloud が事前に定義したポリシーです。すぐに利用可能ですが、編集できません。

  • カスタム権限ポリシー — お客様が定義・管理するポリシーです。ポリシーのバージョンもお客様が管理します。リソース単位での詳細なアクセス制御を提供します。

ポリシーの構文に関する詳細については、「ポリシーの構造と構文」をご参照ください。リソース要素のフォーマットについては、「リソース」をご参照ください。

インスタンスへのアクセスの前提条件

トピック、グループ、またはルールに対する権限を付与する前に、まず親インスタンスに対して mq:MqttInstanceAccess 操作の権限を付与する必要があります。インスタンスレベルのアクセス権限がない場合、RAM ユーザーはそのインスタンス内のリソースに到達できません。

この前提条件は、コンソール操作、API 呼び出し、クライアントによるパブリッシュ/サブスクライブのすべての権限カテゴリに適用されます。

システムポリシー

ApsaraMQ for MQTT では、4 つのデフォルトのシステムポリシーが提供されています。

ポリシー説明
AliyunMQFullAccessApsaraMQ for MQTT のすべての操作(コンソール経由)に対する完全な管理アクセス権を付与します。これは、Alibaba Cloud アカウントと同等の権限です。
AliyunMQPubOnlyAccessパブリッシュ専用のアクセス権です。Alibaba Cloud アカウント下のすべてのリソースに対して、SDK を通じたメッセージの送信を許可します。
AliyunMQSubOnlyAccessサブスクライブ専用のアクセス権です。Alibaba Cloud アカウント下のすべてのリソースに対して、SDK を通じたメッセージの受信を許可します。
AliyunMQReadOnlyAccess読み取り専用のアクセス権です。コンソールまたは API 呼び出しを通じてリソース情報の表示を許可します。
重要

ApsaraMQ for MQTT には独自の独立したシステムポリシーは存在しません。これらのポリシーは ApsaraMQ for RocketMQ と共有されており、いずれかのポリシーを RAM ユーザーにアタッチすると、両サービスへのアクセスが可能になります。

ApsaraMQ for MQTT の AliyunMQFullAccess および AliyunMQReadOnlyAccess は、コンソールにおけるインスタンス一覧の表示権限を含んでいません。インスタンス一覧の表示を有効化するには、mq:MqttInstanceAccess を別途付与してください。詳細については、「インスタンス管理操作」をご参照ください。

カスタムポリシーの操作

カスタム権限ポリシーを使用すると、RAM ユーザーが特定のリソースに対して実行できる操作を正確に指定できます。以下では、スコープごとに分類されたすべての利用可能な操作を一覧表示します。

カスタム権限ポリシーのサンプルについては、「権限ポリシーサンプル」をご参照ください。

クライアントのパブリッシュおよびサブスクライブ操作

これらの操作は、ApsaraMQ for MQTT SDK を通じたメッセージの送信および受信を制御します。

リソースの命名フォーマット:

  • Topic: acs:mq:*:*:topic/{mqttInstanceId}/{topic}

  • グループ ID: acs:mq:*:*:groupId/{mqttInstanceId}/{gid}

操作説明
mq:PUBトピックへメッセージを送信します
mq:SUBトピックからメッセージをサブスクライブします
クライアントのパブリッシュおよびサブスクライブ権限は、Alibaba Cloud アカウント間で付与することはできません。

インスタンス管理操作

リソースの命名フォーマット: acs:mq:*:*:instance/{mqttInstanceId}

操作説明
mq:MqttInstanceAccess基本的なインスタンス情報を照会します。トピック、グループ、またはルールに対する権限を付与する前に必須です。
mq:ListMqttInstanceすべてのインスタンスを一覧表示します
mq:UpdateMqttInstanceインスタンス情報を変更します
mq:DeleteMqttInstanceインスタンスを削除します
mq:UpdateMqttInstanceWarnインスタンスのアラート設定を更新します
mq:MqttMetaDataApsaraMQ for MQTT コンソールの「概要」ページおよびホームページにアクセスします
mq:MqttMetaData を付与した後は、RAM ユーザーがコンソールでインスタンス一覧を表示できるよう、mq:ListMqttInstance も併せて付与してください。

トピック管理操作

リソースの命名フォーマット: acs:mq:*:*:topic/{mqttInstanceId}/{topic}

操作説明
mq:CreateMqttTopicトピックを作成します
mq:DeleteMqttTopicトピックを削除します
mq:ListMqttTopicトピックを一覧表示します
mq:UpdateMqttTopicトピックの説明を更新します
mq:QueryMqttClientByTopicトピックをサブスクライブしているクライアントを照会します
mq:QueryMqttMsgTransTrendトピックのメッセージ送信統計情報を照会します
mq:SendMqttMessageByConsoleコンソールからテストメッセージを送信します

グループ管理操作

リソースの命名フォーマット: acs:mq:*:*:groupId/{mqttInstanceId}/{gid}

操作説明
mq:CreateMqttGroupIdグループを作成します
mq:DeleteMqttGroupIdグループを削除します
mq:ListMqttGroupIdグループを一覧表示します
mq:QueryMqttClientByClientIdクライアント ID でクライアント情報を照会します
mq:QueryMqttClientByGroupIdグループ ID でクライアント情報を照会します
mq:QueryMqttHistoryOnlineグループ ID で過去のオンライン接続を照会します
mq:QueryMqttTraceDevice特定のクライアントをトレースします
mq:QueryMqttDeviceTrace特定のクライアントの詳細情報を照会します

ルール管理操作

リソースの命名フォーマット: acs:mq:*:*:rule/{mqttInstanceId}/{ruleId}

ルールの権限を付与する際は、関連するインスタンス、トピック、およびグループがすべて同一の Alibaba Cloud アカウントに属していることを確認してください。

操作説明
mq:CreateMqttInboundRuleデータインバウンドルールを作成します
mq:DeleteMqttInboundRuleデータインバウンドルールを削除します
mq:ListMqttInboundRuleデータインバウンドルールを一覧表示します
mq:UpdateMqttInboundRuleデータインバウンドルールを更新します
mq:CreateMqttOutboundRuleデータアウトバウンドルールを作成します
mq:DeleteMqttOutboundRuleデータアウトバウンドルールを削除します
mq:ListMqttOutboundRuleデータアウトバウンドルールを一覧表示します
mq:UpdateMqttOutboundRuleデータアウトバウンドルールを更新します
mq:CreateClientStatusNotifyRuleクライアントステータス通知ルールを作成します
mq:DeleteClientStatusNotifyRuleクライアントステータス通知ルールを削除します
mq:ListClientStatusNotifyRuleクライアントステータス通知ルールを一覧表示します
mq:UpdateClientStatusNotifyRuleクライアントステータス通知ルールを更新します

API オペレーションの権限

各 API オペレーションでは、mq:MqttInstanceAccess に加え、1 つ以上の追加操作が必要です。ルール関連の API では、関連するインスタンス、トピック、およびグループがすべて同一の Alibaba Cloud アカウントに属していることを確認してください。

トークン管理

APIリソースの命名フォーマット必要な操作
ApplyTokenインスタンス:acs:mq:*:*:instance/{mqttInstanceId}、トピック:acs:mq:*:*:topic/{mqttInstanceId}/{topic}mq:MqttInstanceAccess, mq:ApplyToken
RevokeTokenacs:mq:*:*:*mq:MqttInstanceAccess, mq:RevokeToken
QueryTokenacs:mq:*:*:*mq:MqttInstanceAccess, mq:QueryToken

メッセージ操作

API必要な操作
SendMessagemq:MqttInstanceAccess, mq:SendMessage

グループ操作

すべてのグループ API オペレーションでは、以下のリソースの命名フォーマットを使用します:

  • インスタンス:acs:mq:*:*:instance/{mqttInstanceId}

  • グループ:acs:mq:*:*:groupId/{mqttInstanceId}/{gid}

API必要な操作
CreateGroupIdmq:MqttInstanceAccess, mq:CreateMqttGroupId
DeleteGroupIdmq:MqttInstanceAccess, mq:DeleteMqttGroupId
ListGroupIdmq:MqttInstanceAccess, mq:ListMqttGroupId
QuerySessionByClientIdmq:MqttInstanceAccess, mq:QuerySessionByClientId
BatchQuerySessionByClientIdsmq:MqttInstanceAccess, mq:BatchQuerySessionByClientIds

デバイス認証情報操作

API必要な操作
RegisterDeviceCredentialmq:MqttInstanceAccess, mq:RegisterDeviceCredential
GetDeviceCredentialmq:MqttInstanceAccess, mq:GetDeviceCredential
ListDeviceCredentialClientIdmq:MqttInstanceAccess, mq:ListDeviceCredentialClientId
UnRegisterDeviceCredentialmq:MqttInstanceAccess, mq:UnRegisterDeviceCredential
RefreshDeviceCredentialmq:MqttInstanceAccess, mq:RefreshDeviceCredential

メッセージトレース操作

APIリソースの命名フォーマット必要な操作
QueryMqttTraceDevicemq:MqttInstanceAccess, mq:QueryMqttDeviceTrace
QueryMqttTraceMessageOfClientmq:MqttInstanceAccess, mq:QueryMqttDeviceTrace
QueryMqttTraceMessagePublishインスタンス:acs:mq:*:*:instance/{mqttInstanceId}mq:MqttInstanceAccess, mq:QueryMqttPubTrace
QueryMqttTraceMessageSubscribemq:MqttInstanceAccess, mq:QueryMqttSubTrace

カスタム認証操作

API必要な操作
AddCustomAuthIdentitymq:MqttInstanceAccess, mq:AddCustomAuthIdentity
QueryCustomAuthIdentitymq:MqttInstanceAccess, mq:QueryCustomAuthIdentity
UpdateCustomAuthIdentitymq:MqttInstanceAccess, mq:UpdateCustomAuthIdentity
DeleteCustomAuthIdentitymq:MqttInstanceAccess, mq:DeleteCustomAuthIdentity
AddCustomAuthPermissionmq:MqttInstanceAccess, mq:AddCustomAuthPermission
QueryCustomAuthPermissionmq:MqttInstanceAccess, mq:QueryCustomAuthPermission
UpdateCustomAuthPermissionmq:MqttInstanceAccess, mq:UpdateCustomAuthPermission
DeleteCustomAuthPermissionmq:MqttInstanceAccess, mq:DeleteCustomAuthPermission
AddCustomAuthConnectBlackmq:MqttInstanceAccess, mq:DeleteCustomAuthConnectBlack
QueryCustomAuthConnectBlackmq:MqttInstanceAccess, mq:QueryCustomAuthConnectBlack
DeleteCustomAuthConnectBlackmq:MqttInstanceAccess, mq:AddCustomAuthConnectBlack

トピック操作

すべてのトピック API オペレーションでは、以下のリソースの命名フォーマットを使用します:

  • インスタンス:acs:mq:*:*:instance/{mqttInstanceId}

  • トピック:acs:mq:*:*:topic/{mqttInstanceId}/{topic}

API必要な操作
CreateTopicmq:MqttInstanceAccess, mq:CreateMqttTopic
ListTopicsmq:MqttInstanceAccess, mq:SUB, mq:ListMqttTopic
DeleteTopicmq:MqttInstanceAccess, mq:PUB, mq:DeleteMqttTopic
UpdateTopicmq:MqttInstanceAccess, mq:UpdateMqttTopic

ルール操作

すべてのルール API オペレーションでは、以下のリソースの命名フォーマットを使用します:

  • インスタンス:acs:mq:*:*:instance/{mqttInstanceId}

  • ルール:acs:mq:*:*:rule/{mqttInstanceId}/{ruleId}

API必要な操作
CreateMqttInboundRulemq:MqttInstanceAccess, mq:CreateMqttInboundRule
ListMqttInboundRuleInPagesmq:MqttInstanceAccess, mq:ListMqttInboundRule
UpdateMqttInboundRulemq:MqttInstanceAccess, mq:UpdateMqttInboundRule
DeleteMqttInboundRulemq:MqttInstanceAccess, mq:DeleteMqttInboundRule
CreateMqttOutboundRulemq:MqttInstanceAccess, mq:CreateMqttOutboundRule
ListMqttOutboundRuleInPagesmq:MqttInstanceAccess, mq:ListMqttOutboundRule
UpdateMqttOutboundRulemq:MqttInstanceAccess, mq:UpdateMqttOutboundRule
DeleteMqttOutboundRulemq:MqttInstanceAccess, mq:DeleteMqttOutboundRule
CreateClientStatusNotifyRulemq:MqttInstanceAccess, mq:CreateClientStatusNotifyRule
ListClientStatusNotifyRuleInPagesmq:MqttInstanceAccess, mq:ListClientStatusNotifyRule
UpdateClientStatusNotifyRulemq:MqttInstanceAccess, mq:UpdateClientStatusNotifyRule
DeleteClientStatusNotifyRulemq:MqttInstanceAccess, mq:DeleteClientStatusNotifyRule

障害復旧操作

API必要な操作
DisasterDowngrademq:MqttInstanceAccess, mq:DisasterDowngrade
DisasterRecoverymq:MqttInstanceAccess, mq:DisasterRecovery

完全な API リファレンスについては、「機能別オペレーション一覧」をご参照ください。

関連ドキュメント