Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Administración de claves
En las siguientes secciones se proporciona información sobre cómo trabajar con claves administradas en AWS Key Management Service (AWS KMS). Para obtener más información sobre
nota
Amazon SNS solo admite KMS claves de cifrado simétricas. No puede utilizar ningún otro tipo de KMS clave para cifrar los recursos de su servicio. Para obtener ayuda para determinar si una KMS clave es una clave de cifrado simétrica, consulte Identificación de claves KMS asimétricas.
Estimación de costos AWS KMS
Para predecir los costos y comprender mejor tu AWS factura, quizás quieras saber con qué frecuencia Amazon SNS usa tu factura AWS KMS key.
nota
Si bien la siguiente fórmula puede darte una idea muy clara de los costes esperados, los costes reales pueden ser más altos debido a la naturaleza distribuida de AmazonSNS.
Para calcular el número de API solicitudes (R
) por tema, usa la siguiente fórmula:
R = B / D * (2 * P)
B
es el período de facturación (en segundos).
D
es el período de reutilización de la clave de datos (en segundos: Amazon SNS reutiliza una clave de datos durante un máximo de 5 minutos).
P
es el número de directores de publicación que envían al SNS tema de Amazon.
A continuación se muestran algunos cálculos de ejemplo. Para obtener información exacta sobre precios, consulte Precios de AWS Key Management Service
Ejemplo 1: calcular el número de AWS KMS API llamadas para 1 editorial y 1 tema
Este ejemplo presupone lo siguiente:
-
El período de facturación va del 1 al 31 de enero (2 678 400 segundos).
-
El periodo de reutilización de la clave de datos es de 5 minutos (300 segundos).
-
Hay 1 tema.
-
Hay una 1 entidad principal de publicación.
2,678,400 / 300 * (2 * 1) = 17,856
Ejemplo 2: Calcular el número de AWS KMS API llamadas para varios editores y 2 temas
Este ejemplo presupone lo siguiente:
-
El período de facturación va del 1 al 28 de febrero (2 419 200 segundos).
-
El periodo de reutilización de la clave de datos es de 5 minutos (300 segundos).
-
Hay 2 temas.
-
El primer tema tiene 3 entidades principales de publicación.
-
El segundo tema tiene 5 entidades principales de publicación.
(2,419,200 / 300 * (2 * 3)) + (2,419,200 / 300 * (2 * 5)) = 129,024
Configuración de AWS KMS permisos
Antes de poder utilizarlosSSE, debe configurar AWS KMS key políticas que permitan el cifrado de los temas y el cifrado y el descifrado de los mensajes. Para ver ejemplos y más información sobre AWS KMS los permisos, consulte AWS KMS APIPermisos: referencia sobre acciones y recursos en la Guía para AWS Key Management Service desarrolladores. Para obtener más información sobre cómo configurar un SNS tema de Amazon con el cifrado del lado del servidor, consulte. Configurar un SNS tema de Amazon con cifrado del lado del servidor
nota
También puedes gestionar los permisos de las KMS claves de cifrado simétricas mediante políticas. IAM Para obtener más información, consulte Uso de IAM políticas con AWS KMS.
Si bien puedes configurar los permisos globales para enviar y recibir desde AmazonSNS, es AWS KMS
necesario mencionar explícitamente la totalidad ARN de las regiones específicas KMSs en la Resource
sección de una IAM política.
También debes asegurarte de que las políticas clave de la ley AWS KMS key permitan los permisos necesarios. Para ello, nombra usuarios en la política de KMS claves a los responsables que producen y consumen mensajes cifrados en AmazonSNS.
Como alternativa, puedes especificar las AWS KMS acciones necesarias y KMS ARN en una IAM política asignada a los responsables que publican y se suscriben para recibir mensajes cifrados en AmazonSNS. Para obtener más información, consulte Administración del acceso a AWS KMS en la Guía para desarrolladores de AWS Key Management Service .
Si seleccionas una clave gestionada por el cliente para tu SNS tema de Amazon y utilizas alias para controlar el acceso a KMS las claves mediante IAM políticas o políticas clave con la KMS clave de condiciónkms:ResourceAliases
, asegúrate de que la clave gestionada por el cliente que esté seleccionada también tenga un alias asociado. Para obtener más información sobre el uso de alias para controlar el acceso a KMS las claves, consulte Uso de alias para controlar el acceso a las claves en la Guía para KMS desarrolladores.AWS Key Management Service
Permita que un usuario envíe mensajes a un tema con SSE
El publicador debe tener los permisos kms:GenerateDataKey*
y kms:Decrypt
para 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 la compatibilidad entre las fuentes de eventos de AWS los servicios y los temas cifrados
Varios AWS servicios publican eventos SNS sobre temas de Amazon. Para que estos orígenes de eventos funcionen con los temas cifrados, es preciso llevar a cabo los pasos que se describen a continuación:
-
Utilice una clave administrada por el cliente. Para obtener más información, consulte Creación de claves en la Guía para desarrolladores de AWS Key Management Service .
-
Para permitir que el AWS servicio tenga los
kms:Decrypt
permisoskms:GenerateDataKey*
y, añada la siguiente declaración a la KMS política.{ "Statement": [{ "Effect": "Allow", "Principal": { "Service": "
service
.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" }] }Origen del evento Entidad principal de servicio Amazon CloudWatch cloudwatch.amazonaws.com
CloudWatch Eventos de 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 Gestor de Sistemas Gestor de Incidentes AWS Systems Manager Incident Manager consta de dos principios de servicio:
ssm-incidents.amazonaws.com
;ssm-contacts.amazonaws.com
nota
Algunas fuentes de SNS eventos de Amazon requieren que proporciones un IAM rol (en lugar del director del servicio) en la AWS KMS key política:
-
Añada las claves
aws:SourceAccount
y las claves deaws:SourceArn
condición a la política de KMS recursos para proteger aún más la KMS clave de los confusos ataques de los diputados. Consulte la lista de documentación específica del servicio (arriba) para obtener detalles exactos de cada caso.importante
No se admite la adición de la «
aws:SourceAccount
y»aws:SourceArn
a una AWS KMS política para los EventBridge temas cifrados.{ "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
" } } } -
SSEActívalo para tu tema usando tu. KMS
-
Proporcione ARN el tema cifrado a la fuente del evento.
AWS KMS errores
Cuando trabajas con Amazon SNS AWS KMS, es posible que encuentres errores. En la siguiente lista se describen los errores y sus posibles soluciones.
- KMSAccessDeniedException
-
El texto cifrado hace referencia a una clave que no existe o a la que no tiene acceso.
HTTPCódigo de estado: 400
- KMSDisabledException
-
La solicitud se rechazó porque lo especificado KMS no está activado.
HTTPCódigo de estado: 400
- KMSInvalidStateException
-
La solicitud se rechazó porque el estado del recurso especificado no es válido para esta solicitud. Para obtener más información, consulte Estados de clave de AWS KMS keys en la Guía para desarrolladores de AWS Key Management Service .
HTTPCódigo de estado: 400
- KMSNotFoundException
-
La solicitud se rechazó porque la entidad o el recurso especificado no se encontraron.
HTTPCódigo de estado: 400
- KMSOptInRequired
-
La ID de la clave de AWS acceso necesita una suscripción al servicio.
HTTPCódigo de estado: 403
- KMSThrottlingException
-
La solicitud fue denegada debido a una limitación de la solicitud. Para obtener más información sobre la limitación, consulte Cuotas en la Guía para desarrolladores de AWS Key Management Service .
HTTPCódigo de estado: 400