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

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

最終更新日:Aug 01, 2026

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

アクセス制御の仕組み

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

リソースタイプ説明命名規則例
インスタンスMQTT ブローカーインスタンスacs:mq:*:*:instance/{mqttInstanceId}acs:mq:*:*:instance/post-cn-09k1noy****
トピックインスタンス内のメッセージトピック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 呼び出し、クライアントのパブリッシュ/サブスクライブなど、すべての権限カテゴリに適用されます。

権限付与のクイックリファレンス

以下のポリシー詳細を読む前に、このクイックリファレンスを使用して、付与すべき権限を確認してください。

システムポリシー (クイックセレクション)

ほとんどのユースケースでは、以下のいずれかの事前定義されたシステムポリシーを Resource Access Management (RAM) ユーザーにアタッチします。設定は不要で、アタッチしてすぐに使用できます。

ポリシーアクセスタイプ
AliyunMQFullAccess完全な管理アクセス
AliyunMQPubOnlyAccessSDK パブリッシュアクセスのみ
AliyunMQSubOnlyAccessSDK サブスクライブアクセスのみ
AliyunMQReadOnlyAccess読み取り専用アクセス (コンソールおよび API)
説明

これらのシステムポリシーは ApsaraMQ for RocketMQ にも適用されます。これらのポリシーのいずれかをアタッチすると、ApsaraMQ for MQTT と ApsaraMQ for RocketMQ の両方へのアクセスが許可されます。

追加のコンソール権限

システムポリシーには、ApsaraMQ for MQTT コンソールのすべてのエリアにアクセスするために必要なすべての権限が含まれているわけではありません。必要に応じて、以下の権限を別途付与してください。

権限必須対象
mq:MqttMetaDataApsaraMQ for MQTT コンソールの [概要] ページへのアクセス
mq:ListMqttInstanceコンソールでのインスタンスリストの表示

MQTT のみの権限付与

上記のシステムポリシーは ApsaraMQ for RocketMQ も対象としています。ApsaraMQ for MQTT リソースへのアクセスのみを許可するには、代わりにカスタムポリシーを使用します。MQTT のみのアクセスに対するカスタムポリシーには、通常、以下が含まれます。

  • ターゲットインスタンスに対する mq:MqttInstanceAccess (リソースレベルの権限を付与する前に必須)

  • 必要に応じて、特定のトピックまたはグループにスコープ指定された mq:PUB または mq:SUB

システムポリシー

ApsaraMQ for MQTT は、4 つのデフォルトのシステムポリシーを提供します。

ポリシー説明
AliyunMQFullAccessコンソールでのすべての ApsaraMQ for MQTT 操作に対する完全な管理アクセス。Alibaba Cloud アカウントと同等です。
AliyunMQPubOnlyAccessパブリッシュ専用アクセス。SDK を介して、Alibaba Cloud アカウント配下のすべてのリソースにメッセージをパブリッシュできます。
AliyunMQSubOnlyAccessサブスクライブ専用アクセス。SDK を介して、Alibaba Cloud アカウント配下のすべてのリソースからメッセージをサブスクライブできます。
AliyunMQReadOnlyAccess読み取り専用アクセス。コンソールまたは API 呼び出しを介してリソース情報を表示できます。
重要

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

AliyunMQFullAccess と AliyunMQReadOnlyAccess には、コンソールでインスタンスリストを表示する権限は含まれていません。インスタンスリストへのアクセスを有効にするには、mq:MqttInstanceAccess を別途付与してください。詳細については、「インスタンス管理のアクション」をご参照ください。

カスタムポリシーのアクション

カスタムポリシーを使用すると、RAM ユーザーが特定のリソースに対して実行できるアクションを正確に指定できます。以下のセクションでは、利用可能なすべてのアクションをスコープ別にグループ化してリストします。

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

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

これらのアクションは、ApsaraMQ for MQTT SDK を介したメッセージのパブリッシュとサブスクライブを制御します。

リソースの命名規則:

  • トピック: 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リソースの命名規則必須アクション
QueryMqttTraceDevice--mq:MqttInstanceAccess, mq:QueryMqttDeviceTrace
QueryMqttTraceMessageOfClient--mq:MqttInstanceAccess, mq:QueryMqttDeviceTrace
QueryMqttTraceMessagePublishインスタンス: acs:mq:*:*:instance/{mqttInstanceId}mq:MqttInstanceAccess, mq:QueryMqttPubTrace
QueryMqttTraceMessageSubscribe--mq: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 リファレンスについては、「機能別の操作リスト」をご参照ください。

関連項目