Este tópico descreve como compartilhar as páginas de resultados de consulta e análise e as páginas de painel do Simple Log Service com outros usuários, além de como incorporar as páginas do console do Simple Log Service em sistemas de terceiros. Dessa forma, os usuários podem visualizar seus logs no modo sem senha e sem login. As URLs das páginas compartilhadas são chamadas de URLs sem senha e sem login.
Informações de fundo
Um ticket é um token válido por um curto período de tempo. Ele é usado para gerar uma URL sem senha e sem login. Após obter uma URL sem senha e sem login, o usuário pode acessar diretamente as páginas de consulta e análise ou de painel especificadas, sem precisar fazer login no console do Simple Log Service com uma conta Alibaba Cloud.
Procedimento:
Conceda as permissões necessárias a um usuário do Resource Access Management (RAM).
Obtenha a URL de uma página do console do Simple Log Service.
Chame a operação
CreateTicketpara obter umticket.Gere uma URL sem senha e sem login com base no
tickete na URL da página do console do Simple Log Service.
Para uma URL sem senha e sem login, as operações que podem ser executadas na página de destino variam de acordo com as permissões do chamador da operação CreateTicket no Simple Log Service. Para mitigar os riscos de segurança de dados ao usar uma conta Alibaba Cloud para chamar a operação CreateTicket, recomendamos o uso de um usuário RAM para chamar a operação CreateTicket e a concessão de permissões a esse usuário com base no princípio do menor privilégio. Para mais informações, consulte Step 1: Grant the required permissions to a RAM user.
Gere uma URL sem senha e sem login
Etapa 1: Conceda as permissões necessárias a um usuário RAM
Caso utilize uma conta Alibaba Cloud, pule esta etapa e acesse a Etapa 2.
-
Conceda ao usuário RAM as permissões sobre recursos como projetos e Logstores, além das permissões para chamar a operação CreateTicket.
Para mais informações sobre como conceder permissões em recursos específicos, consulte RAM custom policy examples.
-
Para mais informações sobre como conceder permissões para chamar a operação CreateTicket, consulte Manage RAM user permissions e Create a custom policy.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "log:CreateTicket", "Resource": "acs:log:*:*:ticket/*" } ] }
Etapa 2: Obtenha a URL de uma página do console do Simple Log Service
-
Página de consulta e análise:
https://sls.console.alibabacloud.com/lognext/project/<Project name>/logsearch/<Logstore name>?slsRegion=<Region where the project resides>&hideTopbar=true&hideSidebar=true&ignoreTabLocalStorage=truePara mais informações sobre nomes de projetos, consulte Manage projects. Para mais informações sobre nomes de Logstores, consulte Manage Logstores. Para mais informações sobre as regiões suportadas para projetos, consulte a coluna Region ID em Endpoints.
-
Página de consulta:
https://sls.console.alibabacloud.com/lognext/project/<Project name>/logsearch/<Logstore name>?slsRegion=<Region where the project resides>&isShare=true&hideTopbar=true&hideSidebar=true&ignoreTabLocalStorage=true -
Página de painel:
ImportanteDashboard ID é exibido apenas na URL de uma página de painel. O ID não é o nome exibido no painel. Você pode compartilhar páginas de painel no modo sem senha no console do Simple Log Service. Para mais informações, consulte Share dashboards or charts without passwords.
https://sls.console.alibabacloud.com/lognext/project/<Project name>/dashboard/<Dashboard ID>?slsRegion=<Region where the project resides>&isShare=true&hideTopbar=true&hideSidebar=true&ignoreTabLocalStorage=true
Etapa 3: Obtenha um ticket
Para chamar a operação CreateTicket e obter um ticket, você deve usar o endpoint do Simple Log Service para a região China (Shanghai) ou Singapore. Após obter o ticket, você pode usá-lo independentemente da região.
Um ticket pode ser usado apenas uma vez. O período de validade padrão é de um dia, e o período máximo é de 30 dias. Para mais informações sobre como obter um ticket dinamicamente, consulte How does the system dynamically obtain a ticket?

Etapa 4: Gere uma URL sem senha e sem login
-
Concatene o ticket obtido na Etapa 3 e a URL da página do console do Simple Log Service obtida na Etapa 2 para gerar uma URL sem senha e sem login.
https://sls.console.alibabacloud.com/lognext/project/<Project name>/dashboard/<Dashboard ID>?slsRegion=<Region where the project resides>&sls_ticket=eyJ***************.eyJ******************.KUT****************&isShare=true&hideTopbar=true&hideSidebar=true&ignoreTabLocalStorage=true -
Teste a URL sem senha e sem login. Insira a URL na barra de endereços do seu navegador para testá-la. Se você conseguir acessar a página do console do Simple Log Service, a URL é válida.
AvisoNa primeira vez que você acessar uma URL sem senha e sem login em um navegador, poderá testar a URL. Após a conclusão do teste, o ticket se torna inválido. Você deve chamar a operação CreateTicket novamente para obter um novo ticket.
Recomendamos copiar a URL sem senha e sem login para um arquivo e transferir o arquivo. Se você enviar diretamente a URL sem senha e sem login para um software de terceiros, ela poderá se tornar inválida após o software lê-la.
Perguntas frequentes
Como estender os períodos de validade das URLs para páginas do console incorporadas?
Para mais informações, consulte Extend the validity periods of URLs to embedded console pages.
Como um ticket é gerado dinamicamente?
Para incorporar páginas do console do Simple Log Service em sistemas de terceiros, você deve chamar dinamicamente a operação CreateTicket em sua aplicação para obter um ticket regularmente. Se você usar um par de AccessKey de um usuário RAM para chamar a operação CreateTicket, o procedimento é simples, mas apresenta altos riscos de segurança. Recomendamos o uso de uma função RAM que possua um token do Security Token Service (STS) para chamar a operação CreateTicket. Isso reduz os riscos de segurança.
Create a RAM user e create a RAM role whose trusted entity is an Alibaba Cloud account.
Conceda a permissão AliyunSTSAssumeRoleAccess ao usuário RAM. Conceda as permissões para chamar a CreateTicket operação e as permissões relacionadas ao Simple Log Service à função RAM. Para mais informações, consulte Manage permissions for a RAM role e RAM custom policy examples.
-
Use a função RAM para chamar a operação CreateTicket.
Use o usuário RAM para chamar a operação AssumeRole e obter um token STS e um par de AccessKey. Um par de AccessKey consiste em um AccessKey ID e um AccessKey secret. Os parâmetros AccessKeyId e AccessKeySecret especificam o AccessKey ID e o AccessKey secret. O parâmetro SecurityToken especifica o token STS.
-
Use o usuário RAM para assumir a função RAM com base nos parâmetros SecurityToken, AccessKeySecret e AccessKeyId. Em seguida, chame a operação CreateTicket para obter um ticket.
Gere URLs sem senha e sem login com base nos tickets obtidos e permita operações diferentes.
Por que o erro InvalidMethod é relatado quando uso o SDK do Simple Log Service para chamar a operação CreateTicket?
Você deve usar o endpoint do Simple Log Service para a região China (Shanghai) ou Singapore para chamar a operação CreateTicket. No entanto, após obter o ticket, você pode usá-lo independentemente da região.
Quais são os limites dos tickets?
O período de validade padrão de um ticket é de um dia, e o período máximo é de 30 dias.
Você pode usar um ticket para acessar uma URL apenas no mesmo navegador ou host. Por exemplo, se você acessar uma URL sem senha e sem login no Navegador A usando um ticket, poderá acessar continuamente a URL antes do fim do período de validade do ticket. No entanto, não é possível usar o ticket para acessar a URL no Navegador B.
O número total de tickets é ilimitado. Você pode chamar a operação CreateTicket até 10 vezes por segundo por conta.
Quais são os limites para cookies de terceiros?
Você pode incorporar páginas do console e compartilhar dados de log sem a necessidade de usar cookies de terceiros. Para mais informações, consulte Embed console pages and share log data (new version).
Qual é a velocidade de carregamento das páginas incorporadas?
O Simple Log Service oferece versões antiga e nova do recurso para incorporar páginas do console e compartilhar dados de log. Se você usar a nova versão, as páginas incorporadas poderão ser carregadas mais rapidamente. Para mais informações, consulte Embed console pages and share log data (new version).
O que fazer se eu quiser abrir várias páginas incorporadas que suportam as mesmas permissões de operação?
Você pode obter um ticket e atualizar as páginas incorporadas no mesmo navegador. Se o ticket expirar, obtenha um novo ticket e substitua o ticket expirado pelo novo em todas as páginas.
-
Navegadores ou computadores diferentes são considerados usuários diferentes. Um ticket pode ser usado apenas uma vez. Se você usar um navegador ou computador diferente, não poderá usar o mesmo ticket, e a seguinte mensagem de erro será retornada:
{"code":"TicketUnavailable","message":"There are no more tickets available.","requestId":"xxxxxx","success":false}
O que fazer se eu quiser abrir várias páginas incorporadas que suportam permissões de operação diferentes?
Você pode obter vários tickets associados a permissões diferentes. No entanto, neste caso, você só pode atualizar as páginas incorporadas que usam o último ticket. Isso ocorre porque o sistema registra apenas um cookie como credencial do usuário atual e atualiza as páginas apenas com base no cookie registrado. O cookie registrado corresponde ao último ticket.
Se você não atualizar as páginas, os cookies não serão necessários. Você pode alternar entre as páginas e executar operações diferentes em páginas diferentes.
-
Se você atualizar uma página incorporada que não usa o último ticket, a seguinte mensagem de erro será retornada:
{"code":"TicketUnavailable","message":"There are no more tickets available.","requestId":"xxxxxx","success":false}