

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
<a name="Cross-Account-Log_Subscription-Update-filter-Account"></a>

**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](AWS-logs-and-resource-policy.md). 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](Cross-Account-Log_Subscription-Update-policy-Account.md).

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"
     }
   }
   ```

1. 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
   ```

1. 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:*" 
              } 
          ] 
      }
      ```

   1. 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
      ```

1. 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"
   ```