Crie um painel com o AWS CLI - AWS CloudTrail

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie um painel com o AWS CLI

Esta seção descreve como usar o comando create-dashboard para criar um painel personalizado ou o painel Destaques.

Ao usar oAWS CLI, lembre-se de que seus comandos são Região da AWS executados no configurado para seu perfil. Se você deseja executar os comandos em uma região diferente, altere a região padrão para o seu perfil ou use o parâmetro --region com o comando.

CloudTrailexecuta consultas para preencher os widgets do painel durante uma atualização manual ou programada. CloudTrail devem receber permissões para executar a StartQuery operação em cada armazenamento de dados de eventos associado a um widget do painel. Para fornecer permissões, execute o put-resource-policy comando para anexar uma política baseada em recursos a cada armazenamento de dados de eventos ou edite a política do armazenamento de dados de eventos no CloudTrail console. Para visualizar um exemplo de política, consulte Exemplo: permitir CloudTrail a execução de consultas para atualizar um painel.

Para definir um cronograma de atualização, é CloudTrail necessário conceder permissões para executar a StartDashboardRefresh operação de atualização do painel em seu nome. Para fornecer permissões, execute a put-resource-policy operação para anexar uma política baseada em recursos ao painel ou edite a política do painel no CloudTrail console. Para visualizar um exemplo de política, consulte Exemplo de política baseada em recurso para um painel.

Crie um painel personalizado com o AWS CLI

O procedimento a seguir mostra como criar um painel personalizado, anexar as políticas baseadas em recursos necessárias aos datastores de eventos e ao painel, e atualizar o painel para definir e habilitar uma agenda de atualização.

  1. Execute o comando create-dashboard para criar um painel.

    Ao criar um painel personalizado, você pode transmitir uma matriz com até 10 widgets. Um widget fornece uma representação gráfica dos resultados de uma consulta. Cada widget consiste em ViewProperties, QueryStatement e QueryParameters.

    • ViewProperties: especifica as propriedades do tipo de visão. Para obter mais informações, consulte Visualizar propriedades de widgets.

    • QueryStatement— A consulta CloudTrail é executada quando o painel é atualizado. Você pode consultar vários datastores de eventos, desde que os eles existam em sua conta.

    • QueryParameters: os seguintes valores de QueryParameters são compatíveis com painéis personalizados: $Period$, $StartTime$ e $EndTime$. Para usar, QueryParameters coloque a ? no QueryStatement local em que você deseja substituir o parâmetro. CloudTrail preencherá os parâmetros quando a consulta for executada.

    O exemplo a seguir cria um painel com quatro widgets, um de cada tipo de visão.

    nota

    Neste exemplo, ? está entre aspas simples porque é usado com eventTime. Dependendo do sistema operacional sendo executado, pode seja necessário colocar aspas simples entre aspas de escape. Para ter mais informações, consulte Usar aspas e literais com strings na AWS CLI.

    aws cloudtrail create-dashboard --name 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": "AccountActivity", "View": "LineChart", "YAxisColumn": "eventCount", "XAxisColumn": "eventDate", "FilterColumn": "readOnly" }, "QueryStatement": "SELECT DATE_TRUNC('?', eventTime) AS eventDate, IF(readOnly, 'read', 'write') AS readOnly, COUNT(*) as eventCount FROM eds WHERE eventTime > '?' AND eventTime < '?' GROUP BY DATE_TRUNC('?', eventTime), readOnly ORDER BY DATE_TRUNC('?', eventTime), readOnly", "QueryParameters": ["$Period$", "$StartTime$", "$EndTime$", "$Period$", "$Period$"] }, { "ViewProperties": { "Height": "2", "Width": "4", "Title": "TopServices", "View": "BarChart", "LabelColumn": "service", "ValueColumn": "eventCount", "FilterColumn": "service", "Orientation": "Horizontal" }, "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$"] } ]'
  2. Crie um arquivo separado com a política de recurso necessária para cada datastore de eventos incluído na QueryStatement de um widget. Nomeie o arquivo policy.json com o seguinte exemplo de declaração de política:

    123456789012Substitua pelo ID da sua conta, arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDashboard pelo ARN do painel.

    Para obter mais informações sobre políticas baseadas em recursos para painéis, consulte Exemplo: permitir CloudTrail a execução de consultas para atualizar um painel.

  3. Execute o comando put-resource-policy para anexar a política. Você também pode atualizar a política baseada em recursos do armazenamento de dados de eventos no CloudTrail console.

    Os exemplo a seguir anexa a política baseada em recurso a um datastore de eventos.

    aws cloudtrail put-resource-policy \ --resource-arn eds-arn \ --resource-policy file://policy.json
  4. Execute o comando put-resource-policy para anexar uma política baseada em recurso ao painel. Para visualizar um exemplo de política, consulte Exemplo de política baseada em recurso para um painel.

    O exemplo a seguir anexa uma política baseada em recurso a um painel. account-idSubstitua pelo ID da sua conta e dashboard-arn pelo ARN do painel.

    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"}}}]}'
  5. Execute o comando update-dashboard para definir e habilitar uma agenda de atualização configurando o parâmetro --refresh-schedule.

    A --refresh-schedule consiste nos seguintes parâmetros opcionais:

    • Frequency: a Unit e o Value para a agenda.

      Para painéis personalizados, a unidade pode ser HOURS ou DAYS.

      Para painéis personalizados, os seguintes valores são válidos quando a unidade é HOURS: 1, 6, 12, 24

      Para painéis personalizados, o único valor válido quando a unidade é DAYS é 1.

    • Status: especifica se a agenda de atualização está habilitada. Defina o valor ENABLED para habilitar a agenda de atualização ou DISABLED para desabilitar a agenda de atualização.

    • TimeOfDay : a hora do dia em UTC para execução da agenda; para execução de hora em hora refere-se apenas aos minutos; o padrão é 00:00.

    O exemplo a seguir define uma agenda de atualização para execução a cada seis horas e habilita a agenda.

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

Ative o painel de destaques com o AWS CLI

O procedimento a seguir mostra como criar um painel Destaques, anexar as políticas baseadas em recursos necessárias aos datastores de eventos e ao painel, e atualizar o painel para definir e habilitar uma agenda de atualização.

  1. Executar o comando create-dashboard para criar o painel Destaques. Para criar esse painel, o --name deve ser AWSCloudTrail-Highlights.

    aws cloudtrail create-dashboard --name AWSCloudTrail-Highlights
  2. Para cada datastore de eventos em sua conta, execute o comando put-resource-policy para anexar uma política baseada em recurso ao datastore de eventos. Você também pode atualizar a política baseada em recursos do armazenamento de dados de eventos no CloudTrail console. Para visualizar um exemplo de política, consulte Exemplo: permitir CloudTrail a execução de consultas para atualizar um painel.

    Os exemplo a seguir anexa a política baseada em recurso a um datastore de eventos. account-idSubstitua pelo ID da sua conta, eds-arn pelo ARN do armazenamento de dados do evento e dashboard-arn pelo ARN do painel.

    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"}}} ]}'
  3. Execute o comando put-resource-policy para anexar uma política baseada em recurso ao painel. Para visualizar um exemplo de política, consulte Exemplo de política baseada em recurso para um painel.

    O exemplo a seguir anexa uma política baseada em recurso a um painel. account-idSubstitua pelo ID da sua conta e dashboard-arn pelo ARN do painel.

    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"}}}]}'
  4. Execute o comando update-dashboard para definir e habilitar uma agenda de atualização configurando o parâmetro --refresh-schedule. Para o painel Destaques, a única UNIT válida é HOURS e o único Value válido é 6.

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