Todos os produtos
Search
Central de documentação

Simple Log Service:Autorize uma função personalizada para gravar no MaxCompute (mesma conta)

Última atualização: Sep 22, 2026

Um job de envio de dados do MaxCompute (nova versão) transfere dados de um Logstore para uma tabela do MaxCompute assumindo uma função RAM. Você pode autorizar uma função RAM personalizada para essa operação quando seus projetos do MaxCompute e do Simple Log Service pertencem à mesma conta Alibaba Cloud.

Pré-requisitos

  • Se você utiliza um usuário RAM, verifique se ele possui permissão para gerenciar funções RAM.

  • Adicione seu projeto do MaxCompute como fonte de dados do MaxCompute no DataWorks. Para obter mais informações, consulte Bind MaxCompute computing resources.

Procedimento

Conceda permissões de gravação no MaxCompute a uma função RAM adicionando-a como membro do workspace. O job de envio de dados poderá então assumir essa função para gravar dados de um Logstore na tabela de destino do MaxCompute.

  1. Crie uma função RAM, por exemplo, MaxComputeShipRole. Para obter mais informações, consulte Create a RAM role for an Alibaba Cloud service.

    Importante
    • Ao criar a função RAM, defina Principal Type como Cloud Service e Principal Name como Simple Log Service.

    • Verifique a política de confiança da função RAM. Confirme que o elemento Service contém pelo menos "log.aliyuncs.com".

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "log.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }
  2. Modifique a política de confiança da função RAM. Para obter 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"
    }
  3. Adicione a função RAM como membro do workspace.

    1. Faça logon no console do DataWorks.

    2. No canto superior esquerdo da página, selecione uma região.

    3. No painel de navegação à esquerda, clique em Workspace. Na página Workspaces, localize o workspace desejado e clique em Manage na coluna Actions.

    4. Na página Workspace, na aba Workspace Members and Roles, clique em Add Member.

    5. Na caixa de diálogo Add Member, adicione a conta de logon atual e a função RAM desejada.

      Na seção Batch Set Roles, selecione Developer. Para obter mais informações, consulte Authorize permissions to other users.

    6. Conceda à função RAM permissões para gerenciar a tabela do MaxCompute.

      1. Faça logon no console do MaxCompute e selecione uma região no canto superior esquerdo.

      2. No painel de navegação à esquerda, escolha Workspace > Project Management. Na página Project Management, clique em Manage na coluna Actions do projeto desejado.

      3. Na página de gerenciamento do projeto MaxCompute, clique em Role Permissions. Na aba Role Permissions, use o filtro Role Level para selecionar o nível de projeto e visualize a lista de funções. A lista possui três colunas: Role Name, Role Type e Actions. A função admin (tipo admin) oferece a ação Manage Members. Uma função personalizada como role_project_admin (tipo resource) oferece as ações Manage Members, Edit Role e Delete. Clique em Create project-level role para criar uma função.

        Se ocorrer um erro, utilize sua conta Alibaba Cloud para adicionar o usuário RAM atual ao projeto MaxCompute. Localize a função admin na lista de funções 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, o que indica que o usuário RAM atual não possui permissões para executar operações de segurança no projeto.

      4. Na lista de funções, localize a função role_project_admin e clique em Manage Members.

      5. Na caixa de diálogo Member Management, adicione a conta de logon atual e a função RAM desejada, como MaxComputeShipRole.

      6. Na lista de funções, localize a função role_project_admin e clique em Edit Role.

      7. Na caixa de diálogo Edit Role, na aba Table, selecione a tabela de destino do MaxCompute e conceda as permissões Describe, Alter e Update.

    Importante

    As etapas anteriores concedem permissões apenas na tabela do MaxCompute especificada. Para que a função RAM tenha permissões em todas as tabelas do projeto MaxCompute atual, conceda a função admin à conta de logon atual e à função RAM desejada. Para isso, clique em Manage Members da função Member Management na lista de funções. Na caixa de diálogo Member Management, adicione a conta de logon atual e a função RAM desejada.

  4. Crie um job de envio de dados do MaxCompute.

    Após concluir a autorização, crie um job de envio de dados (nova versão). Nas configurações, defina Write Permissions on MaxCompute como Custom Role e insira o Alibaba Cloud Resource Name (ARN) da função RAM personalizada, como acs:ram::10**12:role/maxcomputeshiprole. Isso permite que o job de envio de dados assuma a função RAM personalizada e envie dados para a tabela do MaxCompute. Para obter mais informações, consulte Create a MaxCompute data shipping job (new version).

Perguntas frequentes