Todos os produtos
Search
Central de documentação

DataWorks:Autorização entre contas (MaxCompute e Hologres)

Última atualização: Jul 20, 2026

Para acessar um projeto do MaxCompute ou Hologres pertencente a outra conta Alibaba Cloud, adicione-o como fonte de dados na sua conta atual.

Limitações

  • Não é possível usar fontes de dados entre contas para desenvolvimento de dados ou agendamento. Para realizar essas operações, crie uma fonte de dados na sua própria conta. Para mais informações, consulte Bind a MaxCompute compute engine e Bind a Hologres compute engine.

  • Ao criar uma fonte de dados entre contas, o acesso ao projeto ocorre exclusivamente por meio de uma função RAM.

Pré-requisitos

  • Crie duas contas Alibaba Cloud, referidas neste tópico como Conta A e Conta B. Para mais detalhes sobre a criação de contas, consulte Sign up for an Alibaba Cloud account.

    • Conta Alibaba Cloud A: o consumidor que cria a fonte de dados entre contas usando as credenciais da Conta B.

    • Conta Alibaba Cloud B: o provedor de recursos que fornece credenciais à Conta A, permitindo a criação da fonte de dados entre contas.

  • Verifique se os recursos de dados a serem compartilhados estão prontos na Conta B. Por exemplo, confirme se já existe um projeto MaxCompute ou uma instância e banco de dados Hologres criados.

Etapa 1: Criar e autorizar uma função RAM

Criar uma função RAM e política de confiança

Faça login no console RAM com a Conta B para criar uma função RAM e adicionar a Conta A como conta confiável. Dessa forma, a Conta A poderá assumir essa função para acessar os recursos autorizados.

  1. Crie uma função RAM.

    Para mais detalhes, consulte Create a RAM role for a trusted Alibaba Cloud account.

    Nota

    A função RAM criada aqui permite que a Conta A acesse o DataWorks na Conta B. Se essa mesma função RAM também for necessária para acessar o DataWorks na Conta A, redefina sua política de permissões. Para mais informações, consulte Define a permission policy for a RAM role.

    Configure os seguintes parâmetros principais:

    • Principal Type: Alibaba Cloud Account.

    • Principal: Other Alibaba Cloud Account. Insira o UID da Conta A. Para obter o UID, faça login no console com a Conta A e passe o ponteiro do mouse sobre a foto de perfil na barra de navegação superior.

    • Role Name: testRole.

    Após a configuração, a Conta A poderá assumir a função testRole para acessar os recursos autorizados.

  2. Modifique a política de confiança.

    Depois de criar a função, acesse a aba Trust Policy, clique em Edit Trust Policy e substitua o conteúdo da política pelo código abaixo. Isso permite que o service DataWorks da Conta A assuma esta função. Para mais informações, consulte Modify the trust policy of a RAM role.

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "UID of Account A@engine.dataworks.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }

    Substitua UID of Account A pelo UID real da Conta A.

Configurar uma política de permissões para a função RAM

Cenário 1: Autorizar acesso ao MaxCompute

  1. Na Conta B, acesse o projeto MaxCompute de destino.

    Use o recurso de análise SQL no console MaxCompute para acessar rapidamente o projeto.

    Para mais detalhes sobre ferramentas de conexão, consulte Select a connection tool.

  2. Adicione a função RAM ao projeto MaxCompute.

    1. Adicione a função testRole, criada na Etapa 1, ao projeto MaxCompute. O formato da instrução SQL é:

      -- Add the RAM role to the MaxCompute project.
      add user `RAM$<account_name>:role/<ram_role_name>`;
      -- View all users in the project.
      list users;
      -- View the permissions granted to the RAM role.
      show grants for `RAM$<account_name>:role/<ram_role_name>`;

      Parâmetros:

      • <account_name>: o nome da Conta B.

      • <ram_role_name>: o nome da função criada na Etapa 1, que é testRole.

    2. Conceda permissões à função conforme necessário. Para mais informações, consulte Authorization.

      Nota

      É possível conceder permissões à função RAM antecipadamente, com base em como o workspace da Conta A usará a fonte de dados. Por exemplo, se você deseja consultar uma tabela na fonte de dados da Conta B a partir do workspace da Conta A, garanta que a função RAM configurada para a fonte de dados tenha a permissão SELECT na tabela.

Cenário 2: Autorizar acesso ao Hologres

  1. Modificar a política de permissões da função (apenas Hologres)

    1. No console RAM da Conta B, create a custom policy para conceder as permissões necessárias ao acesso da instância Hologres. O conteúdo da política é:

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "hologram:GetInstance",
              "hologram:DescribeInstance",
              "hologram:ListDatabases",
              "hologram:ListWarehouses",
              "hologram:ListInstances"
            ],
            "Resource": "*"
          }
        ]
      }
    2. Anexe esta política à função testRole. Para mais informações, consulte Manage permissions for a RAM role.

  2. Adicione a função RAM ao banco de dados Hologres.

    Adicionar e autorizar a função no Hologres. Faça login no console de gerenciamento do Hologres usando a Conta B e abra a interface HoloWeb para a instância de destino.

    • Na página Security Center > User Management, adicione a função RAM criada como usuário do banco de dados.

      Na caixa de diálogo Add User, selecione a função RAM criada, como testRole, na seção Select Organization Members. Na seção Select Member Role, selecione Regular User e clique em Confirm.

    • Se a função for um usuário regular, conceda permissões no nível do banco de dados na página Security Center > DB Authorization.

      Clique em Add Authorization. Na caixa de diálogo exibida, selecione a função de destino, como role/testRole, para User, selecione Developer para User Group e clique em Confirm.

    Para mais informações, consulte Quick start for RAM user authorization.

Etapa 2: Criar uma fonte de dados para a Conta A usando informações da Conta B

    1. Faça login no console DataWorks. Na região de destino, clique em More > Management Center no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Management Center.

    2. Na página Workspace Management, clique em Data Sources no painel de navegação à esquerda para abrir a página de fontes de dados.

  1. Clique em Add Data Source e selecione o tipo de fonte de dados (MaxCompute ou Hologres).

  2. Na página de configuração da fonte de dados, defina os seguintes parâmetros principais:

    • Alibaba Cloud Account: Other Alibaba Cloud Account.

    • Region: a região onde o projeto MaxCompute ou a instância Hologres está localizada.

    • UID of Alibaba Cloud Account: insira o UID da Conta B.

    • MaxCompute Project Name/Other Hologres Instance: insira o nome ou ID do recurso de destino na Conta B.

    • RAM Role: insira o nome da função RAM criada na Conta B, como testRole.

  3. Configure a conectividade do grupo de recursos.

    Selecione um grupo de recursos e teste sua conectividade. Para mais informações sobre configurações de rede, consulte Connect to a data source that belongs to a different Alibaba Cloud account.

    Um status verde Connected na coluna Connection Status indica que a rede do grupo de recursos está configurada corretamente.

  4. Clique em Complete Creation para criar a fonte de dados entre contas.

Próximas etapas

Após criar a fonte de dados, você pode: