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á.
Gerenciando chaves e custos de SNS criptografia da Amazon
As seções a seguir contêm informações sobre como trabalhar com chaves gerenciadas pelo AWS Key Management Service (AWS KMS). Para saber mais sobre
nota
A Amazon SNS só oferece suporte a KMS chaves de criptografia simétricas. Você não pode usar nenhum outro tipo de KMS chave para criptografar seus recursos de serviço. Para obter ajuda para determinar se uma KMS chave é uma chave de criptografia simétrica, consulte Identificação de chaves KMS assimétricas.
Estimando custos AWS KMS
Para prever custos e entender melhor sua AWS fatura, talvez você queira saber com que frequência a Amazon SNS usa sua AWS KMS key.
nota
Embora a fórmula a seguir possa dar uma boa ideia dos custos esperados, os custos reais podem ser maiores devido à natureza distribuída da AmazonSNS.
Para calcular o número de API solicitações (R
) por tópico, use a seguinte fórmula:
R = B / D * (2 * P)
B
é o período de faturamento (em segundos).
D
é o período de reutilização da chave de dados (em segundos — a Amazon SNS reutiliza uma chave de dados por até 5 minutos).
P
é o número de diretores de publicação que enviam para o SNS tópico da Amazon.
Estes são cálculos de exemplo. Para obter informações sobre a definição de preços, consulte Definição de preços do AWS Key Management Service
Exemplo 1: cálculo do número de AWS KMS API chamadas para 1 editor e 1 tópico
Este exemplo supõe o seguinte:
-
O período de faturamento é de 1 a 31 de janeiro (2.678.400 segundos).
-
O período de reutilização de chave de dados é de 5 minutos (300 segundos).
-
Há 1 tópico.
-
Há 1 entidade principal de publicação.
2,678,400 / 300 * (2 * 1) = 17,856
Exemplo 2: cálculo do número de AWS KMS API chamadas para vários editores e 2 tópicos
Este exemplo supõe o seguinte:
-
O período de faturamento é de 1 a 28 de fevereiro (2.419.200 segundos).
-
O período de reutilização de chave de dados é de 5 minutos (300 segundos).
-
Há 2 tópicos.
-
O primeiro tópico tem 3 entidades principais de publicação.
-
O segundo tópico tem 5 entidades principais de publicação.
(2,419,200 / 300 * (2 * 3)) + (2,419,200 / 300 * (2 * 5)) = 129,024
Configurando permissões AWS KMS
Antes de poder usarSSE, você deve configurar AWS KMS key políticas para permitir a criptografia de tópicos e criptografia e descriptografia de mensagens. Para obter exemplos e mais informações sobre AWS KMS permissões, consulte AWS KMS APIPermissões: referência de ações e recursos no Guia do AWS Key Management Service desenvolvedor. Para obter detalhes sobre como configurar um SNS tópico da Amazon com criptografia do lado do servidor, consulte. Configure um SNS tópico da Amazon com criptografia do lado do servidor
nota
Você também pode gerenciar permissões para KMS chaves de criptografia simétricas usando IAM políticas. Para obter mais informações, consulte Usando IAM políticas com AWS KMS.
Embora você possa configurar permissões globais para enviar e receber da AmazonSNS, é AWS KMS
necessário nomear explicitamente todas ARN as regiões específicas KMSs na Resource
seção de uma IAM política.
Você também deve garantir que as principais políticas do AWS KMS key permitam as permissões necessárias. Para fazer isso, nomeie os diretores que produzem e consomem mensagens criptografadas na Amazon SNS como usuários na política de KMS chaves.
Como alternativa, você pode especificar as AWS KMS ações necessárias e KMS ARN em uma IAM política atribuída aos diretores que publicam e se inscrevem para receber mensagens criptografadas na AmazonSNS. Para obter mais informações, consulte Gerenciar o acesso ao AWS KMS no Guia do desenvolvedor do AWS Key Management Service .
Se você selecionar uma chave gerenciada pelo cliente para seu SNS tópico da Amazon e estiver usando aliases para controlar o acesso às KMS chaves usando IAM políticas ou políticas de chaves com a KMS chave condicionalkms:ResourceAliases
, certifique-se de que a chave gerenciada pelo cliente selecionada também tenha um alias associado. Para obter mais informações sobre como usar alias para controlar o acesso às KMS chaves, consulte Como usar aliases para controlar o acesso às KMS chaves no Guia do AWS Key Management Service
desenvolvedor.
Permitir que um usuário envie mensagens para um tópico com SSE
O editor deve ter as permissões kms:GenerateDataKey*
e kms:Decrypt
para o AWS KMS key.
{ "Statement": [{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "arn:aws:sns:*:123456789012:MyTopic" }] }
Habilite a compatibilidade entre fontes de eventos de AWS serviços e tópicos criptografados
Vários AWS serviços publicam eventos SNS sobre tópicos da Amazon. Para permitir que essas fontes de eventos trabalhem com tópicos criptografados, você deve executar as seguintes etapas:
-
Use uma chave gerenciada pelo cliente. Para obter mais informações, consulte Criação de chaves no Guia do desenvolvedor AWS Key Management Service .
-
Para permitir que o AWS serviço tenha as
kms:Decrypt
permissõeskms:GenerateDataKey*
e, adicione a seguinte declaração à KMS política.{ "Statement": [{ "Effect": "Allow", "Principal": { "Service": "
service
.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" }] }Origem do evento. Entidade principal do serviço Amazon CloudWatch cloudwatch.amazonaws.com
CloudWatch Eventos da Amazon events.amazonaws.com
AWS CodeCommit codecommit.amazonaws.com
AWS CodeStar codestar-notifications.amazonaws.com
AWS Database Migration Service dms.amazonaws.com
AWS Directory Service ds.amazonaws.com
Amazon DynamoDB dynamodb.amazonaws.com
Amazon Inspector inspector.amazonaws.com
Amazon Redshift redshift.amazonaws.com
Amazon RDS events.rds.amazonaws.com
Amazon S3 Glacier glacier.amazonaws.com
Amazon Simple Email Service ses.amazonaws.com
Amazon Simple Storage Service s3.amazonaws.com
AWS Snowball importexport.amazonaws.com
AWS Systems Manager Gerenciador de incidentes AWS O Systems Manager Incident Manager consiste em dois princípios de serviço:
ssm-incidents.amazonaws.com
;ssm-contacts.amazonaws.com
nota
Algumas fontes de SNS eventos da Amazon exigem que você forneça uma IAM função (em vez do diretor do serviço) na AWS KMS key política:
-
Adicione as chaves de
aws:SourceArn
condiçãoaws:SourceAccount
e à política de KMS recursos para protegê-la ainda mais contra ataques confusos de delegados. KMS Consulte a lista de documentação específica do serviço (acima) para obter detalhes exatos em cada caso.Importante
Não há suporte
aws:SourceArn
para adicionaraws:SourceAccount
e a uma AWS KMS política para EventBridge-to-encrypted tópicos.{ "Effect": "Allow", "Principal": { "Service": "service.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "
customer-account-id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:service:region:customer-account-id
:resource-type:customer-resource-id
" } } } -
Ative SSE seu tópico usando seuKMS.
-
Forneça ARN o tópico criptografado para a fonte do evento.
AWS KMS erros
Quando você trabalha com a Amazon SNS e AWS KMS, você pode encontrar erros. A lista a seguir descreve os erros e as possíveis soluções de problemas.
- KMSAccessDeniedException
-
O texto cifrado faz referência a uma chave que não existe ou à qual você não tem acesso.
HTTPCódigo de status: 400
- KMSDisabledException
-
A solicitação foi rejeitada porque o especificado KMS não está habilitado.
HTTPCódigo de status: 400
- KMSInvalidStateException
-
A solicitação foi rejeitada porque o estado do recurso especificado não é válido para essa solicitação. Para obter mais informações, consulte Principais estados do AWS KMS keys no Guia do desenvolvedor do AWS Key Management Service .
HTTPCódigo de status: 400
- KMSNotFoundException
-
A solicitação foi rejeitada porque a entidade ou o recurso especificado não pôde ser encontrado.
HTTPCódigo de status: 400
- KMSOptInRequired
-
O ID da chave de AWS acesso precisa de uma assinatura para o serviço.
HTTPCódigo de status: 403
- KMSThrottlingException
-
A solicitação foi negada devido à limitação da solicitação. Para obter mais informações sobre controle de utilização, consulte Cotas no Guia do desenvolvedor do AWS Key Management Service .
HTTPCódigo de status: 400