Gestione los cuadros de mando con el AWS CLI - AWS CloudTrail

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Gestione los cuadros de mando con el AWS CLI

En esta sección, se describen distintos comandos que puede ejecutar para administrar sus paneles, como obtener un panel, enumerar sus paneles, actualizar un panel.

Cuando utilice elAWS CLI, recuerde que sus comandos se ejecutan en la Región de AWS configuración de su perfil. Si desea ejecutar los comandos en otra región, cambie la región predeterminada de su perfil o utilice el parámetro --region con el comando.

Obtenga un panel con AWS CLI

Ejecute el comando get-dashboard para volver a un panel. Especifique el --dashboard-id mediante el ARN del panel o el nombre del panel.

aws cloudtrail get-dashboard --dashboard-id arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash

Enumere los paneles con la AWS CLI

Ejecute el comando list-dashboards para enumerar los paneles de su cuenta.

  • Incluya el parámetro --type para ver solo los paneles CUSTOM o MANAGED.

  • Incluya el parámetro --max-results para limitar la cantidad de resultados. Los valores válidos son del 1 al 100.

  • Incluya los --name-prefix para volver a los paneles que coincidan con el prefijo especificado.

En el ejemplo siguiente, se muestran todos los paneles.

aws cloudtrail list-dashboards

En este ejemplo, se muestran solo los paneles de CUSTOM.

aws cloudtrail list-dashboards --type CUSTOM

En el siguiente ejemplo, se muestran solo los paneles de MANAGED.

aws cloudtrail list-dashboards --type MANAGED

En el último ejemplo se enumeran los paneles que coinciden con el prefijo especificado.

aws cloudtrail list-dashboards --name-prefix ExamplePrefix

Adjunte una política basada en recursos a un banco de datos o un panel de control de eventos con la AWS CLI

Ejecute el comando put-resource-policy para aplicar una política basada en recursos a un almacén de datos de eventos o panel.

Asocie una política basada en recursos a un almacén de datos de eventos

Para ejecutar las consultas en un panel durante una actualización manual o programada, debe asociar una política basada en recursos a cada almacén de datos de eventos que esté asociado a un widget en el panel. Esto permite a CloudTrail Lake ejecutar las consultas en tu nombre. Para obtener más información sobre la política basada en recursos, consulte Ejemplo: CloudTrail permitir la ejecución de consultas para actualizar un panel.

En el siguiente ejemplo se asocia la política basada en recursos a un almacén de datos de eventos. account-idSustitúyalo por tu ID de cuenta, eds-arn por el ARN del almacén de datos del evento para el que CloudTrail se ejecutarán las consultas y por el dashboard-arn ARN del panel de control.

aws cloudtrail put-resource-policy \ --resource-arn eds-arn \ --resource-policy '{"Version": "2012-10-17", "Statement": [{"Sid": "EDSPolicy", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "cloudtrail:StartQuery", "Condition": { "StringEquals": { "AWS:SourceArn": "dashboard-arn", "AWS:SourceAccount": "account-id"}}} ]}'

Asociar una política basada en recursos a un panel

Para establecer un programa de actualización para un panel, debe adjuntar una política basada en recursos al panel para que CloudTrail Lake pueda actualizar el panel en su nombre. Para obtener más información sobre la política basada en recursos, consulte Ejemplo de política basada en recursos para un panel.

En el siguiente ejemplo se asocia una política basada en recursos a un panel. account-idSustitúyala por tu ID de cuenta y dashboard-arn por el ARN del panel de control.

aws cloudtrail put-resource-policy \ --resource-arn dashboard-arn \ --resource-policy '{"Version": "2012-10-17", "Statement": [{"Sid": "DashboardPolicy", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "cloudtrail:StartDashboardRefresh", "Condition": { "StringEquals": { "AWS:SourceArn": "dashboard-arn", "AWS:SourceAccount": "account-id"}}}]}'

Actualice manualmente un panel de control con el AWS CLI

Ejecute el comando start-dashboard-refresh para actualizar de manera manual el panel. Antes de ejecutar este comando, debe asociar una política basada en recursos a cada almacén de datos de eventos asociado a un widget de panel.

En el siguiente ejemplo, se muestra cómo actualizar de manera manual un panel personalizado.

aws cloudtrail start-dashboard-refresh \ --dashboard-id dashboard-id \ --query-parameter-values '{"$StartTime$": "2024-11-05T10:45:24.00Z"}'

En el siguiente ejemplo, se muestra cómo actualizar de manera manual un panel administrado. Como los paneles gestionados se configuran mediante CloudTrail, la solicitud de actualización debe incluir el ID del almacén de datos del evento en el que se ejecutarán las consultas.

aws cloudtrail start-dashboard-refresh \ --dashboard-id dashboard-id \ --query-parameter-values '{"$StartTime$": "2024-11-05T10:45:24.00Z", "$EventDataStoreId$": "eds-id"}'

Actualice un panel con AWS CLI

Ejecute el comando update-dashboard para actualizar un panel. Puede actualizar el panel para establecer un programa de actualización, habilitar o deshabilitar un programa de actualización, modificar los widgets y habilitar o deshabilitar la protección contra la terminación.

Actualice el programa de actualización con el AWS CLI

En el ejemplo siguiente, se actualiza el programa de actualización de un panel personalizado conocido como AccountActivityDashboard.

aws cloudtrail update-dashboard --dashboard-id AccountActivityDashboard \ --refresh-schedule '{"Frequency": {"Unit": "HOURS", "Value": 6}, "Status": "ENABLED"}'

Desactive la protección de terminación y el programa de actualización en un panel personalizado con el AWS CLI

En el siguiente ejemplo, se deshabilita la protección contra la terminación de un panel personalizado conocido como AccountActivityDashboard para permitir eliminarlo. También deshabilita el programa de actualización.

aws cloudtrail update-dashboard --dashboard-id AccountActivityDashboard \ --refresh-schedule '{ "Status": "DISABLED"}' \ --no-termination-protection-enabled

Agregar un widget a un panel personalizado

En el siguiente ejemplo, se agrega un widget nuevo conocido como TopServices al panel personalizado denominado AccountActivityDashboard. La matriz de widgets incluye los dos widgets que ya se crearon para el panel y el widget nuevo.

nota

En este ejemplo, ? está rodeado de comillas simples porque se utiliza con eventTime. Según el sistema operativo que utilice, es posible que necesite poner comillas de escape entre las comillas simples. Para obtener más información, consulte Uso de entrecomillado y literales con cadenas en la AWS CLI.

aws cloudtrail update-dashboard --dashboard-id AccountActivityDashboard \ --widgets '[ { "ViewProperties": { "Height": "2", "Width": "4", "Title": "TopErrors", "View": "Table" }, "QueryStatement": "SELECT errorCode, COUNT(*) AS eventCount FROM eds WHERE eventTime > '?' AND eventTime < '?' AND (errorCode is not null) GROUP BY errorCode ORDER BY eventCount DESC LIMIT 100", "QueryParameters": ["$StartTime$", "$EndTime$"] }, { "ViewProperties": { "Height": "2", "Width": "4", "Title": "MostActiveRegions", "View": "PieChart", "LabelColumn": "awsRegion", "ValueColumn": "eventCount", "FilterColumn": "awsRegion" }, "QueryStatement": "SELECT awsRegion, COUNT(*) AS eventCount FROM eds where eventTime > '?' and eventTime < '?' GROUP BY awsRegion ORDER BY eventCount LIMIT 100", "QueryParameters": ["$StartTime$", "$EndTime$"] }, { "ViewProperties": { "Height": "2", "Width": "4", "Title": "TopServices", "View": "BarChart", "LabelColumn": "service", "ValueColumn": "eventCount", "FilterColumn": "service", "Orientation": "Vertical" }, "QueryStatement": "SELECT replace(eventSource, '.amazonaws.com') AS service, COUNT(*) as eventCount FROM eds WHERE eventTime > '?' AND eventTime < '?' GROUP BY eventSource ORDER BY eventCount DESC LIMIT 100", "QueryParameters": ["$StartTime$", "$EndTime$"] } ]'