Um trabalho de envio de dados do MaxCompute (nova versão) usa a função padrão para enviar dados de um Logstore para uma tabela do MaxCompute. Autorize essa função quando os projetos do Simple Log Service e do MaxCompute pertencerem à mesma conta Alibaba Cloud.
Pré-requisitos
Se você usar um usuário RAM, verifique se ele tem as permissões necessárias para gerenciar a autorização de funções RAM.
Adicione seu projeto do MaxCompute ao DataWorks como uma source de dados do MaxCompute. Para mais informações, consulte Associate a MaxCompute compute resource.
Procedimento
Se os projetos do Simple Log Service e do MaxCompute estiverem na mesma conta Alibaba Cloud, clique em Cloud Resource Access Authorization para criar a função AliyunLogDefaultRole e adicione-a ao workspace do MaxCompute como membro.
-
Modifique a política de confiança da função RAM. Para mais informações, consulte Modify the trust policy of a RAM role.
Substitua a política de confiança existente pelo conteúdo a seguir.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com", "dataworks.aliyuncs.com" ] } } ], "Version": "1" } -
Adicione a função RAM como membro do workspace.
Faça login no DataWorks console.
No canto superior esquerdo da página, selecione uma região.
No painel de navegação à esquerda, clique em Workspace.
Na página Workspaces, localize o workspace desejado e clique em Manage na coluna Actions.
Na página Workspace Settings, clique em Workspace Members and Roles. Na aba Workspace Members, clique em Add Members.
-
Na caixa de diálogo Add Members, selecione a conta atual e a função AliyunLogDefaultRole. Siga as instruções na tela para concluir o processo.
Na seção Batch Set Roles, selecione Developer. Para mais informações, consulte Grant permissions to other users.
-
Conceda permissões à função AliyunLogDefaultRole para operar em tabelas do MaxCompute.
Acesse o MaxCompute console e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha . Na página Project Management, clique em Manage na coluna Actions do projeto alvo.
-
Na página de gerenciamento de projetos do MaxCompute, clique em Role Permissions. Na aba Role Permissions, use o filtro Role Level para selecionar o nível do projeto e visualizar a lista de funções. A lista tem três colunas: Role Name, Role Type e Actions. A função admin (tipo admin) permite Manage Members. Já uma função personalizada como role_project_admin (tipo resource) permite Manage Members, Edit Role e Delete. Clique em Create project-level role para criar uma função.
Se ocorrer um erro, use sua conta Alibaba Cloud para adicionar o usuário RAM atual ao projeto do MaxCompute. Localize a função admin na lista e clique em Manage Members. Na caixa de diálogo Manage Members, selecione o usuário RAM atual e siga as instruções na tela para adicioná-lo. A mensagem de erro é
[403] com.aliyun.odps.OdpsException: ODPS-0420095: Access Denied - Authorization Failed [4003]e o código de erro é NoMCPermission. Isso indica que o usuário RAM atual não tem permissão para executar operações de segurança no projeto. Na lista de funções, localize role_project_admin e clique em Manage Members.
Na caixa de diálogo Manage Members, selecione sua conta Alibaba Cloud e a função AliyunLogDefaultRole e siga as instruções para adicioná-las.
Localize role_project_admin na lista de funções e clique em Edit Role.
Na caixa de diálogo Edit Role, na aba Table, selecione a tabela do MaxCompute desejada e conceda as permissões Describe, Alter e Update.
ImportanteAs permissões concedidas nas etapas anteriores aplicam-se apenas à tabela do MaxCompute especificada. Para conceder acesso a todas as tabelas do projeto atual do MaxCompute, adicione sua conta Alibaba Cloud e a função
AliyunLogDefaultRoleà função admin. Localize a função admin na lista e clique em Manage Members. Na caixa de diálogo Manage Members, selecione sua conta Alibaba Cloud e a funçãoAliyunLogDefaultRolee siga as instruções para adicioná-las.
-
Crie um trabalho de envio de dados do MaxCompute.
Após concluir a autorização, crie um trabalho de envio de dados do MaxCompute (nova versão). Em Write Permissions on MaxCompute, selecione Default Role. O trabalho assumirá a função
AliyunLogDefaultRolepara enviar dados à tabela do MaxCompute. Para mais informações, consulte Create a MaxCompute data shipping job (new version).