Todos os produtos
Search
Central de documentação

ApsaraMQ for MQTT:Exemplos de políticas de permissão

Última atualização: Jun 28, 2026

Copie estas políticas de RAM de exemplo para conceder acesso granular a instâncias, tópicos, grupos e operações de API do ApsaraMQ for MQTT. Substitua os espaços reservados pelas informações dos seus recursos e anexe cada política a um usuário RAM.

Pré-requisitos

Antes de começar, verifique se você possui:

Ações e tipos de recurso

Cada instrução de política mapeia uma Action a um Resource. A tabela a seguir lista as ações disponíveis e os formatos de ARN de recurso correspondentes.

Action

Descrição

Formato do ARN do recurso

mq:MqttInstanceAccess

Acessar uma instância MQTT

acs:mq:*:*:instance/<instance-id>

mq:MqttMetaData

Acessar a página Overview e a página inicial do console

acs:mq:*:<account-id>:*

mq:ListMqttInstance

Listar instâncias MQTT

acs:mq:*:<account-id>:instance/<instance-id>

mq:PUB

Publicar mensagens em um tópico

acs:mq:*:*:topic/<instance-id>/<topic-name>

mq:SUB

Inscrever-se em um tópico ou grupo

acs:mq:*:*:topic/<instance-id>/<topic-name> ou acs:mq:*:*:groupId/<instance-id>/<group-id>

mq:SendMqttMessageByConsole

Publicar mensagens pelo console

acs:mq:*:*:topic/<instance-id>/<topic-name>

mq:ApplyToken

Solicitar um token de autenticação via API

acs:mq:*:*:topic/<instance-id>/<topic-name>

mq:CreateMqttOutboundRule

Crie uma regra de saída de dados

acs:mq:*:*:rule/<instance-id>/<rule-id>

mq:DeleteMqttOutboundRule

Exclua uma regra de saída de dados

acs:mq:*:*:rule/<instance-id>/<rule-id>

mq:ListMqttOutboundRule

Listar regras de saída de dados

acs:mq:*:*:rule/<instance-id>/<rule-id>

mq:UpdateMqttOutboundRule

Atualize uma regra de saída de dados

acs:mq:*:*:rule/<instance-id>/<rule-id>

mq:*

Todas as ações (acesso total)

acs:mq:*:*:*/<instance-id>/*

Valores de espaço reservado

Substitua estes espaços reservados pelos valores reais antes de aplicar uma política.

Espaço reservado

Descrição

Exemplo

<instance-id>

ID da instância MQTT

post-cn-09k1noy****

<account-id>

ID da conta Alibaba Cloud

198126978280****

<topic-name>

Nome do tópico

Topic_****

<group-id>

ID do grupo

GID_****

<rule-id>

ID da regra de saída de dados

Rule****

Acesso ao console

Conceda a um usuário RAM acesso ao console do ApsaraMQ for MQTT, incluindo a página Overview, a página inicial e a lista de instâncias.

Esta política contém três instruções:

  • Acesso à instância: obrigatório antes de conceder quaisquer outras permissões.

  • Metadados do console: carrega a página Overview e a página inicial.

  • Listagem de instâncias: exibe as instâncias na lista.

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "mq:MqttInstanceAccess",
            "Resource": "acs:mq:*:*:instance/<instance-id>"
        },
        {
            "Effect": "Allow",
            "Action": "mq:MqttMetaData",
            "Resource": "acs:mq:*:<account-id>:*"
        },
        {
            "Effect": "Allow",
            "Action": "mq:ListMqttInstance",
            "Resource": "acs:mq:*:<account-id>:instance/<instance-id>"
        }
    ]
}

Publicação e assinatura por cliente MQTT

Conceda a um usuário RAM permissões para publicar e assinar mensagens em um tópico por meio de um cliente ApsaraMQ for MQTT.

Nota

Não há suporte para permissões de publicação e assinatura entre contas. O usuário RAM e a instância MQTT devem pertencer à mesma conta Alibaba Cloud.

Esta política contém três instruções:

  • Acesso à instância: obrigatório antes de conceder quaisquer outras permissões.

  • Publicação e assinatura no tópico: publica e recebe mensagens em um tópico específico.

  • Assinatura por grupo: inscreve-se usando um ID de grupo específico.

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mq:MqttInstanceAccess"
            ],
            "Resource": [
                "acs:mq:*:*:instance/<instance-id>"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "mq:PUB",
                "mq:SUB"
            ],
            "Resource": [
                "acs:mq:*:*:topic/<instance-id>/<topic-name>"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "mq:SUB"
            ],
            "Resource": [
                "acs:mq:*:*:groupId/<instance-id>/<group-id>"
            ]
        }
    ]
}

Publicação de mensagens pelo console

Conceda a um usuário RAM permissões para publicar mensagens em um tópico específico pelo console do ApsaraMQ for MQTT.

Esta política contém duas instruções:

  • Acesso à instância: obrigatório antes de conceder quaisquer outras permissões.

  • Publicação pelo console: envia mensagens para um tópico pelo console.

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mq:MqttInstanceAccess"
            ],
            "Resource": [
                "acs:mq:*:*:instance/<instance-id>"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "mq:SendMqttMessageByConsole"
            ],
            "Resource": [
                "acs:mq:*:*:topic/<instance-id>/<topic-name>"
            ]
        }
    ]
}

Solicitação de token via API

Conceda a um usuário RAM permissões para chamar a operação de API ApplyToken e solicitar um token de autenticação.

Esta política contém duas instruções:

  • Acesso à instância: obrigatório antes de conceder quaisquer outras permissões.

  • Solicitação de token: chama a operação ApplyToken para um tópico específico.

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mq:MqttInstanceAccess"
            ],
            "Resource": [
                "acs:mq:*:*:instance/<instance-id>"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "mq:ApplyToken"
            ],
            "Resource": [
                "acs:mq:*:*:topic/<instance-id>/<topic-name>"
            ]
        }
    ]
}

Gerenciamento de regras de saída de dados

Conceda a um usuário RAM permissões completas de CRUD em regras de saída de dados: crie, liste, atualize e exclua.

Importante

A instância, o tópico e o grupo referenciados nas regras de saída devem pertencer à mesma conta Alibaba Cloud.

Esta política contém duas instruções:

  • Acesso à instância: obrigatório antes de conceder quaisquer outras permissões.

  • Gerenciamento de regras de saída: concede permissões para crie, liste, atualize e exclua regras de saída de dados.

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mq:MqttInstanceAccess"
            ],
            "Resource": [
                "acs:mq:*:*:instance/<instance-id>"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "mq:CreateMqttOutboundRule",
                "mq:DeleteMqttOutboundRule",
                "mq:ListMqttOutboundRule",
                "mq:UpdateMqttOutboundRule"
            ],
            "Resource": [
                "acs:mq:*:*:rule/<instance-id>/<rule-id>"
            ]
        }
    ]
}

Acesso total a uma instância

Conceda a um usuário RAM todas as permissões em uma instância específica do ApsaraMQ for MQTT, incluindo acesso ao console, publicação e assinatura, operações de API e gerenciamento de regras.

Esta política contém quatro instruções:

  • Acesso à instância: concede acesso à instância.

  • Metadados do console: carrega a página Overview e a página inicial do console.

  • Listagem de instâncias: exibe a instância na lista.

  • Todas as ações com curinga: concede todas as operações em todos os tipos de recurso da instância.

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "mq:MqttInstanceAccess",
            "Resource": "acs:mq:*:*:instance/<instance-id>"
        },
        {
            "Effect": "Allow",
            "Action": "mq:MqttMetaData",
            "Resource": "acs:mq:*:*:*"
        },
        {
            "Effect": "Allow",
            "Action": "mq:ListMqttInstance",
            "Resource": "acs:mq:*:*:instance/<instance-id>"
        },
        {
            "Effect": "Allow",
            "Action": "mq:*",
            "Resource": "acs:mq:*:*:*/<instance-id>/*"
        }
    ]
}

Referências