Este tema describe cómo compartir con otros usuarios las páginas de resultados de consulta y análisis, así como los paneles de Simple Log Service. También explica cómo insertar las páginas de la consola de Simple Log Service en sistemas de terceros. De este modo, los usuarios consultan sus registros sin necesidad de introducir una contraseña ni iniciar sesión. Las URL de las páginas compartidas se denominan URL sin contraseña y sin inicio de sesión.
Contexto
Un ticket es un token válido durante un periodo breve que se utiliza para generar una URL sin contraseña y sin inicio de sesión. Cuando un usuario obtiene esta URL, accede directamente a las páginas de consulta y análisis o a los paneles especificados. No necesita iniciar sesión en la consola de Simple Log Service con una cuenta de Alibaba Cloud.
Procedimiento:
Otorgue los permisos obligatorios a un usuario de Resource Access Management (RAM).
Obtenga la URL de una página de la consola de Simple Log Service.
Llame a la operación
CreateTicketpara obtener unticket.Genere una URL sin contraseña y sin inicio de sesión a partir del
tickety de la URL de la página de la consola de Simple Log Service.
En una URL sin contraseña y sin inicio de sesión, las operaciones disponibles en la página de destino varían según los permisos de quien llama a la operación CreateTicket en Simple Log Service. Para reducir los riesgos de seguridad de los datos al llamar a la operación CreateTicket con una cuenta de Alibaba Cloud, se recomienda usar un usuario de RAM para invocar la operación CreateTicket. Otorgue permisos a dicho usuario de RAM conforme al principio de privilegio mínimo. Para más información, consulte Step 1: Grant the required permissions to a RAM user.
Generar una URL sin contraseña y sin inicio de sesión
Paso 1: Otorgar los permisos obligatorios a un usuario de RAM
Si utiliza una cuenta de Alibaba Cloud, omita este paso y continúe con el paso 2.
-
Otorgue al usuario de RAM los permisos sobre recursos como proyectos y logstores, además de los permisos para llamar a la operación CreateTicket.
Para más información sobre cómo otorgar permisos en recursos específicos, consulte RAM custom policy examples.
-
Para más información sobre cómo otorgar permisos para llamar a la operación CreateTicket, consulte Manage RAM user permissions y Create a custom policy.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "log:CreateTicket", "Resource": "acs:log:*:*:ticket/*" } ] }
Paso 2: Obtener la URL de una página de la consola de Simple Log Service
-
Página de consulta y análisis:
https://sls.console.alibabacloud.com/lognext/project/<Project name>/logsearch/<Logstore name>?slsRegion=<Region where the project resides>&hideTopbar=true&hideSidebar=true&ignoreTabLocalStorage=truePara más información sobre los nombres de proyecto, consulte Manage projects. Para conocer los detalles de los nombres de logstore, consulte Manage Logstores. Para ver las regiones compatibles con los proyectos, revise la columna Region ID en 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 del panel:
ImportanteEl Dashboard ID solo aparece en la URL de la página del panel. Este identificador no es el nombre que se muestra en el panel. Puede compartir páginas de panel sin contraseña desde la consola de Simple Log Service. Para más información, 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
Paso 3: Obtener un ticket
Si desea llamar a la operación CreateTicket para obtener un ticket, debe usar el endpoint de Simple Log Service correspondiente a la región China (Shanghai) o Singapore. Una vez obtenido el ticket, lo utilizará sin importar la región.
Un ticket se usa únicamente una vez. El periodo de validez predeterminado es de un día y el máximo es de 30 días. Para más información sobre cómo obtener un ticket de forma dinámica, consulte How does the system dynamically obtain a ticket?

Paso 4: Generar una URL sin contraseña y sin inicio de sesión
-
Concatene el ticket obtenido en el paso 3 con la URL de la página de la consola de Simple Log Service obtenida en el paso 2 para generar la URL sin contraseña y sin inicio de sesión.
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 -
Compruebe la URL sin contraseña y sin inicio de sesión. Introduzca la URL en la barra de direcciones de su navegador para probarla. Si logra acceder a la página de la consola de Simple Log Service, la URL es válida.
AvisoLa primera vez que acceda a una URL sin contraseña y sin inicio de sesión en un navegador, podrá comprobarla. Al terminar la prueba, el ticket dejará de ser válido. Deberá llamar nuevamente a la operación CreateTicket para obtener un nuevo ticket.
Se recomienda copiar la URL sin contraseña y sin inicio de sesión en un archivo y transferir dicho archivo. Si envía la URL directamente a un software de terceros, podría invalidarse después de que el programa la lea.
Preguntas frecuentes
¿Cómo amplío el periodo de validez de las URL de las páginas de consola insertadas?
Para más información, consulte Extend the validity periods of URLs to embedded console pages.
¿Cómo se genera un ticket de forma dinámica?
Si desea insertar páginas de la consola de Simple Log Service en sistemas de terceros, debe llamar de forma dinámica a la operación CreateTicket desde su aplicación para obtener un ticket periódicamente. Usar un par de AccessKey de un usuario de RAM para llamar a la operación CreateTicket simplifica el procedimiento, pero implica riesgos de seguridad elevados. Se recomienda emplear un rol de RAM que cuente con un token de Security Token Service (STS) para invocar la operación CreateTicket. Esto reduce los riesgos de seguridad.
Create a RAM user y create a RAM role whose trusted entity is an Alibaba Cloud account.
Otorgue el permiso AliyunSTSAssumeRoleAccess al usuario de RAM. Conceda al rol de RAM los permisos para llamar a la CreateTicket operación, junto con los permisos relacionados con Simple Log Service. Para más información, consulte Manage permissions for a RAM role y RAM custom policy examples.
-
Utilice el rol de RAM para llamar a la operación CreateTicket.
Use el usuario de RAM para llamar a la operación AssumeRole y obtener un token de STS junto con un par de AccessKey. Un par de AccessKey consta de un AccessKey ID y un AccessKey secret. Los parámetros AccessKeyId y AccessKeySecret indican el AccessKey ID y el AccessKey secret, respectivamente. El parámetro SecurityToken indica el token de STS.
-
Asuma el rol de RAM mediante el usuario de RAM con base en los parámetros SecurityToken, AccessKeySecret y AccessKeyId. Después, llame a la operación CreateTicket para obtener un ticket.
Genere URL sin contraseña y sin inicio de sesión con base en los tickets obtenidos y permita distintas operaciones.
¿Por qué aparece el error InvalidMethod al llamar a la operación CreateTicket con el SDK de Simple Log Service?
Debe usar el endpoint de Simple Log Service de la región China (Shanghai) o Singapore para llamar a la operación CreateTicket. Sin embargo, una vez obtenido el ticket, lo utilizará sin importar la región.
¿Cuáles son los límites de los tickets?
El periodo de validez predeterminado de un ticket es de un día y el máximo es de 30 días.
Un ticket permite acceder a una URL únicamente desde el mismo navegador o host. Por ejemplo, si accede a una URL sin contraseña y sin inicio de sesión en el navegador A mediante un ticket, seguirá teniendo acceso hasta que expire el periodo de validez. No obstante, no podrá usar ese mismo ticket para acceder a la URL desde el navegador B.
No existe límite en la cantidad total de tickets. Cada cuenta puede llamar a la operación CreateTicket hasta 10 veces por segundo.
¿Cuáles son los límites de las cookies de terceros?
Es posible insertar páginas de la consola y compartir datos de registros sin recurrir a cookies de terceros. Para más información, consulte Embed console pages and share log data (new version).
¿Qué velocidad de carga tienen las páginas insertadas?
Simple Log Service ofrece versiones antigua y nueva de la función para insertar páginas de la consola y compartir datos de registros. La versión nueva carga las páginas insertadas con mayor rapidez. Para más información, consulte Embed console pages and share log data (new version).
¿Qué hago si quiero abrir varias páginas insertadas que admitan los mismos permisos de operación?
Obtenga un ticket y actualice las páginas insertadas dentro del mismo navegador. Si el ticket caduca, genere uno nuevo y sustituya el vencido en todas las páginas.
-
Los navegadores o computadoras distintos se consideran usuarios diferentes. Un ticket se usa una sola vez. Si cambia de navegador o de computadora, no podrá reutilizar el mismo ticket y aparecerá el siguiente mensaje de error:
{"code":"TicketUnavailable","message":"There are no more tickets available.","requestId":"xxxxxx","success":false}
¿Qué hago si quiero abrir varias páginas insertadas que admitan permisos de operación distintos?
Obtenga varios tickets asociados a permisos diferentes. En este caso, solo actualizará las páginas insertadas que usen el último ticket. Esto ocurre porque el sistema registra una única cookie como credencial del usuario actual y actualiza las páginas exclusivamente con esa cookie registrada, la cual corresponde al último ticket.
Si no actualiza las páginas, no se requieren cookies. Podrá alternar entre páginas y ejecutar distintas operaciones en cada una.
-
Si actualiza una página insertada que no utiliza el último ticket, aparecerá el siguiente mensaje de error:
{"code":"TicketUnavailable","message":"There are no more tickets available.","requestId":"xxxxxx","success":false}