O Simple Log Service permite usar a função padrão AliyunLogETLRole ou uma função RAM personalizada para criar tarefas SQL agendadas. Este tópico explica como conceder permissões a uma função RAM personalizada para analisar logs em um logstore de origem e gravar dados em um logstore de destino.
Conceda permissões de análise para o logstore de origem
Faça login no console do RAM com a conta Alibaba Cloud que contém o logstore de origem ou como administrador RAM dessa conta.
-
Crie uma função RAM. Por exemplo, nomeie-a como
QueryLogStoreRole. Para mais informações, consulte Criar uma função RAM para um serviço confiável da Alibaba Cloud.ImportanteAo 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. Certifique-se de que o elemento
Servicecontenha pelo menos"log.aliyuncs.com".{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }
-
Crie uma política personalizada, como
QueryLogStorePolicy, para conceder permissões de análise de logs no logstore de origem. Para mais informações, consulte Criar uma política personalizada no editor JSON.Na aba JSON editor, substitua o conteúdo do editor de políticas por uma política de autorização por correspondência exata ou difusa.
Autorização por correspondência exata
Substitua
{project-name}e{logstore-name}pelos nomes reais do seu projeto e logstore.ImportanteEm políticas personalizadas, o tipo de recurso
logstoreabrange tanto logstores quanto metricstores. Portanto, esta política também se aplica se a origem for um metricstore.{ "Version":"1", "Statement":[ { "Action":[ "log:PostProjectQuery" ], "Resource":[ "acs:log:*:*:project/{project-name}/logstore/{logstore-name}" ], "Effect":"Allow" }, { "Action":[ "log:GetProjectQuery", "log:PutProjectQuery", "log:DeleteProjectQuery" ], "Resource":[ "acs:log:*:*:project/{project-name}" ], "Effect":"Allow" } ] }Autorização por correspondência difusa
Por exemplo, se seus projetos de origem forem
log-project-dev-a,log-project-dev-belog-project-dev-c, e os logstores de origem foremwebsite_a_log,website_b_logewebsite_c_log, use a autorização por correspondência difusa. Substitua os nomes dos projetos e logstores na política conforme o seu cenário real.{ "Version":"1", "Statement":[ { "Action":[ "log:PostProjectQuery" ], "Resource":[ "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log" ], "Effect":"Allow" }, { "Action":[ "log:GetProjectQuery", "log:PutProjectQuery", "log:DeleteProjectQuery" ], "Resource":[ "acs:log:*:*:project/log-project-dev-*" ], "Effect":"Allow" } ] } Anexe a política personalizada
QueryLogStorePolicyà função RAMQueryLogStoreRole. Para mais informações, consulte Gerencie permissões de uma função RAM.
Próximas etapas
Obtenha o Alibaba Cloud Resource Name (ARN) da função RAM. Para mais informações, consulte Visualize uma função RAM.
Ao criar uma tarefa SQL agendada, em SQL Execution Authorization, selecione Custom Role e insira o ARN da função RAM
QueryLogStoreRole. Para mais informações, consulte Criar uma tarefa SQL agendada.
Conceda permissões de gravação para o logstore de destino
Faça login no console do RAM com a conta Alibaba Cloud que contém o logstore de destino ou como administrador RAM dessa conta.
-
Crie uma função RAM. Por exemplo, nomeie-a como
WriteLogStoreRole. Para mais informações, consulte Criar uma função RAM para um serviço confiável da Alibaba Cloud.ImportanteAo 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. Certifique-se de que o elemento
Servicecontenha pelo menos"log.aliyuncs.com".{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }
-
Crie uma política personalizada, como
WriteLogStorePolicy, para conceder permissões de gravação de dados no logstore de destino. Para mais informações, consulte Criar uma política personalizada no editor JSON.Na aba JSON editor, substitua o conteúdo do editor de políticas por uma política de autorização por correspondência exata ou difusa.
Autorização por correspondência exata
Substitua
{project-name}e{logstore-name}pelos nomes reais do seu projeto e logstore.ImportanteEm políticas personalizadas, o tipo de recurso
logstoreabrange tanto logstores quanto metricstores. Portanto, esta política também se aplica se a origem for um metricstore.{ "Version": "1", "Statement": [ { "Action": [ "log:PostLogStoreLogs", "log:PostProjectQuery" ], "Resource": "acs:log:*:*:project/{project-name}/logstore/{logstore-name}", "Effect": "Allow" } ] }Autorização por correspondência difusa
Por exemplo, para corresponder a projetos de destino como
log-project-dev-a,log-project-dev-belog-project-dev-c, e logstores comowebsite_a_log_output,website_b_log_outputewebsite_c_log_output, use a autorização por correspondência difusa. Modifique os nomes dos projetos e logstores na política conforme o seu cenário.{ "Version": "1", "Statement": [ { "Action": [ "log:Post*", "log:BatchPost*" ], "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log_output", "Effect": "Allow" } ] } Anexe a política personalizada
WriteLogStorePolicyà função RAMWriteLogStoreRole. Para mais informações, consulte Gerencie permissões de uma função RAM.-
(Opcional) Se o logstore de origem e o logstore de destino pertencerem a contas Alibaba Cloud diferentes, modifique também a política de confiança da função RAM
WriteLogStoreRole.Na lista de funções RAM, clique em
WriteLogStoreRole.-
Na aba Trust Policy, clique em Edit Trust Policy e substitua o conteúdo do editor pela seguinte política.
ImportanteSubstitua
{source-account-id}pelo ID da conta Alibaba Cloud onde reside o logstore de origem. Encontre o ID da conta no Account Center.{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com", "{source-account-id}@log.aliyuncs.com" ] } } ], "Version": "1" }
Próximas etapas
Obtenha o Alibaba Cloud Resource Name (ARN) da função RAM. Para mais informações, consulte Visualize uma função RAM.
Ao criar uma tarefa SQL agendada, em Write Authorization, selecione Custom Role e insira o ARN da função RAM
WriteLogStoreRole. Para mais informações, consulte Criar uma tarefa SQL agendada.