Para acessar um projeto do MaxCompute ou Hologres pertencente a outra conta da Alibaba Cloud, adicione-o como fonte de dados na sua conta atual. Isso permite o acesso a dados entre contas.
Limitações
Fontes de dados entre contas não suportam desenvolvimento nem agendamento de dados. Para realizar essas operações, crie uma fonte de dados na sua própria conta. Para mais informações, consulte Vincular um mecanismo de computação do MaxCompute e Vincular um mecanismo de computação do Hologres.
Ao criar uma fonte de dados entre contas, acesse o projeto exclusivamente por meio de uma função do RAM.
Pré-requisitos
-
Crie duas contas da Alibaba Cloud, referidas neste tópico como Conta A e Conta B. Para saber como criar uma conta, consulte Cadastrar uma conta da Alibaba Cloud.
Conta A da Alibaba Cloud: o consumidor que cria a fonte de dados entre contas usando as credenciais da Conta B.
Conta B da Alibaba Cloud: o provedor de recursos que fornece credenciais à Conta A para permitir a criação da fonte de dados entre contas.
-
Garanta que os recursos de dados a compartilhar estejam prontos na Conta B. Por exemplo, verifique se já criou um projeto do MaxCompute ou uma instância e banco de dados do Hologres.
Cenário 1 (Acesso ao MaxCompute): a Conta B da Alibaba Cloud deve ter um projeto do MaxCompute para servir como projeto de destino da fonte de dados entre contas. Para criar um projeto do MaxCompute, consulte Criar um projeto do MaxCompute.
Cenário 2 (Acesso ao Hologres): na Conta B da Alibaba Cloud, adquira uma instância do Hologres e crie um banco de dados.
Etapa 1: Criar e autorizar uma função do RAM
Criar uma função do RAM e política de confiança
Com a Conta B, faça login no console do RAM para criar uma função do RAM e adicionar a Conta A como conta confiável. Assim, a Conta A poderá assumir essa função para acessar os recursos autorizados.
-
Crie uma função do RAM.
Para obter detalhes, consulte Criar uma função do RAM para uma conta confiável da Alibaba Cloud.
NotaA Conta A usa a função do RAM criada aqui para acessar o DataWorks na Conta B. Se essa mesma função também for necessária para acessar o DataWorks na Conta A, redefina sua política de permissões. Para mais informações, consulte Definir uma política de permissões para uma função do RAM.
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 concluir a configuração, a Conta A poderá assumir a função testRole para acessar os recursos autorizados.
-
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 serviço DataWorks da Conta A assuma esta função. Para mais informações, consulte Modificar a política de confiança de uma função do RAM.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "UID of Account A@engine.dataworks.aliyuncs.com" ] } } ], "Version": "1" }Substitua
UID of Account Apelo UID real da Conta A.
Configurar uma política de permissões para a função do RAM
Cenário 1: Autorizar acesso ao MaxCompute
-
Na Conta B, acesse o projeto de destino do MaxCompute.
Use o recurso de análise SQL no console do MaxCompute para acessar rapidamente o projeto.
Para mais informações sobre ferramentas de conexão, consulte Selecionar uma ferramenta de conexão.
-
Adicione a função do RAM ao projeto do MaxCompute.
-
Adicione a função testRole, criada na Etapa 1, ao projeto do MaxCompute. Use o seguinte formato de 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 (testRole).
-
Conceda permissões à função conforme necessário. Para mais informações, consulte Autorização.
NotaConceda permissões à função do RAM antecipadamente com base no uso previsto da fonte de dados pelo workspace da Conta A. Por exemplo, para consultar uma tabela na fonte de dados da Conta B a partir do workspace da Conta A, garanta que a função do RAM configurada para a fonte de dados tenha a permissão SELECT na tabela.
-
Cenário 2: Autorizar acesso ao Hologres
-
Modifique a política de permissões da função (apenas Hologres)
-
No console do RAM da Conta B, crie uma política personalizada para conceder as permissões necessárias ao acesso à instância do Hologres. Use o seguinte conteúdo de política:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "hologram:GetInstance", "hologram:DescribeInstance", "hologram:ListDatabases", "hologram:ListWarehouses", "hologram:ListInstances" ], "Resource": "*" } ] } Anexe esta política à função testRole. Para mais informações, consulte Gerenciar permissões para uma função do RAM.
-
-
Adicione a função do RAM ao banco de dados do Hologres.
Adicione e autorize a função no Hologres. Faça login no console de gerenciamento do Hologres com a Conta B e abra a interface HoloWeb da instância de destino.
-
Na página Security Center > User Management, adicione a função do RAM criada como usuário do banco de dados.
Na caixa de diálogo Add User, selecione a função do 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) em User, selecione Developer em User Group e clique em Confirm.
Para mais informações, consulte Início rápido para autorização de usuário do RAM.
-
Etapa 2: Criar uma fonte de dados para a Conta A usando informações da Conta B
-
Faça login no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Management Center.
Na página Workspace Management, clique em Data Sources no painel de navegação à esquerda para abrir a página de fontes de dados.
Clique em Add Data Source e selecione o tipo de fonte de dados (MaxCompute ou Hologres).
-
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 está localizado o projeto do MaxCompute ou a instância do Hologres.
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 do RAM criada na Conta B (por exemplo, testRole).
-
Configure a conectividade do grupo de recursos.
Selecione um grupo de recursos e teste sua conectividade. Para informações sobre configurações de conectividade de rede, consulte Conectar a uma fonte de dados pertencente a uma conta diferente da Alibaba Cloud.
O status verde Connected na coluna Connection Status indica que a rede do grupo de recursos está configurada corretamente.
Clique em Complete Creation para criar a fonte de dados entre contas.
Próximas etapas
Após criar a fonte de dados, você pode:
Sincronizar dados com o Data Integration.
Acessar o Data Map para visualizar mais detalhes sobre a fonte de dados.