Tradicionalmente, os nós do DataWorks dependiam da configuração de AccessKeys em texto simples para acessar serviços externos como o OSS. Essa abordagem apresenta riscos de segurança e desafios de gerenciamento. A codificação fixa de um AccessKey permanente gera risco de exposição, o que pode comprometer todos os seus ativos de dados caso a chave seja vazada. Além disso, como o gerenciamento de 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 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 possui três etapas principais: Criar uma função RAM, Criar uma política de permissões e Conceder permissões a um usuário RAM.
Para obter uma explicação detalhada, consulte Apêndice: Fluxo de invocação do STS .
Pré-requisitos
Você deve ter uma conta Alibaba Cloud ou ser um administrador RAM com permissões AliyunRAMFullAccess.
Etapa 1: Criar uma função RAM
Essa função serve como credencial de identidade que o DataWorks assume ao acessar outros recursos da nuvem.
Crie uma função RAM: Faça logon na página Funções do console RAM e clique em CreateRole. 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 o serviço
dataworks.aliyuncs.comassuma essa função. A política é a seguinte:Para mais informações, consulte Modificar a política de confiança de uma função RAM .
{ "Version": "1", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "dataworks.aliyuncs.com" ] } } ] } -
Conceda permissões à função 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 Gerenciar permissões de função RAM .
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: Criar uma política de permissões
Esta política permite que um usuário RAM transfira a função RAM criada na Etapa 1 para o serviço 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 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>" } ] }
|
Ação |
Descrição |
|
|
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 transferir a função especificada para um serviço de nuvem. Substitua os espaços reservados
|
Para mais informações, consulte Criar uma política personalizada .
Clique em Determine e salve a Permission Policy como
DataWorksRAMPolicyforDataStudio.
Etapa 3: Autorizar um usuário RAM
Nesta etapa final, você concede ao usuário final a permissão para transferir a função.
Faça logon na página Usuários do console RAM. Localize o usuário 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 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, use a associated role para executar tarefas em nós compatíveis. Para mais informações, consulte Configurar uma função associada para um nó no agendamento.
Para obter uma lista de nós compatíveis, consulte a interface do usuário.