

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

# Auditar eventos do Amazon DocumentDB
<a name="event-auditing"></a>

Com o Amazon DocumentDB (compatível com MongoDB), é possível auditar eventos que foram realizados em seu cluster. Exemplos de eventos registrados incluem tentativas de autenticação bem-sucedidas e com falha, eliminação de uma coleção em um banco de dados ou criação de um índice. Por padrão, a auditoria fica desabilitada no Amazon DocumentDB e requer que você opte por esse atributo.

Quando a auditoria está habilitada, o Amazon DocumentDB registra eventos de Data Definition Language (DDL), Data Manipulation Language (DML), autenticação, autorização e gerenciamento de usuários no Amazon Logs. CloudWatch Quando a auditoria está habilitada, o Amazon DocumentDB exporta os registros de auditoria do seu cluster (documentos JSON) para o Amazon Logs. CloudWatch Você pode usar o Amazon CloudWatch Logs para analisar, monitorar e arquivar seus eventos de auditoria do Amazon DocumentDB.

Embora o Amazon DocumentDB não cobre um custo adicional para permitir a auditoria, são cobradas taxas padrão pelo uso de registros. CloudWatch Para obter informações sobre CloudWatch os preços do Logs, consulte os [ CloudWatch preços da Amazon](https://aws.amazon.com/cloudwatch/pricing/).

O recurso de auditoria do Amazon DocumentDB é nitidamente diferente do uso de recursos de serviço que é monitorado com. AWS CloudTrail CloudTrail registra operações que são realizadas com o AWS Command Line Interface (AWS CLI) ou Console de gerenciamento da AWS em recursos como clusters, instâncias, grupos de parâmetros e instantâneos. A auditoria de recursos com CloudTrail está ativada por padrão e não pode ser desativada. O atributo de auditoria do Amazon DocumentDB é um atributo opcional. Ele registra operações que ocorrem dentro do seu cluster em objetos, como bancos de dados, coleções, índices e usuários.

**Topics**
+ [Eventos com suporte](#auditing-events)
+ [Ativar a auditoria](#event-auditing-enabling-auditing)
+ [Desativar a auditoria](#event-auditing-disabling-auditing)
+ [Acessar seus eventos de auditoria](#event-auditing-accessing)
+ [Filtrar eventos de auditoria de DML](#filtering-dml-events)

## Eventos com suporte
<a name="auditing-events"></a>

A auditoria do Amazon DocumentDB oferece suporte às seguintes categorias de eventos:
+ **Linguagem de definição de dados (DDL)** – inclui operações de gerenciamento de banco de dados, conexões, gerenciamento de usuários e autorização. 
+ **Eventos de leitura da linguagem de manipulação de dados (leituras DML)** – incluem `find()` e os vários operadores de agregação, operadores aritméticos, operadores boolianos e outros operadores de consulta de leitura. 
+ **Eventos de gravação da linguagem de manipulação de dados (gravações em DML)** – incluem operadores `insert(), update(), delete(),` e `bulkWrite()` 

Os tipos de evento são os seguintes.



- **`authCheck`**
  - **Categoria:** Autorização
  - **Description:**
    - Código de resultado 0: Sucesso
    - Código de resultado 13: Tentativas não autorizadas de executar uma operação.

- **`authenticate`**
  - **Categoria:** Conexão
  - **Description:** Tentativas de autenticação bem-sucedidas ou com falha em uma nova conexão.

- **`auditConfigure`**
  - **Categoria:** DDL
  - **Description:** Auditar configuração de filtro.

- **`createDatabase`**
  - **Categoria:** DDL
  - **Description:** Criação de um novo banco de dados.

- **`createCollection`**
  - **Categoria:** DDL
  - **Description:** Criação de uma nova coleção em um banco de dados.

- **`createIndex`**
  - **Categoria:** DDL
  - **Description:** Criação de um novo índice em uma coleção.

- **`dropCollection`**
  - **Categoria:** DDL
  - **Description:** Eliminação de uma coleção em um banco de dados.

- **`dropDatabase`**
  - **Categoria:** DDL
  - **Description:** Eliminação de um banco de dados.

- **`dropIndex`**
  - **Categoria:** DDL
  - **Description:** Eliminação de um índice em uma coleção.

- **`modifyChangeStreams`**
  - **Categoria:** DDL
  - **Description:** O fluxo de alteração foi criado.

- **`renameCollection`**
  - **Categoria:** DDL
  - **Description:** Como renomear uma coleção em um banco de dados.

- **`createRole`**
  - **Categoria:** Gerenciamento de funções
  - **Description:** Como criar uma função.

- **`dropAllRolesFromDatabase`**
  - **Categoria:** Gerenciamento de funções
  - **Description:** Eliminação de todos os usuários em um banco de dados.

- **`dropRole`**
  - **Categoria:** Gerenciamento de funções
  - **Description:** Eliminação de uma função.

- **`grantPrivilegesToRole`**
  - **Categoria:** Gerenciamento de funções
  - **Description:** Como conceder privilégios a uma função.

- **`grantRolesToRole`**
  - **Categoria:** Gerenciamento de funções
  - **Description:** Como coonceder funções a um perfil definido pelo usuário.

- **`revokePrivilegesFromRole`**
  - **Categoria:** Gerenciamento de funções
  - **Description:** Revogação de privilégios de uma função.

- **`revokeRolesFromRole`**
  - **Categoria:** Gerenciamento de funções
  - **Description:** Como revogar funções de um perfil definido pelo usuário.

- **`updateRole`**
  - **Categoria:** Gerenciamento de funções
  - **Description:** Como atualizar uma função.

- **`createUser`**
  - **Categoria:** Gerenciamento de usuários
  - **Description:** Criação de um novo usuário.

- **`dropAllUsersFromDatabase`**
  - **Categoria:** Gerenciamento de usuários
  - **Description:** Eliminação de todos os usuários em um banco de dados.

- **`dropUser`**
  - **Categoria:** Gerenciamento de usuários
  - **Description:** Eliminação de um usuário existente.

- **`grantRolesToUser`**
  - **Categoria:** Gerenciamento de usuários
  - **Description:** Como conceder funções a um usuário.

- **`revokeRolesFromUser`**
  - **Categoria:** Gerenciamento de usuários
  - **Description:** Como revogar funções de um usuário.

- **`updateUser`**
  - **Categoria:** UserManagement
  - **Description:** Atualização de um usuário existente.

- **`insert`**
  - **Categoria:** Gravação de DML
  - **Description:** Insere um documento ou documentos em uma coleção.

- **`delete`**
  - **Categoria:** Gravação de DML
  - **Description:** Exclui um documento ou documentos de uma coleção.

- **`update`**
  - **Categoria:** Gravação de DML
  - **Description:** Modifica um documento ou documentos existentes em uma coleção.

- **`bulkWrite`**
  - **Categoria:** Gravação de DML
  - **Description:** Executa várias operações de gravação com controles para ordem de execução.

- **`setAuditConfig`**
  - **Categoria:** Gravação de DML
  - **Description:** Definir um novo filtro para auditoria de DML.

- **`count`**
  - **Categoria:** Leitura de DML
  - **Description:** Retorna a contagem de documentos que corresponderiam a uma consulta find() para a coleção ou visualização.

- **`countDocuments`**
  - **Categoria:** Leitura de DML
  - **Description:** Retorna a contagem de documentos que correspondem a uma consulta para a coleção ou visualização.

- **`find`**
  - **Categoria:** Leitura de DML
  - **Description:** Seleciona documentos em uma coleção ou exibição e retorna um cursor para os documentos selecionados.

- **`getAuditConfig`**
  - **Categoria:** Leitura de DML
  - **Description:** Recuperar o filtro atual para auditoria de DML.

- **`findAndModify`**
  - **Categoria:** Leitura e gravação de DML
  - **Description:** Modifica e retorna um único documento.

- **`findOneAndDelete`**
  - **Categoria:** Leitura e gravação de DML
  - **Description:** Exclui um único documento com base nos critérios de filtragem e classificação, retornando o documento excluído.

- **`findOneAndReplace`**
  - **Categoria:** Leitura e gravação de DML
  - **Description:** Substitui um único documento com base no filtro especificado.

- **`findOneAndUpdate`**
  - **Categoria:** Leitura e gravação de DML
  - **Description:** Atualiza um único documento com base nos critérios de filtragem e classificação.

- **`aggregate`**
  - **Categoria:** Leitura e gravação de DML
  - **Description:** Oferece suporte a APIs no pipeline de agregação.

- **`distinct`**
  - **Categoria:** Leitura de DML
  - **Description:** Encontra os valores distintos de um campo especificado em uma única coleção ou exibição e retorna os resultados em uma matriz.



**nota**  
Os valores no campo de parâmetro do documento de evento de DML têm um limite de tamanho de 1 KB. O Amazon DocumentDB trunca o valor se ele exceder 1 KB.

**nota**  
Os eventos de exclusão de TTL não são auditados neste momento.

## Ativar a auditoria
<a name="event-auditing-enabling-auditing"></a>

A ativação da auditoria em um cluster é um processo de duas etapas. Verifique se as duas etapas foram concluídas ou os registros de auditoria não serão enviados para o CloudWatch Logs.

### Etapa 1. Habilitar o parâmetro de cluster audit\_logs
<a name="event-auditing-enable-audit_logs"></a>

Para habilitar a auditoria, você precisa modificar o parâmetro `audit_logs` no grupo de parâmetros. `audit_logs` é uma lista de eventos delimitada por vírgulas, os quais serão registrados. Os eventos devem ser especificados em letras maiúsculas, e não pode haver espaço em branco entre os elementos da lista. 

É possível especificar os seguintes valores para o grupo de parâmetros:


| Valor | Description | 
| --- | --- | 
| ddl | Definir isso habilitará a auditoria de eventos DDL, como createDatabase, dropDatabase, createCollection, dropCollection, createIndex, dropIndex, authCheck, authenticate, createUser, dropUser, grant, revoke, updateUser e drop RolesToUser RolesFromUser AllUsersFromDatabase | 
| dml\_read | Essa configuração permitirá a auditoria de eventos de leitura de DML, como find, sort count, distinct, group, projecta, unwind, geoNear, geoIntersects, geoWithin e outros operadores de consulta de leitura do MongoDB. | 
| dml\_write | Essa configuração habilitará a auditoria de eventos de gravação de DML, como insert(), update(), delete() e bulkWrite() | 
| all | Essa configuração habilitará a auditoria de eventos do seu banco de dados, como consultas de leitura, consultas de gravação, ações de banco de dados e ações de administrador. | 
| none | Essa configuração desabilitará a auditoria | 
| enabled (legado) | Essa é uma configuração de parâmetro herdada que é equivalente a 'ddl'. Essa configuração habilitará a auditoria de eventos DDL, como createDatabase, dropDatabase, createCollection, dropCollection, createIndex, dropIndex, authCheck, authenticate, createUser, dropUser, grant, revoke, updateUser e drop. RolesToUser RolesFromUser AllUsersFromDatabase Não é recomendável usar essa configuração, pois ela é uma configuração herdada. | 
| disabled  (legado) | Essa é uma configuração de parâmetro herdada que é equivalente a 'none'. Não é recomendável usar essa configuração, pois ela é uma configuração herdada.  | 

**nota**  
O valor padrão do parâmetro de cluster audit\_logs é `none` (legacy "`disabled`").

Você também pode usar os valores mencionados acima em combinações. 


| Valor | Description | 
| --- | --- | 
| ddl, dml\_read | Essa configuração ativará a auditoria de eventos de DDL e eventos de leitura de DML. | 
| ddl, dml\_write | Essa configuração ativará a auditoria de eventos de DDL e gravação de DML | 
| dml\_read, dml\_write | Essa configuração habilitará a auditoria para todos os eventos DML. | 

**nota**  
Não é possível modificar um grupo de parâmetros padrão.

Para obter mais informações, consulte as informações a seguir:
+ [Criando grupos de parâmetros de cluster do Amazon DocumentDB](cluster_parameter_groups-create.md)

  Depois que criar um grupo de parâmetros, modifique-o alterando o valor do parâmetro `audit_logs` para `all`.
+ [Modificando grupos de parâmetros de cluster do Amazon DocumentDB](cluster_parameter_groups-modify.md)

  

### Etapa 2. Ativar a exportação do Amazon CloudWatch Logs
<a name="event-auditing-enable-export"></a>

Quando o valor do parâmetro do `audit_logs` cluster é`enabled`,,, ou `ddl` `dml_read``dml_write`, você também deve habilitar o Amazon DocumentDB para exportar registros para a Amazon. CloudWatch Se você omitir qualquer uma dessas etapas, os registros de auditoria não serão enviados para CloudWatch.

Ao criar um cluster, realizar uma restauração pontual ou restaurar um snapshot, você pode ativar CloudWatch os registros seguindo estas etapas.

------
#### [ Using the Console de gerenciamento da AWS ]

Para permitir que o Amazon DocumentDB exporte logs para CloudWatch usar o console, consulte os seguintes tópicos:
+ **Ao criar um cluster **: em [Criação de um cluster e de uma instância primária usando o Console de gerenciamento da AWS](db-cluster-create.md#db-cluster-create-con), consulte **Criar um cluster: configurações adicionais**, (etapa 5, **Exportações de log**)
+ **Ao modificar um cluster existente** — [Modificar um cluster do Amazon DocumentDB](db-cluster-modify.md)
+ **Ao executar uma restauração de snapshot de cluster** — [Restauração de um snapshot de cluster](backup_restore-restore_from_snapshot.md)
+ **Ao executar uma restauração point-in-time** — [Restauração para um ponto no tempo](backup_restore-point_in_time_recovery.md)

------
#### [ Using the AWS CLI ]

**Como habilitar logs de auditoria ao criar um novo cluster**  
O código a seguir cria o cluster `sample-cluster` e ativa os registros CloudWatch de auditoria.

**Example**  
Para Linux, macOS ou Unix:  

```
aws docdb create-db-cluster \
    --db-cluster-identifier {{sample-cluster}} \
    --port 27017 \
    --engine docdb \
    --master-username {{master-username}} \
    --master-user-password {{password}} \
    --db-subnet-group-name {{default}} \
    --enable-cloudwatch-logs-exports audit
```
Para Windows:  

```
aws docdb create-db-cluster ^
    --db-cluster-identifier {{sample-cluster}} ^
    --port 27017 ^
    --engine docdb ^
    --master-username {{master-username}} ^
    --master-user-password {{password}} ^
    --db-subnet-group-name {{default}} ^
    --enable-cloudwatch-logs-exports audit
```

**Como habilitar logs de auditoria ao modificar um cluster existente**  
O código a seguir modifica o cluster `sample-cluster` e ativa os registros CloudWatch de auditoria.

**Example**  
Para Linux, macOS ou Unix:  

```
aws docdb modify-db-cluster \
   --db-cluster-identifier {{sample-cluster}} \
   --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit"]}'
```
Para Windows:  

```
aws docdb modify-db-cluster ^
   --db-cluster-identifier {{sample-cluster}} ^
   --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit"]}'
```
A saída dessas operações é semelhante ao seguinte (formato JSON).  

```
{
    "DBCluster": {
        "HostedZoneId": "ZNKXH85TT8WVW",
        "StorageEncrypted": false,
        "DBClusterParameterGroup": "default.docdb4.0",
        "MasterUsername": "<user-name>",
        "BackupRetentionPeriod": 1,
        "Port": 27017,
        "VpcSecurityGroups": [
            {
                "Status": "active",
                "VpcSecurityGroupId": "sg-77186e0d"
            }
        ],
        "DBClusterArn": "arn:aws:rds:us-east-1:900083794985:cluster:sample-cluster",
        "Status": "creating",
        "Engine": "docdb",
        "EngineVersion": "4.0.0",
        "MultiAZ": false,
        "AvailabilityZones": [
            "us-east-1a",
            "us-east-1c",
            "us-east-1f"
        ],
        "DBSubnetGroup": "default",
        "DBClusterMembers": [],
        "ReaderEndpoint": "sample-cluster.cluster-ro-corcjozrlsfc.us-east-1.docdb.amazonaws.com",
        "EnabledCloudwatchLogsExports": [
            "audit"
        ],
        "PreferredMaintenanceWindow": "wed:03:08-wed:03:38",
        "AssociatedRoles": [],
        "ClusterCreateTime": "2019-02-13T16:35:04.756Z",
        "DbClusterResourceId": "cluster-YOS52CUXGDTNKDQ7DH72I4LED4",
        "Endpoint": "sample-cluster.cluster-corcjozrlsfc.us-east-1.docdb.amazonaws.com",
        "PreferredBackupWindow": "07:16-07:46",
        "DBClusterIdentifier": "sample-cluster"
    }
}
```

------

## Desativar a auditoria
<a name="event-auditing-disabling-auditing"></a>

Você pode desativar a auditoria desativando a exportação de CloudWatch registros e desativando o parâmetro. `audit_logs`

### Desativando a exportação de CloudWatch registros
<a name="event-auditing-disabling-logs-export"></a>

Você pode desativar a exportação de registros de auditoria usando o Console de gerenciamento da AWS ou o. AWS CLI

------
#### [ Using the Console de gerenciamento da AWS ]

O procedimento a seguir usa o Console de gerenciamento da AWS para desativar a exportação de registros do Amazon DocumentDB para o. CloudWatch

**Como desabilitar logs de auditoria**

1. Faça login no e abra Console de gerenciamento da AWS o console do Amazon DocumentDB em. [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)

1. No painel de navegação, escolha **Clusters**. Depois disso, escolha o botão à esquerda do nome do cluster para o qual você deseja desabilitar a exportação de logs.

1. Escolha **Ações** e, em seguida, **Modificar**.

1. Role para baixo até a seção **Exportações de log** e escolha **Desativado**.

1. Escolha **Continuar**.

1. Analise as alterações e escolha quando você deseja que essa mudança seja aplicada ao seu cluster.
   + **Aplicar durante a próxima janela de manutenção programada**
   + **Aplicar imediatamente**

1. Escolha **Modificar Cluster**.

------
#### [ Using the AWS CLI ]

O código a seguir modifica o cluster `sample-cluster` e desativa os registros de CloudWatch auditoria.

**Example**  
Para Linux, macOS ou Unix:  

```
aws docdb modify-db-cluster \
   --db-cluster-identifier {{sample-cluster}} \
   --cloudwatch-logs-export-configuration '{"DisableLogTypes":["audit"]}'
```
Para Windows:  

```
aws docdb modify-db-cluster ^
   --db-cluster-identifier {{sample-cluster}} ^
   --cloudwatch-logs-export-configuration '{"DisableLogTypes":["audit"]}'
```
A saída dessa operação é semelhante ao seguinte (formato JSON).  

```
{
    "DBCluster": {
        "DBClusterParameterGroup": "default.docdb4.0",
        "HostedZoneId": "ZNKXH85TT8WVW",
        "MasterUsername": "<user-name>",
        "Status": "available",
        "Engine": "docdb",
        "Port": 27017,
        "AvailabilityZones": [
            "us-east-1a",
            "us-east-1c",
            "us-east-1f"
        ],
        "EarliestRestorableTime": "2019-02-13T16:35:50.387Z",
        "DBSubnetGroup": "default",
        "LatestRestorableTime": "2019-02-13T16:35:50.387Z",
        "DBClusterArn": "arn:aws:rds:us-east-1:900083794985:cluster:sample-cluster2",
        "Endpoint": "sample-cluster2.cluster-corcjozrlsfc.us-east-1.docdb.amazonaws.com",
        "ReaderEndpoint": "sample-cluster2.cluster-ro-corcjozrlsfc.us-east-1.docdb.amazonaws.com",
        "BackupRetentionPeriod": 1,
        "EngineVersion": "4.0.0",
        "MultiAZ": false,
        "ClusterCreateTime": "2019-02-13T16:35:04.756Z",
        "DBClusterIdentifier": "sample-cluster2",
        "AssociatedRoles": [],
        "PreferredBackupWindow": "07:16-07:46",
        "DbClusterResourceId": "cluster-YOS52CUXGDTNKDQ7DH72I4LED4",
        "StorageEncrypted": false,
        "PreferredMaintenanceWindow": "wed:03:08-wed:03:38",
        "DBClusterMembers": [],
        "VpcSecurityGroups": [
            {
                "Status": "active",
                "VpcSecurityGroupId": "sg-77186e0d"
            }
        ]
    }
}
```

------

### Desativar o parâmetro audit\_logs
<a name="event-auditing-disabling-audit-parameter"></a>

Para desabilitar o parâmetro `audit_logs` para o cluster, é possível modificar o cluster para que ele use um grupo de parâmetros em que o valor do parâmetro `audit_logs` é `disabled`. Ou é possível modificar o valor do parâmetro `audit_logs` no grupo de parâmetros de cluster para que ele seja `disabled`.

Para saber mais, consulte os seguintes tópicos:
+ [Modificar um cluster do Amazon DocumentDB](db-cluster-modify.md)
+ [Modificando grupos de parâmetros de cluster do Amazon DocumentDB](cluster_parameter_groups-modify.md)

## Acessar seus eventos de auditoria
<a name="event-auditing-accessing"></a>

Use as etapas a seguir para acessar seus eventos de auditoria na Amazon CloudWatch.

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Certifique-se de estar na mesma região que seu cluster do Amazon DocumentDB.

1. No painel de navegação, selecione **Logs**.

1. Para localizar os logs de auditoria para o seu cluster, na lista, localize e escolha **/aws/docdb/{{yourClusterName}}/audit**.

   Os eventos de auditoria para cada uma das suas instâncias estão disponíveis em cada um dos respectivos nomes de instância.

## Filtrar eventos de auditoria de DML
<a name="filtering-dml-events"></a>

### Conceitos básicos da filtragem de auditoria de DML
<a name="w2aac31c57c21b3"></a>

Os eventos de auditoria de DML podem ser filtrados antes de serem gravados na Amazon. CloudWatch Para utilizar esse recurso, o registro de auditoria e o log de DML devem estar ativados. O Amazon DocumentDB oferece suporte à filtragem em `atype`, `command`, `user`, `namespace` e `auditAuthorizationSuccess`.

**nota**  
Os eventos de DDL não são filtrados.

É possível ativar a filtragem de auditoria a qualquer momento especificando o filtro de auditoria usando os parâmetros `setAuditConfig`, `filter` e `auditAuthorizationSuccess` na operação `db.adminCommand( { command } )`:

```
db.admin.runCommand(
   {
      setAuditConfig: 1, 
      filter:
         {
            //filter conditions
         },
      auditAuthorizationSuccess: true | false
   }
)
```

Você também pode recuperar as configurações do filtro de auditoria executando o seguinte comando:

```
db.admin.runCommand( { getAuditConfig: 1})
```

**Requisitos de segurança**

Somente o banco de dados users/roles com ação privilegiada `auditConfigure` pode executar os comandos acima `admindb` ao definir ou listar filtros de auditoria DML. É possível usar um dos perfis integrados de [`clusterAdmin`, `hostManager`, `root`] ou criar perfis personalizados com privilégios `auditConfigure`. Veja a seguir um exemplo do uso de funções existentes com o privilégio `auditConfigure` e um exemplo com funções personalizadas.

Usuário com função integrada:

```
use admin
db.createUser(
  {
    user: "myClusterAdmin",
    pwd: "password123",
    roles: [ { role: "clusterAdmin", db: "admin" } ]
  }
)
```

Usuário com funções personalizadas:

```
use admin
db.createRole(
   {
     role: "myRole",
     privileges: [
       { resource: { cluster: true }, actions: [ "auditConfigure" ] }
     ],
     roles: []
   }
)
db.createUser(
  {
    user: "myUser",
    pwd: "myPassword",
    roles: [ { role: "myRole", db: "admin" } ]
  }
)
```

#### Filtrar casos de uso
<a name="filtering-use-cases"></a>

**Exemplo: filtrar eventos por comandos**

```
db.admin.runCommand(
   {
      setAuditConfig: 1,
      filter: {
        "$and": [
         {
            "param.command":
               {
                  $in: [ "find","count", "insert", "delete", "update", "findandmodify" ]
               }
         }
         ]
      },
      auditAuthorizationSuccess: true
   }
)
```

**Exemplo: filtrar eventos por nome de usuário**

Neste exemplo, somente o usuário “myUser” será registrado:

```
db.admin.runCommand(
   {
      setAuditConfig: 1,
      filter: {
      "$and": [
         {
            "param.user":
               {
                  $in: [ "myUser" ]
               }
         }
         ]},
      auditAuthorizationSuccess: true})
```

**Exemplo: filtrar por `atype`**

```
db.admin.runCommand(
   {
      setAuditConfig: 1,
      filter: {atype: "authCheck"},
      auditAuthorizationSuccess: true
   })
```

**nota**  
Todos os logs de DML têm `authCheck` como `atype`. Somente DDL tem um `atype` diferente. Se você colocar um valor diferente `authCheck` de`filter`, ele não produzirá um login CloudWatch DML.

**Exemplo: filtrar usando vários filtros unidos por operadores**

```
db.admin.runCommand(
   {
      setAuditConfig: 1,
      filter: {
      "$and": [
         {
            "param.command":
               {
                  $in: [ "find","count", "insert", "delete", "update", "findandmodify" ]
               }
         }
         ],
       "$nor": [
         {
            "param.command":
               {
                  $in: ["count", "insert", "delete", "update", "findandmodify" ]
               }
         }]  
       },
      auditAuthorizationSuccess: true})
```

**nota**  
No nível superior, somente `$and`, `$or` e `$nor` têm suporte. Quaisquer outros operadores não têm suporte e causarão um erro.

**Exemplo: filtragem por eventos por `auditAuthorizationSuccess`**

Nesse filtro, todos os comandos aprovados com sucesso na autorização não serão registrados:

```
db.admin.runCommand(
   {
      setAuditConfig: 1,
      filter: {},
      auditAuthorizationSuccess: false
   }
)
```

**Exemplo: filtrar com as condições `$in` e `$nin`**

Ao usar tanto em `$in` quanto em `$nin`, o comando não será registrado, pois haverá um “e” implícito entre as condições. Neste exemplo, a regex bloqueará o comando `find` para que nada seja registrado:

```
db.admin.runCommand(
   {
      setAuditConfig: 1,
      filter: {
      "$and": [
         {
            atype: "authCheck",
            "param.command":
               {
                  $in: [ "find", "insert", "delete", "update", "findandmodify" ],
                  $nin: ["count", "insert", "delete", "update", "findandmodify" ],
                  $not: /^^find.*/
               }
         }, 
         ],
       "$or": [
         {
            "param.command":
               {
                  $nin: ["count", "insert", "delete", "update", "findandmodify" ]
               }
         }]  
       },
      auditAuthorizationSuccess: true})
```

**Exemplo: filtrar por `namespace`**

```
db.admin.runCommand(
   {
      setAuditConfig: 1,
      filter: {
      "$and": [
         {
            "param.ns":
               {
                  $in: [ "test.foo" ]
               }
         }
         ]},
      auditAuthorizationSuccess: true})
```

**Exemplo: redefinir para o filtro padrão**

Redefinir para o valor padrão significa que cada evento de auditoria de DML será registrado. Para redefinir a filtragem para o valor padrão, execute o comando a seguir:

```
db.admin.runCommand(
   {
      setAuditConfig: 1,
      filter: {},
      auditAuthorizationSuccess: true
   }
)
```