Todos os produtos
Search
Central de documentação

Simple Log Service:Acessar dados usando uma função personalizada

Última atualização: Sep 22, 2026

Simple Log Service suporta funções padrão e personalizadas para trabalhos de transformação de dados. Para usar uma função personalizada, conceda a ela permissões de leitura e gravação nos logstores relevantes.

Pré-requisitos

Uma função do RAM deve estar criada. Para mais informações, consulte Create a RAM role for a trusted Alibaba Cloud service.

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

  • Verifique a política de confiança da função do RAM. Certifique-se de que o elemento Service contenha pelo menos "log.aliyuncs.com".

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "log.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }

Conceder acesso de somente leitura ao logstore de origem

Conceda à função do RAM acesso de leitura ao logstore de origem. Especifique essa função ao Create a data transformation job.

  1. Faça logon no RAM console com a sua conta Alibaba Cloud ou com um usuário do RAM que tenha direitos administrativos.

  2. Crie uma política personalizada. Neste exemplo, a política log-etl-source-reader-policy concede permissões de somente leitura a um logstore de origem. Para mais informações, consulte Using the script editor.

    Na aba JSON da página Create Policy, use o documento de política com correspondência exata ou correspondência aproximada para autorização e substitua o script existente no editor de código.

    Correspondência exata para autorização

    Neste exemplo, o nome do projeto de origem é log-project-prod e o nome do logstore de origem é access_log. Substitua os nomes do projeto e do logstore de acordo com as necessidades do seu negócio.

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:ListShards",
            "log:GetCursorOrData",
            "log:GetConsumerGroupCheckPoint",
            "log:UpdateConsumerGroup",
            "log:ConsumerGroupHeartBeat",
            "log:ConsumerGroupUpdateCheckPoint",
            "log:ListConsumerGroup",
            "log:CreateConsumerGroup"
          ],
          "Resource": [
            "acs:log:*:*:project/log-project-prod/logstore/access_log",
            "acs:log:*:*:project/log-project-prod/logstore/access_log/*"
          ],
          "Effect": "Allow"
        }
      ]
    }

    Correspondência aproximada para autorização

    Neste exemplo, os nomes dos projetos de origem são log-project-dev-a, log-project-dev-b e log-project-dev-c, e os nomes dos logstores de origem são app_a_log, app_b_log e app_c_log. Substitua os nomes dos projetos e dos logstores de acordo com as necessidades do seu negócio.

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:ListShards",
            "log:GetCursorOrData",
            "log:GetConsumerGroupCheckPoint",
            "log:UpdateConsumerGroup",
            "log:ConsumerGroupHeartBeat",
            "log:ConsumerGroupUpdateCheckPoint",
            "log:ListConsumerGroup",
            "log:CreateConsumerGroup"
          ],
          "Resource": [
            "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log",
        "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log/*"
          ],
          "Effect": "Allow"
        }
      ]
    }
  3. Anexe a política personalizada à função do RAM. Para mais informações, consulte Manage permissions for a RAM role.

Conceder permissão de gravação ao logstore de destino (mesma conta)

Se os logstores de origem e de destino pertencerem à mesma conta Alibaba Cloud, conceda à função do RAM acesso de gravação ao logstore de destino. Especifique essa função ao Create a data transformation job.

  1. Crie uma política personalizada. Neste exemplo, a política log-etl-target-writer-policy concede permissões para gravar os resultados da transformação em um logstore de destino. Para mais informações, consulte Using the script editor.

    Na aba JSON da página Create Policy, use o documento de política com correspondência exata ou correspondência aproximada para autorização e substitua o script existente no editor de código.

    Correspondência exata para autorização

    Neste exemplo, o nome do projeto de destino é log-project-prod e o nome do logstore de destino é access_log_output. Substitua os nomes do projeto e do logstore de acordo com as necessidades do seu negócio.

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:Post*"
          ],
          "Resource": "acs:log:*:*:project/log-project-prod/logstore/access_log_output",
          "Effect": "Allow"
        }
      ]
    }

    Correspondência aproximada para autorização

    Neste exemplo, os nomes dos projetos de destino são log-project-dev-a, log-project-dev-b e log-project-dev-c, e os nomes dos logstores de destino são app_a_log_output, app_b_log_output e app_c_log_output. Substitua os nomes dos projetos e dos logstores de acordo com as necessidades do seu negócio.

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:Post*",
            "log:BatchPost*"
          ],
           "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log_output",
          "Effect": "Allow"
        }
      ]
    }
  2. Anexe a política personalizada à função do RAM. Para mais informações, consulte Manage permissions for a RAM role.

Conceder permissão de gravação ao logstore de destino (entre contas)

Se os logstores de origem e de destino pertencerem a contas Alibaba Cloud diferentes, modifique a política de confiança da função do RAM da conta de destino para permitir o acesso entre contas. Os passos a seguir usam a Conta A (origem) e a Conta B (destino) como exemplo.

Importante

Antes de começar, conceda à função do RAM na Conta B acesso de gravação ao logstore de destino, conforme descrito em Grant write permission to the destination logstore (same account).

  1. Faça logon no RAM console com a sua conta Alibaba Cloud ou com um usuário do RAM que tenha direitos administrativos.

  2. No painel de navegação à esquerda, escolha Identities > Roles.

  3. Localize a função do RAM de destino e clique nela.

  4. Na aba Trust Policy, clique em Edit Trust Policy.

    Adicione the ID of Alibaba Cloud Account A to which the source logstore belongs ao campo Service. Substitua the ID of Alibaba Cloud Account A to which the source logstore belongs pelo ID real da conta no Account Management. Essa política permite que a Conta A use um token temporário do SLS para operar nos recursos da Conta B.

    {
        "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "Alibaba Cloud account ID of Account A@log.aliyuncs.com"
                    ]
                }
            }
        ],
        "Version": "1"
    }
  5. Obtenha o ARN (Alibaba Cloud Resource Name) da função do RAM. Para mais informações, consulte View a RAM role.

Próximos passos

Especifique o ARN da função do RAM ao Create a data transformation job.