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

ApsaraMQ for MQTT:ポリシー

最終更新日:Jul 23, 2025

Alibaba Cloud は、MQTT 版 ApsaraMQ の権限を管理するための Resource Access Management (RAM)を提供しています。 RAM を使用する場合、Alibaba Cloud アカウントの AccessKey ペアを他のユーザーと共有する必要はありません。必要な権限のみをユーザーに付与できます。 AccessKey ペアは、AccessKey ID と AccessKey シークレットで構成されます。このトピックでは、RAM で MQTT 版 ApsaraMQ に提供されるポリシーについて説明します。

ポリシータイプ

RAM では、ポリシーは構文を使用して記述された権限の集合です。詳細については、「ポリシーの構造と構文」をご参照ください。ポリシーでは、承認されたリソースセット、アクションセット、および承認条件を正確に記述できます。 MQTT 版 ApsaraMQ は、次のタイプの RAM ポリシーを提供します。

  • システムポリシー: システムポリシーは、Alibaba Cloud によって作成および更新されます。システムポリシーは使用できますが、変更することはできません。

  • カスタムポリシー: カスタムポリシーは、作成、更新、および削除できます。カスタムポリシーのバージョンを管理する必要があります。

システムポリシー

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

重要

MQTT 版 ApsaraMQ は、独立したシステムポリシーをサポートしていません。次のシステムポリシーを RAM ユーザーにアタッチすると、MQTT 版 ApsaraMQRocketMQ 版 ApsaraMQ の両方でポリシーが有効になります。

ポリシー

説明

AliyunMQFullAccess

MQTT 版 ApsaraMQ を管理するための権限。このポリシーがアタッチされている RAM ユーザーは、Alibaba Cloud アカウントを使用して MQTT 版 ApsaraMQ コンソールでリソースを管理するのと同じ方法ですべての機能を管理できます。

説明

このポリシーを RAM ユーザーにアタッチした後、RAM ユーザーは MQTT 版 ApsaraMQ コンソールでインスタンスのリストを表示できません。 MQTT 版 ApsaraMQ コンソールでインスタンスのリストを表示するには、RAM ユーザーに必要な権限が付与されている必要があります。権限のアクションは mq:MqttInstanceAccess です。詳細については、「コンソールでインスタンスを管理するための権限」をご参照ください。

AliyunMQPubOnlyAccess

MQTT 版 ApsaraMQ でメッセージをパブリッシュするための権限。このポリシーがアタッチされている RAM ユーザーは、Alibaba Cloud アカウントのすべてのリソースを使用して、SDK を使用してメッセージをパブリッシュできます。

AliyunMQSubOnlyAccess

MQTT 版 ApsaraMQ でメッセージをサブスクライブするための権限。このポリシーがアタッチされている RAM ユーザーは、Alibaba Cloud アカウントのすべてのリソースを使用して、SDK を使用してメッセージをサブスクライブできます。

AliyunMQReadOnlyAccess

MQTT 版 ApsaraMQ の読み取り専用権限。このポリシーがアタッチされている RAM ユーザーは、MQTT 版 ApsaraMQ コンソールで、または API 操作を呼び出すことによってのみ、リソース情報を読み取ることができます。

説明

このポリシーを RAM ユーザーにアタッチした後、RAM ユーザーは MQTT 版 ApsaraMQ コンソールでインスタンスのリストを表示できません。 MQTT 版 ApsaraMQ コンソールでインスタンスのリストを表示するには、RAM ユーザーに必要な権限が付与されている必要があります。権限のアクションは mq:MqttInstanceAccess です。詳細については、「コンソールでインスタンスを管理するための権限」をご参照ください。

カスタムポリシー

カスタムポリシーを使用すると、ユーザーに詳細な権限を付与できます。

次のセクションでは、MQTT 版 ApsaraMQ のリソースとアクション間のマッピングについて説明します。

MQTT 版 ApsaraMQ では、インスタンス、トピック、グループ、およびルールは異なるタイプのリソースです。リソースに対してアクションを実行するには、権限を付与する必要があります。リソースの形式については、「リソース」をご参照ください。

MQTT 版 ApsaraMQ のリソースとアクションの可能な値と対応するルールは、コンソール、API 操作、および MQTT 版 ApsaraMQ クライアントというカテゴリに分類できます。 MQTT 版 ApsaraMQ コンソールのリソース関連操作は、リソースタイプ(インスタンス、トピック、グループ、ルール)に基づいて次のカテゴリに分類されます。

説明

MQTT 版 ApsaraMQ インスタンスのリソースにアクセスし、API 操作を呼び出してインスタンスで操作を実行するには、インスタンスに必要な権限を取得する必要があります。対応するアクションは mq:MqttInstanceAccess です。

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

MQTT 版 ApsaraMQ クライアントでメッセージをパブリッシュおよびサブスクライブするための権限

メッセージをパブリッシュおよびサブスクライブするための権限には、トピックとグループのリソース命名形式が関係します。

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

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

アクション

説明

備考

mq:PUB

メッセージをパブリッシュします。

RAM ユーザーにトピックまたはグループの権限を付与する前に、トピックまたはグループが属するインスタンスにアクセスするための権限をユーザーに付与する必要があります。権限のアクションは mq:MqttInstanceAccess です。

mq:SUB

メッセージをサブスクライブします。

説明

MQTT 版 ApsaraMQ クライアントでメッセージをパブリッシュおよびサブスクライブするための権限は、Alibaba Cloud アカウント間で付与することはできません。

コンソールでインスタンスを管理するための権限

MQTT 版 ApsaraMQ インスタンスのリソース命名形式は、acs:mq:*:*:instance/{mqttInstanceId} です。

アクション

説明

備考

mq:MqttInstanceAccess

インスタンスの基本情報を照会します。

RAM ユーザーにトピックまたはグループの権限を付与する前に、トピックまたはグループが属するインスタンスにアクセスするための権限をユーザーに付与する必要があります。権限のアクションは mq:MqttInstanceAccess です。

mq:DeleteMqttInstance

インスタンスを削除します。

なし。

mq:UpdateMqttInstance

インスタンス情報を変更します。

なし。

mq:ListMqttInstance

インスタンスのリストを照会します。

なし。

mq:UpdateMqttInstanceWarn

特定のインスタンスに関するアラート情報を更新します。

なし。

mq:MqttMetaData

MQTT 版 ApsaraMQ コンソールの [概要] ページとホームページにアクセスします。

RAM ユーザーに MQTT 版 ApsaraMQ コンソールの [概要] ページとホームページにアクセスするための権限を付与した後、ユーザーが MQTT 版 ApsaraMQ コンソールでインスタンスのリストを表示できるようにするには、インスタンスを表示するための権限をユーザーに付与する必要があります。

コンソールでトピックを管理するための権限

トピックのリソース命名形式は、acs:mq:*:*:topic/{mqttInstanceId}/{topic} です。

アクション

説明

備考

mq:QueryMqttClientByTopic

特定のトピックをサブスクライブしている MQTT 版 ApsaraMQ クライアントを照会します。

RAM ユーザーにトピックまたはグループの権限を付与する前に、トピックまたはグループが属するインスタンスにアクセスするための権限をユーザーに付与する必要があります。権限のアクションは mq:MqttInstanceAccess です。

mq:QueryMqttMsgTransTrend

特定のトピックに基づいてメッセージング統計を照会します。

mq:SendMqttMessageByConsole

コンソールでメッセージ送信機能をテストします。

mq:CreateMqttTopic

トピックを作成します。

mq:DeleteMqttTopic

トピックを削除します。

mq:ListMqttTopic

トピックを照会します。

mq:UpdateMqttTopic

トピックの説明を更新します。

コンソールでグループを管理するための権限

グループのリソース命名形式は、acs:mq:*:*:groupId/{mqttInstanceId}/{gid} です。

アクション

説明

備考

mq:CreateMqttGroupId

グループを作成します。

RAM ユーザーにトピックまたはグループの権限を付与する前に、トピックまたはグループが属するインスタンスにアクセスするための権限をユーザーに付与する必要があります。権限のアクションは mq:MqttInstanceAccess です。

mq:ListMqttGroupId

グループのリストを照会します。

mq:QueryMqttClientByClientId

特定のクライアント ID に基づいて MQTT 版 ApsaraMQ クライアント情報を照会します。

mq:QueryMqttClientByGroupId

特定のグループ ID に基づいて MQTT 版 ApsaraMQ クライアント情報を照会します。

mq:QueryMqttHistoryOnline

特定のグループ ID に基づいて、履歴接続されている MQTT 版 ApsaraMQ クライアントに関する情報を照会します。

mq:DeleteMqttGroupId

グループを削除します。

mq:QueryMqttTraceDevice

MQTT 版 ApsaraMQ クライアントのトレースを照会します。

mq:QueryMqttDeviceTrace

特定の MQTT 版 ApsaraMQ クライアントに関する情報を照会します。

コンソールでルールを管理するための権限

ルールのリソース命名形式は、acs:mq:*:*:rule/{mqttInstanceId}/{ruleId} です。

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

アクション

説明

備考

mq:CreateMqttInboundRule

データインバウンドルールを作成します。

RAM ユーザーにトピックまたはグループの権限を付与する前に、トピックまたはグループが属するインスタンスにアクセスするための権限をユーザーに付与する必要があります。権限のアクションは mq:MqttInstanceAccess です。

mq:DeleteMqttInboundRule

データインバウンドルールを削除します。

mq:ListMqttInboundRule

データインバウンドルールを照会します。

mq:UpdateMqttInboundRule

データインバウンドルールを更新します。

mq:CreateMqttOutboundRule

データアウトバウンドルールを作成します。

mq:DeleteMqttOutboundRule

データアウトバウンドルールを削除します。

mq:ListMqttOutboundRule

データアウトバウンドルールを照会します。

mq:UpdateMqttOutboundRule

データアウトバウンドルールを更新します。

mq:CreateClientStatusNotifyRule

クライアントステータス通知のルールを作成します。

mq:DeleteClientStatusNotifyRule

クライアントステータス通知のルールを削除します。

mq:ListClientStatusNotifyRule

クライアントステータス通知のルールを照会します。

mq:UpdateClientStatusNotifyRule

クライアントステータス通知のルールを更新します。

API 操作を呼び出すための権限

API 操作を呼び出すことによってルールに対する操作を実行するための権限を付与する前に、関連するインスタンス、トピック、およびグループが同じ Alibaba Cloud アカウントに属していることを確認してください。

API

リソース命名形式

リソース命名例

アクション

RevokeToken

acs:mq:*:*:*

acs:mq:*:*:*

  • mq:MqttInstanceAccess

  • mq:RevokeToken

QueryToken

acs:mq:*:*:*

acs:mq:*:*:*

  • mq:MqttInstanceAccess

  • mq:QueryToken

ApplyToken

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

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

  • インスタンス: acs:mq:*:*:instance/post-cn-09k1noy****

  • トピック: acs:mq:*:*:topic/post-cn-09k1noy****/Topic_****

  • mq:MqttInstanceAccess

  • mq:ApplyToken

SendMessage

  • mq:MqttInstanceAccess

  • mq:SendMessage

CreateGroupId を作成する

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

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

  • インスタンス: acs:mq:*:*:instance/post-cn-09k1noy****

  • グループ: acs:mq:*:*:groupId/post-cn-09k1noy****/GID_****

  • mq:MqttInstanceAccess

  • mq:CreateMqttGroupId

DeleteGroupId を削除する

  • mq:MqttInstanceAccess

  • mq:DeleteMqttGroupId

ListGroupId

  • mq:MqttInstanceAccess

  • mq:ListMqttGroupId

QuerySessionByClientId

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

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

  • インスタンス: acs:mq:*:*:instance/post-cn-09k1noy****

  • グループ: acs:mq:*:*:groupId/post-cn-09k1noy****/GID_****

  • mq:MqttInstanceAccess

  • mq:QuerySessionByClientId

BatchQuerySessionByClientIds

  • mq:MqttInstanceAccess

  • mq:BatchQuerySessionByClientIds

RegisterDeviceCredential

  • mq:MqttInstanceAccess

  • mq:RegisterDeviceCredential

GetDeviceCredential

  • mq:MqttInstanceAccess

  • mq:GetDeviceCredential

デバイスクレデンシャルクライアント ID を一覧表示する

  • mq:MqttInstanceAccess

  • mq:ListDeviceCredentialClientId

UnRegisterDeviceCredential

  • mq:MqttInstanceAccess

  • mq:UnRegisterDeviceCredential

RefreshDeviceCredential

  • mq:MqttInstanceAccess

  • mq:RefreshDeviceCredential

QueryMqttTraceDevice

  • mq:MqttInstanceAccess

  • mq:QueryMqttDeviceTrace

QueryMqttTraceMessageOfClient

  • mq:MqttInstanceAccess

  • mq:QueryMqttDeviceTrace

メッセージパブリッシュ履歴のクエリ

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

インスタンス: acs:mq:*:*:instance/post-cn-09k1noy****

  • mq:MqttInstanceAccess

  • mq:QueryMqttPubTrace

QueryMqttTraceMessageSubscribe

  • mq:MqttInstanceAccess

  • mq:QueryMqttSubTrace

カスタム認証接続ブラックリストを追加する

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

インスタンス: acs:mq:*:*:instance/post-cn-09k1noy****

  • mq:MqttInstanceAccess

  • mq:DeleteCustomAuthConnectBlack

カスタム認証権限を追加する

  • mq:MqttInstanceAccess

  • mq:AddCustomAuthPermission

QueryCustomAuthConnectBlack

  • mq:MqttInstanceAccess

  • mq:QueryCustomAuthConnectBlack

カスタム認証接続ブラックリストを削除する

  • mq:MqttInstanceAccess

  • mq:AddCustomAuthConnectBlack

カスタム認証 ID をクエリする

  • mq:MqttInstanceAccess

  • mq:QueryCustomAuthIdentity

カスタム認証 ID を追加する

  • mq:MqttInstanceAccess

  • mq:AddCustomAuthIdentity

カスタム認証権限の削除

  • mq:MqttInstanceAccess

  • mq:DeleteCustomAuthPermission

カスタム認証 ID を削除する

  • mq:MqttInstanceAccess

  • mq:DeleteCustomAuthIdentity

カスタム認証 ID を更新する

  • mq:MqttInstanceAccess

  • mq:UpdateCustomAuthIdentity

カスタム認証権限のクエリ

  • mq:MqttInstanceAccess

  • mq:QueryCustomAuthPermission

カスタム認証権限の更新

  • mq:MqttInstanceAccess

  • mq:UpdateCustomAuthPermission

ディザスタダウングレード

  • mq:MqttInstanceAccess

  • mq:DisasterDowngrade

ディザスターリカバリー

  • mq:MqttInstanceAccess

  • mq:DisasterRecovery

トピックの作成

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

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

  • インスタンス: acs:mq:*:*:instance/post-cn-09k1noy****

  • トピック: acs:mq:*:*:topic/post-cn-09k1noy****/Topic_****

  • mq:MqttInstanceAccess

  • mq:CreateMqttTopic

ListTopics

  • mq:MqttInstanceAccess

  • mq:SUB

  • mq:ListMqttTopic

トピックの削除

  • mq:MqttInstanceAccess

  • mq:PUB

  • mq:DeleteMqttTopic

トピックの更新

  • mq:MqttInstanceAccess

  • mq:UpdateMqttTopic

MQTT アウトバウンドルールの更新

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

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

  • インスタンス: acs:mq:*:*:instance/post-cn-09k1noy****

  • ルール: acs:mq:*:*:rule/post-cn-09k1noy****/111****

  • mq:MqttInstanceAccess

  • mq:UpdateMqttOutboundRule

MQTT 受信ルールを作成

  • mq:MqttInstanceAccess

  • mq:CreateMqttInboundRule

MQTT アウトバウンドルールを削除

  • mq:MqttInstanceAccess

  • mq:DeleteMqttOutboundRule

UpdateClientStatusNotifyRule

  • mq:MqttInstanceAccess

  • mq:UpdateClientStatusNotifyRule

ListClientStatusNotifyRuleInPages

  • mq:MqttInstanceAccess

  • mq:ListClientStatusNotifyRule

Mqtt受信ルールをページ単位で一覧表示

  • mq:MqttInstanceAccess

  • mq:ListMqttInboundRule

クライアントステータス通知ルールの削除

  • mq:MqttInstanceAccess

  • mq:DeleteClientStatusNotifyRule

CreateClientStatusNotifyRule

  • mq:MqttInstanceAccess

  • mq:CreateClientStatusNotifyRule

MQTT アウトバウンド規則の作成

  • mq:MqttInstanceAccess

  • mq:CreateMqttOutboundRule

MQTT インバウンドルールの更新

  • mq:MqttInstanceAccess

  • mq:UpdateMqttInboundRule

MQTT 受信ルールを削除する

  • mq:MqttInstanceAccess

  • mq:DeleteMqttInboundRule

ListMqttOutboundRuleInPages

  • mq:MqttInstanceAccess

  • mq:ListMqttOutboundRule

説明

API 操作の詳細については、「関数別の操作一覧」をご参照ください。

参考資料