

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

# Operações de política de proteção de dados no Amazon SNS
<a name="sns-message-data-protection-operations"></a>

**Importante**  
A proteção de dados de mensagens do Amazon SNS não estará mais disponível para novos clientes a partir de 30 de abril de 2026. Para obter mais informações e orientações sobre alternativas, consulte Alteração na [disponibilidade da proteção de dados de mensagens do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-message-data-protection-availability-change.html).

Veja a seguir as políticas de proteção de dados que você pode usar para auditar e negar dados sigilosos. Para ver um tutorial completo que inclui uma aplicação de exemplo, consulte a publicação do blog [Introducing message data protection for Amazon SNS](https://aws.amazon.com/blogs/compute/introducing-message-data-protection-for-amazon-sns/) (“Apresentar a proteção de dados de mensagens para o Amazon SNS”).

## Operação de auditoria
<a name="statement-operation-json-properties-audit"></a>

A operação **de auditoria** coleta amostras de mensagens de entrada de tópicos e registra as descobertas de dados confidenciais em um AWS destino. A taxa de amostragem pode ser um número inteiro entre 0 e 99. Essa operação requer um dos seguintes tipos de destino de registro em log:

1. **FindingsDestination**— O destino do registro quando o tópico do Amazon SNS encontra dados confidenciais na carga útil.

1. **NoFindingsDestination**— O destino do registro quando o tópico do Amazon SNS não encontra dados confidenciais na carga útil.

Você pode usar o seguinte Serviços da AWS em cada um dos seguintes tipos de destino de log:
+ **Amazon CloudWatch Logs** (opcional) — Eles `LogGroup` devem estar na região do tópico e o nome deve começar com **/aws/vendedlogs/**.
+ ** **(Opcional): o `DeliveryStream` deve estar na região do tópico e ter **Direct PUT** como fonte de fluxo de entrega. Para obter detalhes adicionais, consulte [Source, Destination, and Name](https://docs.aws.amazon.com/firehose/latest/dev/create-name.html) (“Origem, destino e nome”) no *Guia do desenvolvedor do Amazon Kinesis Data Firehose*.
+ **Amazon S3** (Opcional): um nome de bucket do Amazon S3. [Ações extras são necessárias para usar o bucket do Amazon S3 com a criptografia SSE-KMS ativada](#flow-logs-s3-cmk-policy).

```
{
  "Operation": {
    "Audit": {
      "SampleRate": "99",
      "FindingsDestination": {
            "CloudWatchLogs": {
                "LogGroup": "/aws/vendedlogs/log-group-name"
            },
            "Firehose": {
                "DeliveryStream": "delivery-stream-name"
            },
            "S3": {
                "Bucket": "bucket-name"
            }
      },
      "NoFindingsDestination": {
            "CloudWatchLogs": {
                "LogGroup": "/aws/vendedlogs/log-group-name"
            },
            "Firehose": {
                "DeliveryStream": "delivery-stream-name"
            },
            "S3": {
                "Bucket": "bucket-name"
            }
      }
    }
  }
}
```

### Permissões necessárias ao especificar destinos de log
<a name="required-permissions-log-operations"></a>

Ao especificar destinos de registro em log na política de proteção de dados, você deve adicionar as seguintes permissões à política de identidade do IAM da entidade principal do IAM que está chamando o Amazon SNS: API `PutDataProtectionPolicy` ou `CreateTopic` com o parâmetro `--data-protection-policy`.


| Destino de auditoria | Permissão do IAM | 
| --- | --- | 
| Padrão | logs:CreateLogDelivery logs:GetLogDelivery logs:UpdateLogDelivery logs:DeleteLogDelivery logs:ListLogDeliveries  | 
| CloudWatchLogs | logs:PutResourcePolicy logs:DescribeResourcePolicies logs:DescribeLogGroups  | 
| Firehose | iam:CreateServiceLinkedRole firehose:TagDeliveryStream  | 
| S3 | s3:PutBucketPolicy s3:GetBucketPolicy [Ações extras são necessárias para usar o bucket do Amazon S3 com a criptografia SSE-KMS ativada](#flow-logs-s3-cmk-policy).   | 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:GetLogDelivery",
                "logs:UpdateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:PutResourcePolicy",
                "logs:DescribeResourcePolicies",
                "logs:DescribeLogGroups"
            ],
            "Resource": [
                "arn:aws:logs:us-west-1:123456789012:SampleLogGroupName:*:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceLinkedRole",
                "firehose:TagDeliveryStream"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutBucketPolicy",
                "s3:GetBucketPolicy"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-name"
            ]
        }
    ]
}
```

------

#### Política de chaves obrigatórias para uso com SSE-KMS
<a name="flow-logs-s3-cmk-policy"></a>

Se você usar um bucket do Amazon S3 como destino de log, poderá proteger os dados em seu bucket habilitando a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) ou a criptografia do lado do servidor com (SSE-KMS). AWS KMS keys Para obter mais informações, consulte [Proteger dados usando criptografia do lado do servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) no *Manual do usuário do Amazon S3*.

Se você escolher SSE-S3, nenhuma configuração adicional será necessária. O Amazon S3 lida com a chave de criptografia.

Se você escolher o SSE-KMS, deverá usar uma chave gerenciada pelo cliente. Você deve atualizar a política de chaves para a chave gerenciada pelo cliente para que a conta de entrega de logs possa gravar no bucket do S3. *Para obter mais informações sobre a política de chaves necessária para uso com o SSE-KMS, consulte a [criptografia do lado do servidor do bucket Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-SSE-KMS-S3) no Guia do usuário do Amazon Logs. CloudWatch *

### Exemplo de log de destino de auditoria
<a name="data-protection-policy-audit-destination-log"></a>

No exemplo a seguir, `callerPrincipal` é usado para identificar a origem do conteúdo sigiloso e `messageID` como referência para comparar com a resposta da API `Publish`.

```
{
  "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf",
  "auditTimestamp": "2022-05-12T2:10:44Z",
  "callerPrincipal": "arn:aws:iam::123412341234:role/Publisher",
  "resourceArn": "arn:aws:sns:us-east-1:123412341234:PII-data-topic",
  "dataIdentifiers": [
    {
      "name": "Name",
      "count": 1,
      "detections": [
        {
          "start": 1,
          "end": 2
        }
      ]
    },
    {
      "name": "PhoneNumber",
      "count": 2,
      "detections": [
        {
          "start": 3,
          "end": 4
        },
        {
          "start": 5,
          "end": 6
        }
      ]
    }
  ]
}
```

### Métricas de operação de auditoria
<a name="data-protection-policy-audit-metrics"></a>

Quando uma operação de auditoria especifica a `FindingsDestination` ou a `NoFindingsDestination` propriedade, os proprietários do tópico também recebem CloudWatch `MessagesWithFindings` `MessagesWithNoFindings` métricas.

![\[Exemplo de auditoria exibindo dados durante um período especificado.\]](http://docs.aws.amazon.com/pt_br/sns/latest/dg/images/audit-operations-metrics.png)


## Operação de desidentificação
<a name="statement-operation-json-properties-deidentify"></a>

A operação **Remoção de identificação** mascara ou elimina dados sigilosos das mensagens publicadas ou entregues. Essa operação está disponível para mensagens de entrada e saída e requer um dos seguintes tipos de configuração:
+ **MaskConfig**— Máscara usando um caractere compatível da tabela a seguir. Por exemplo, ssn: `123-45-6789` se torna ssn: `###########`.

  ```
  {
  "Operation": {
      "Deidentify": {
          "MaskConfig": {
              "MaskWithCharacter": "#"
            }
      }
  }
  ```    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sns/latest/dg/sns-message-data-protection-operations.html)
+ **RedactConfig**— Redija removendo totalmente os dados. Por exemplo, ssn: `123-45-6789` se torna ssn: ` `.

  ```
  {
  "Operation": {
      "Deidentify": {
          "RedactConfig": {}
      }
  }
  ```

Em uma mensagem de entrada, os dados confidenciais são desidentificados após a operação de auditoria, e o chamador da API `SNS:Publish` recebe o erro de parâmetro inválido a seguir quando toda a mensagem é confidencial.

`Error code: AuthorizationError ...`

## Operação de negação
<a name="statement-operation-json-properties-deny"></a>

A operação **Deny** (Negação) interromperá a solicitação da API `Publish` ou a entrega da mensagem se a mensagem contiver dados sigilosos. O objeto da operação Deny (Negação) está em branco, pois não requer configuração adicional.

```
"Operation": {
    "Deny": {}
}
```

Em uma mensagem de entrada, o chamador da API `SNS:Publish` recebe um erro de autorização.

`Error code: AuthorizationError ...`

Em uma mensagem de saída, o tópico do Amazon SNS não entrega a mensagem para a assinatura. Para monitorar entregas não autorizadas, habilite o [registro em log do status de entrega](sns-topic-attributes.md) do tópico. Veja a seguir um exemplo de log de status de entrega:

```
{
    "notification": {
        "messageMD5Sum": "29638742ffb68b32cf56f42a79bcf16b",
        "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf",
        "topicArn": "arn:aws:sns:us-east-1:123412341234:PII-data-topic",
        "timestamp": "2022-05-12T2:12:44Z"
    },
    "delivery": {
        "deliveryId": "98236591c-56aa-51ee-a5ed-0c7d43493170",
        "destination": "arn:aws:sqs:us-east-1:123456789012:NoNameAccess",
        "providerResponse": "The topic's data protection policy prohibits this message from being delivered to <subscription-arn>",
        "dwellTimeMs":20,
        "attempts":1,
        "statusCode": 403
    },
    "status": "FAILURE"
}
```