Todos os produtos
Search
Central de documentação

ApsaraMQ for RabbitMQ:RAM users

Última atualização: Jul 09, 2026

O Resource Access Management (RAM) permite delegar permissões por meio de usuários RAM. Conceda diferentes permissões a esses usuários conforme as necessidades do seu negócio para evitar riscos de segurança associados à exposição da AccessKey da sua conta Alibaba Cloud.

Contexto

A Empresa A ativou o serviço ApsaraMQ for RabbitMQ e precisa que seus colaboradores gerenciem recursos desse serviço, como instâncias, Vhosts, Queues e Exchanges. Como as responsabilidades variam entre os funcionários, cada um necessita de permissões específicas. Os requisitos da Empresa A são:

  • Por motivos de segurança e confiança, a empresa prefere não compartilhar diretamente a AccessKey da conta Alibaba Cloud com os colaboradores. Em vez disso, opta por criar contas de usuário individuais.

  • Os usuários devem gerenciar recursos apenas dentro das permissões concedidas. Todo o uso de recursos é faturado na conta Alibaba Cloud da empresa, e não nas contas individuais dos usuários.

  • A empresa deve poder revogar permissões ou excluir contas de usuário a qualquer momento.

Etapa 1: Criar um usuário RAM

Para criar usuários RAM para os colaboradores, faça login no console RAM usando a conta Alibaba Cloud da Empresa A.

Procedimento

Console

  1. Faça login no console RAM com sua conta Alibaba Cloud ou como um usuário RAM com permissões administrativas (um usuário ao qual a política AliyunRAMFullAccess está anexada).

  2. No painel de navegação à esquerda, escolha Identities > Users.

  3. Na página Users, clique em Create User.

  4. Na página Create User, na seção User Account Information, configure as informações básicas do usuário.

    • Logon Name (obrigatório): Até 64 caracteres. Permite letras, dígitos, pontos (.), hifens (-) e sublinhados (_).

    • Display Name (opcional): O nome pode ter até 128 caracteres.

    • Tag (opcional): Clique em edit e insira uma chave de tag e um valor de tag para categorizar e gerenciar usuários.

    Nota

    Clique em Add User para criar vários usuários RAM em massa.

  5. Na seção Access Mode, selecione um modo de acesso conforme o tipo de usuário.

    Importante

    Acesso ao console

    Selecione Console Access.

    Acesso programático

    Selecione Using permanent AccessKey to access.

    O sistema cria automaticamente um AccessKey ID e um AccessKey Secret para o usuário RAM.

    Importante

    O AccessKey Secret é exibido apenas no momento da criação e não pode ser recuperado posteriormente. Baixe ou copie e salve o AccessKey Secret imediatamente. Um par de AccessKey vazado compromete todos os recursos da sua conta. Consulte Criar um par de AccessKey.

OpenAPI

Criar um usuário RAM para acesso ao console

  1. Chame GetDefaultDomain para obter o sufixo de login padrão de uma conta. O formato é <AccountAlias>.onaliyun.com.

  2. Chame a operação CreateUser para criar um usuário RAM. Os seguintes parâmetros são obrigatórios:

    1. UserPrincipalName: O nome de login do usuário RAM. O formato é <username>@<AccountAlias>.onaliyun.com, onde <username> é o nome de usuário RAM e <AccountAlias>.onaliyun.com é o sufixo de login padrão.

    2. DisplayName: O nome de exibição do usuário RAM. Pode ser diferente do <username> mencionado acima.

  3. Chame a operação CreateLoginProfile para criar um perfil de login e configurar o modo de acesso e o MFA. Configurações recomendadas:

    1. UserPrincipalName: As informações do usuário criado na etapa anterior.

    2. Password: Defina conforme os requisitos de força de senha da conta. Chame a operação GetPasswordPolicy para consultar a política de senha atual.

    3. MFABindRequired: Defina como true para exigir MFA para usuários RAM.

    4. Status: Ativa ou desativa o login por senha no console. Padrão: Active.

Criar um usuário RAM para acesso programático

  1. Chame GetDefaultDomain para obter o sufixo de login padrão de uma conta. O sufixo tem o formato <AccountAlias>.onaliyun.com.

  2. Chame a operação CreateUser para criar um usuário RAM. Os seguintes parâmetros são obrigatórios:

    1. UserPrincipalName: O nome de login do usuário RAM no formato <username>@<AccountAlias>.onaliyun.com, onde <username> é o nome de usuário RAM e <AccountAlias>.onaliyun.com é o sufixo de login padrão.

    2. DisplayName: O nome de exibição do usuário RAM, que pode ser diferente do <username> mencionado acima.

  3. Para criar um par de AccessKey (AccessKey), chame a operação CreateAccessKey e passe apenas o UserPrincipalName do usuário criado na etapa anterior.

    Importante

    A resposta de CreateAccessKey contém o AccessKeyID e o AccessKeySecret. O AccessKeySecret aparece apenas uma vez e não pode ser recuperado posteriormente — salve-o imediatamente. Uma AccessKey vazada compromete todos os recursos da sua conta. Para mais informações, consulte Criar uma AccessKey.

Etapa 2: Conceder permissões a usuários RAM

Conceda permissões diferentes para cada usuário RAM conforme necessário.

  1. Faça login no console RAM como administrador RAM.

  2. No painel de navegação à esquerda, escolha Identities > Users.

  3. Localize o usuário RAM desejado e clique em Attach Policy na coluna Actions.

  4. No painel Attach Policy, conceda permissões ao usuário RAM.

    1. Selecione um Resource Scope.

      • Account: As permissões se aplicam à conta Alibaba Cloud atual.

      • Resource Group: As permissões se aplicam ao grupo de recursos especificado.

        Nota

        Uma autorização para um grupo de recursos só entra em vigor se o serviço de nuvem oferecer suporte a grupos de recursos. Para mais informações, consulte Serviços de nuvem compatíveis com grupos de recursos.

    2. Especifique um Principal.

      O principal é o usuário RAM ao qual você concede permissões.

    3. Selecione a Policy.

      Uma política é um conjunto de permissões. Existem dois tipos de políticas:

      • System Policy: Criadas e mantidas pela Alibaba Cloud. Você pode usar essas políticas, mas não pode modificá-las. Para mais informações, consulte Serviços compatíveis com RAM.

      • Custom Policy: Você pode criar, atualizar e excluir essas políticas. Para mais informações, consulte Criar uma política personalizada.

      Para configurar permissões refinadas para recursos do ApsaraMQ for RabbitMQ, como instâncias, Vhosts e filas, crie uma política personalizada. O exemplo a seguir mostra uma política personalizada em JSON:

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "amqp:*",
            "Resource": "acs:amqp:*:*:instance/<InstanceID>/vhost/<VhostName>"
          }
        ]
      }

      Substitua <InstanceID> pelo ID real da instância e <VhostName> pelo nome real do Vhost. O campo Resource oferece suporte aos seguintes níveis de granularidade:

      • Nível de instância: acs:amqp:*:*:instance/<InstanceID>

      • Nível de Vhost: acs:amqp:*:*:instance/<InstanceID>/vhost/<VhostName>

      • Nível de fila: acs:amqp:*:*:instance/<InstanceID>/vhost/<VhostName>/queue/<QueueName>

      Nota

      O sistema identifica automaticamente políticas de sistema de alto risco, como AdministratorAccess e AliyunRAMFullAccess. Ao conceder permissões, evite atribuir políticas de alto risco desnecessárias.

      Solução de problemas: Permissões RAM insuficientes

      Se você encontrar erros relacionados a permissões ao conectar-se ou consumir mensagens do ApsaraMQ for RabbitMQ, verifique os seguintes pontos:

      • BrokerUnreachableException ou InstanceNotServing (.NET SDK): Se seu cliente .NET SDK relatar BrokerUnreachableException ou InstanceNotServing e a conexão de rede estiver verificada como normal, verifique se o usuário RAM possui permissões de operação para a instância e o Vhost de destino. Atualize a política personalizada para conceder permissões amqp:* nos recursos relevantes.

      • AccessDeniedByRamPolicy (consumo de fila adiada): Se o consumo de fila adiada for interrompido ou houver acúmulo de mensagens com o erro AccessDeniedByRamPolicy, verifique se o usuário RAM tem permissões de operação para a instância, o Vhost e as filas específicas de destino (por exemplo, event_task_result_query e event_task_status). Atualize o campo Resource na sua política personalizada para incluir as filas afetadas.

    4. Clique em Grant permissions.

  5. Clique em Close.

Próximas etapas

Usuários RAM podem acessar o ApsaraMQ for RabbitMQ das seguintes maneiras:

  • Console

    1. Abra a página de login de usuário RAM no navegador.

    2. Na página RAM User Logon, insira o nome de usuário RAM, clique em Next, insira a senha e clique em Log On.

      Nota

      O nome de usuário RAM deve estar no formato <$username>@<$AccountAlias> ou <$username>@<$AccountAlias>.onaliyun.com. <$AccountAlias> é o alias da conta. Se nenhum alias estiver definido, o ID da conta Alibaba Cloud será usado por padrão.

  • API

    Utilize o AccessKey ID e o AccessKey Secret do usuário RAM no seu código para chamar a API e acessar o ApsaraMQ for RabbitMQ.