Tradicionalmente, os nós do DataWorks dependiam da configuração de AccessKeys em texto simples para acessar services externos, como o OSS. Essa abordagem gera riscos de segurança e desafios de gerenciamento. Codificar um AccessKey permanente cria um risco de exposição, podendo comprometer todos os seus ativos de dados caso a chave vaze. Além disso, como gerenciar chaves para cada tarefa é complexo, frequentemente são concedidas permissões pouco granulares. Essa prática dificulta a implementação de controle de acesso refinado com base no princípio do menor privilégio. Para resolver esses problemas, utilize a autorização por função do RAM. Essa abordagem usa o Security Token Service (STS) para obter credenciais temporárias dinamicamente, eliminando o risco de vazamento de chaves e permitindo o gerenciamento de permissões sob demanda, específico por tarefa e com alta granularidade.
Visão geral da solução
O processo de configuração tem três etapas principais: Crie uma função do RAM, Crie uma política de permissões e Conceder permissões a um usuário do RAM.
Pré-requisitos
Você deve ter uma conta Alibaba Cloud ou ser um administrador do RAM com as permissões AliyunRAMFullAccess.
Etapa 1: Crie uma função do RAM
Essa função atua como a credencial de identidade que o DataWorks assume ao acessar outros recursos da nuvem.
Crie uma função do RAM: Faça logon na página Funções do console RAM e clique em Create Role. Mantenha as seleções padrão, clique em Confirm e insira um nome descritivo para a função, como
DataWorksRAMROLEforDataStudio.-
Modifique a política de confiança: Após criar a função, acesse sua página de detalhes. Na aba Trust Policy, edite a política para permitir que apenas os services
dataworks.aliyuncs.comeengine.dataworks.aliyuncs.comassumam essa função. A política é a seguinte:Para mais informações, consulte Modify the trust policy of a RAM role .
{ "Version": "1", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "dataworks.aliyuncs.com", "engine.dataworks.aliyuncs.com" ] } } ] } -
Conceda permissões à função do RAM: Na página de detalhes da função, acesse a aba Manage Permissions e clique em Add Permissions. Conceda as permissões necessárias à função
DataWorksRAMROLEforDataStudio.Por exemplo, para acessar o OSS, conceda as permissões
AliyunOSSReadOnlyAccess(somente leitura) ouAliyunOSSFullAccess(acesso total).Para mais informações, consulte Manage RAM role permissions .
No painel Add Permissions, defina o resource scope como account level, pesquise e selecione a política necessária e clique em OK.
Etapa 2: Crie uma política de permissões
Esta política permite que um usuário do RAM transmita a função do RAM criada na Etapa 1 para o service DataWorks.
-
Faça logon na página Políticas do console RAM, clique em Create Policy e mude para a aba JSON para editar o conteúdo da política.
Substitua
<role-name>pelo nome da função do RAM para o DataWorks, por exemplo,DataWorksRAMROLEforDataStudio.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:ListRoles" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "acs:ram::<account-id>:role/<role-name>" } ] }
Action | Description |
| Permite que o usuário visualize a lista de funções na conta. Essa permissão é obrigatória para selecionar uma função na interface. |
| Autoriza o usuário a transmitir a função especificada para um service da nuvem. Substitua os espaços reservados
|
Para mais informações, consulte Create a custom policy .
Clique em Determine e salve a Permission Policy como
DataWorksRAMPolicyforDataStudio.
Etapa 3: Autorizar um usuário do RAM
Nesta etapa final, você concede ao usuário final a permissão para transmitir a função.
Acesse a página Usuários do console RAM. Localize o usuário do RAM que deseja autorizar, por exemplo,
new_ram_user@.... Na coluna Operation, clique em Add Permissions.No painel Add Authorization, pesquise e selecione a política de permissões criada na Etapa 2 (
DataWorksRAMPolicyforDataStudio) e confirme a autorização.
Para autorizar vários usuários do RAM, repita esta etapa para cada usuário que precisar dessa permissão.
Próximas etapas
Após concluir a autorização, faça logon com a conta new_ram_user@... e acesse a página do Data Studio. Em seguida, utilize a associated role para executar tarefas em nós compatíveis. Para mais informações, consulte Configure an associated role for a node in scheduling.
Para obter uma lista dos nós compatíveis, consulte a interface do usuário.