

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

# Configuração da criptografia de tópico do Amazon SNS com a criptografia do lado do servidor
<a name="sns-enable-encryption-for-topic"></a>

O Amazon SNS é compatível com criptografia do lado do servidor (SSE) para proteger o conteúdo das mensagens usando AWS Key Management Service (AWS KMS). Siga as instruções abaixo para habilitar o SSE usando o console do Amazon SNS ou o CDK.

## Opção 1: ativar a criptografia usando o Console de gerenciamento da AWS
<a name="enable-encryption-console"></a>

1. Faça login no console [do Amazon SNS](https://console.aws.amazon.com/sns/home).

1. Navegue até a página **Tópicos**, selecione seu **tópico** e escolha **Editar**.

1. Expanda a seção **Criptografia** e faça o seguinte: 
   + Alterne a criptografia para **Habilitar**.
   + Selecione a **chave SNS gerenciada pela AWS ** (alias/aws/sns) como chave de criptografia. Isso é selecionado por padrão.

1. Escolha **Salvar alterações**.

**nota**  
O Chave gerenciada pela AWS é criado automaticamente se ainda não existir.
Se você não vê a chave ou não tem permissões suficientes, peça `kms:ListAliases` e `kms:DescribeKey` ao administrador.

## Opção 2: ativar a criptografia usando AWS CDK
<a name="enable-encryption-cdk"></a>

Para usar a SNS  chave AWS gerenciada em seu aplicativo CDK, adicione o seguinte trecho:

```
import software.amazon.awscdk.services.sns.*;
import software.amazon.awscdk.services.kms.*;
import software.amazon.awscdk.core.*;

public class SnsEncryptionExample extends Stack {
    public SnsEncryptionExample(final Construct scope, final String id) {
        super(scope, id);

        // Define the managed SNS key
        IKey snsKey = Alias.fromAliasName(this, "helloKey", "alias/aws/sns");

        // Create the SNS Topic with encryption enabled
        Topic.Builder.create(this, "MyEncryptedTopic")
            .masterKey(snsKey)
            .build();
    }
}
```

## Mais informações
<a name="set-up-topic-with-sse"></a>
+ **Chave KMS personalizada**: você pode especificar uma chave personalizada, se necessário. No console do Amazon SNS, selecione sua chave KMS personalizada na lista ou insira o ARN.
+ **Permissões para chaves KMS personalizadas**: se estiver usando uma chave KMS personalizada, inclua o seguinte na política de chave para permitir que o Amazon SNS criptografe e descriptografe mensagens:

```
{ 
    "Effect": "Allow", 
    "Principal": { 
        "Service": "sns.amazonaws.com" 
     },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
    ],
    "Resource": "*",
    "Condition": {
        "ArnLike": { 
            "aws:SourceArn": "arn:aws:service:region:customer-account-id:resource-type/customer-resource-id" 
        },
        "StringEquals": { 
            "kms:EncryptionContext:aws:sns:topicArn": "arn:aws:sns:your_region:customer-account-id:your_sns_topic_name" 
        }
    }
}
```

## Impacto nos consumidores
<a name="enable-encryption-impact-on-consumers"></a>

A ativação do SSE não altera a forma como os assinantes consomem mensagens. AWS gerencia a criptografia e a descriptografia de forma transparente. As mensagens permanecem criptografadas em repouso e são automaticamente descriptografadas antes da entrega aos assinantes. Para uma segurança ideal, a AWS recomenda habilitar o HTTPS em todos os endpoints para garantir a transmissão segura de mensagens.