Etapa 1: atualizar os filtros de assinatura - CloudWatch Registros da Amazon

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á.

Etapa 1: atualizar os filtros de assinatura

nota

Essa etapa é necessária apenas para assinaturas entre contas para logs criados pelos serviços listados em Habilitar o registro a partir de AWS serviços. Se você não estiver trabalhando com logs criados por um desses grupos de log, pule para Etapa 2: atualizar a política de acesso ao destino existente.

Em determinados casos, você deve atualizar os filtros de assinatura em todas as contas de remetente que estão enviando logs para a conta de destino. A atualização adiciona uma função do IAM, que CloudWatch pode assumir e validar que a conta do remetente tem permissão para enviar registros para a conta do destinatário.

Siga as etapas desta seção para cada conta de remetente que você deseja atualizar para usar o ID da organização para as permissões de assinatura entre contas.

Nos exemplos desta seção, duas contas, 111111111111 e 222222222222 já têm filtros de assinatura criados para enviar logs para a conta 999999999999. Os valores de filtro de assinatura existentes são os seguintes:

## Existing Subscription Filter parameter values { "DestinationArn": "arn:aws:logs:region:999999999999:destination:testDestination", "FilterPattern": "{$.userIdentity.type = Root}", "Distribution": "Random" }

Se você precisar encontrar os valores do parâmetro do filtro de assinatura atual, insira o seguinte comando.

aws logs describe-account-policies \ --policy-type "SUBSCRIPTION_FILTER_POLICY" \ --policy-name "CrossAccountStreamsExamplePolicy"
Para atualizar um filtro de assinatura para começar a usar a organização IDs para obter permissões de registro entre contas
  1. Crie a seguinte política de confiança em um arquivo ~/TrustPolicyForCWL.json. Use um editor de texto para criar esse arquivo de política; não use o console do IAM.

    { "Statement": { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  2. Crie uma função do IAM que use essa política. Observe o valor Arn do valor Arn que for retornado pelo comando, pois você precisará dele posteriormente nesse procedimento. Neste exemplo, usamos CWLtoSubscriptionFilterRole como o nome da função que estamos criando.

    aws iam create-role \ --role-name CWLtoSubscriptionFilterRole \ --assume-role-policy-document file://~/TrustPolicyForCWL.json
  3. Crie uma política de permissões para definir as ações que o CloudWatch Logs pode realizar na sua conta.

    1. Primeiro, use um editor de texto para criar a seguinte política de permissões em um arquivo chamado /PermissionsForCWLSubscriptionFilter.json.

      { "Statement": [ { "Effect": "Allow", "Action": "logs:PutLogEvents", "Resource": "arn:aws:logs:region:111111111111:log-group:LogGroupOnWhichSubscriptionFilterIsCreated:*" } ] }
    2. Insira o seguinte comando para associar a política de permissões que você acabou de criar à função criada na etapa 2.

      aws iam put-role-policy --role-name CWLtoSubscriptionFilterRole --policy-name Permissions-Policy-For-CWL-Subscription-filter --policy-document file://~/PermissionsForCWLSubscriptionFilter.json
  4. Insira o comando a seguir para atualizar a política de filtro de assinatura.

    aws logs put-account-policy \ --policy-name "CrossAccountStreamsExamplePolicy" \ --policy-type "SUBSCRIPTION_FILTER_POLICY" \ --policy-document '{"DestinationArn":"arn:aws:logs:region:999999999999:destination:testDestination", "FilterPattern": "{$.userIdentity.type = Root}", "Distribution": "Random"}' \ --selection-criteria 'LogGroupName NOT IN ["LogGroupToExclude1", "LogGroupToExclude2"]' \ --scope "ALL"