Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Les sections suivantes fournissent des informations sur l’utilisation des clés gérées dans AWS Key Management Service (AWS KMS).
Note
Amazon SNS prend uniquement en charge que les clés KMS de chiffrement symétriques. Vous ne pouvez utiliser aucun autre type de clé KMS pour crypter les ressources de votre service. Pour savoir si une clé KMS est symétrique, consultez Identification de clés asymétriques KMS.
Estimation AWS KMS des coûts
Pour prévoir les coûts et mieux comprendre votre AWS facture, vous souhaiterez peut-être savoir à quelle fréquence Amazon SNS utilise votre. AWS KMS key
Note
Bien que la formule ci-après puisse vous donner une très bonne idée des coûts à prévoir, les coûts réels risquent d’être plus élevés en raison de la nature distribuée d’Amazon SNS.
Pour calculer le nombre de demandes d’API (R
) par rubrique, utilisez la formule suivante :
R = B / D * (2 * P)
B
est la période de facturation (en secondes).
D
est la période de réutilisation des clés de données (en secondes – Amazon SNS réutilise une clé de données pour une durée maximale de 5 minutes).
P
est le nombre de principaux de publication qui envoient des messages à la rubrique Amazon SNS.
Voici des exemples de calcul. Pour obtenir des informations précises sur la tarification, consultez Tarification AWS Key Management Service
Exemple 1 : calcul du nombre d'appels d' AWS KMS API pour 1 éditeur et 1 rubrique
Cet exemple suppose que :
-
La période de facturation va du 1er au 31 janvier (2 678 400 secondes).
-
La période de réutilisation des clés de données est de 5 minutes (300 secondes).
-
Il y a 1 rubrique.
-
Il y a 1 principal de publication.
2,678,400 / 300 * (2 * 1) = 17,856
Exemple 2 : calcul du nombre d’appels d’API AWS KMS pour plusieurs éditeurs et 2 rubriques
Cet exemple suppose que :
-
La période de facturation va du 1er au 28 février (2 419 200 secondes).
-
La période de réutilisation des clés de données est de 5 minutes (300 secondes).
-
Il y a 2 rubriques.
-
La première rubrique comporte 3 principals de publication.
-
La deuxième en compte 5.
(2,419,200 / 300 * (2 * 3)) + (2,419,200 / 300 * (2 * 5)) = 129,024
Configuration des AWS KMS autorisations
Avant de pouvoir utiliser SSE, vous devez configurer des AWS KMS key politiques pour autoriser le chiffrement des sujets ainsi que le chiffrement et le déchiffrement des messages. Pour obtenir des exemples et des informations supplémentaires sur les autorisations AWS KMS , consultez Autorisations de l'API AWS KMS : référence des actions et ressources dans le Guide du développeur AWS Key Management Service . Pour plus d'informations sur la configuration d'une rubrique Amazon SNS avec le chiffrement côté serveur, consultez Informations supplémentaires.
Note
Vous pouvez également gérer les autorisations pour les clés KMS à chiffrement symétrique à l'aide de politiques IAM. Pour plus d'informations, consultez la section Utilisation des politiques IAM avec AWS KMS.
Bien que vous puissiez configurer des autorisations globales pour envoyer et recevoir depuis Amazon SNS, AWS KMS
il est nécessaire de nommer explicitement l'ARN complet de certaines régions KMSs dans la Resource
section d'une politique IAM.
Vous devez également vous assurer que les principales politiques du pays AWS KMS key autorisent les autorisations nécessaires. Pour cela, nommez les mandataires qui produisent et consomment des messages chiffrés dans Amazon SNS en tant qu’utilisateurs dans la stratégie de clé KMS.
Vous pouvez également spécifier les AWS KMS actions requises et l'ARN KMS dans une politique IAM attribuée aux principaux responsables qui publient et s'abonnent pour recevoir des messages chiffrés sur Amazon SNS. Pour en savoir plus, consultez la section Gestion de l'accès à AWS KMS dans le Guide du développeur AWS Key Management Service .
Si vous sélectionnez une clé gérée par le client pour votre rubrique Amazon SNS et que vous utilisez des alias pour contrôler l'accès aux clés KMS à l'aide de politiques IAM ou de stratégies de clés KMS avec la clé de condition kms:ResourceAliases
, veillez à ce qu'un alias soit également associé à la clé gérée par le client sélectionnée. Pour plus d'informations sur l'utilisation d'alias pour contrôler l'accès aux clés KMS, consultez Utilisation d'alias pour contrôler l'accès aux clés KMS dans le Guide du développeur AWS Key Management Service
.
Autoriser un utilisateur à envoyer des messages à une rubrique avec chiffrement SSE
Le diffuseur de publication doit disposer des autorisations kms:GenerateDataKey*
et kms:Decrypt
pour la 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"
}]
}
Activez la compatibilité entre les sources d'événements issues AWS des services et des sujets chiffrés
Plusieurs AWS services publient des événements sur des sujets Amazon SNS. Pour permettre à ces sources d’événements d’utiliser des rubriques chiffrés, vous devez effectuer les opérations suivantes.
-
Utilisez une clé gérée par le client. Pour plus d’informations, consultez Création des clés dans le Guide du développeur AWS Key Management Service .
-
Pour autoriser le AWS service à disposer des
kms:Decrypt
autorisationskms:GenerateDataKey*
et, ajoutez l'instruction suivante à la politique KMS.{ "Statement": [{ "Effect": "Allow", "Principal": { "Service": "
service
.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" }] }Source de l’événement principal du service Amazon CloudWatch cloudwatch.amazonaws.com
CloudWatch Événements Amazon events.amazonaws.com
AWS CodeCommit codecommit.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 Edge importexport.amazonaws.com
AWS Systems Manager Gestionnaire des incidents AWS Systems Manager Incident Manager repose sur deux principes de service :
ssm-incidents.amazonaws.com
;ssm-contacts.amazonaws.com
Note
Certaines sources d'événements Amazon SNS nécessitent que vous fournissiez un rôle IAM (plutôt que le rôle principal du service) dans la politique : AWS KMS key
-
Ajoutez les clés de condition
aws:SourceAccount
etaws:SourceArn
à la politique basée sur les ressources KMS pour protéger davantage la clé KMS contre les attaques de l'adjoint confus. Reportez-vous à la liste des documents spécifiques au service (ci-dessus) pour connaître les détails précis de chaque cas.Important
L'ajout du
aws:SourceAccount
aws:SourceArn
, etaws:SourceOrgID
à une AWS KMS politique n'est pas pris en charge pour les EventBridge-to-encrypted rubriques.{ "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
" } } } -
Activez le chiffrement SSE pour votre rubrique à l’aide de votre clé KMS.
-
Fournissez l’ARN de la rubrique chiffré à la source de l’événement.
AWS KMS erreurs
Lorsque vous travaillez avec Amazon SNS AWS KMS, vous pouvez rencontrer des erreurs. La liste suivante décrit les erreurs et les solutions de dépannage possibles.
- KMSAccessDeniedException
-
Le texte chiffré désigne une clé qui n'existe pas ou à laquelle vous n'avez pas accès.
Code d’état HTTP : 400
- KMSDisabledException
-
La demande a été rejetée, car la clé KMS spécifiée n'est pas activée.
Code d’état HTTP : 400
- KMSInvalidStateException
-
La demande a été rejetée, car l'état de la ressource spécifiée n'est pas valide pour cette demande. Pour plus d'informations, consultez États de clé de AWS KMS keys dans le Manuel du développeur AWS Key Management Service .
Code d’état HTTP : 400
- KMSNotFoundException
-
La requête a été rejetée, car l'entité ou la ressource spécifiée est introuvable.
Code d’état HTTP : 400
- KMSOptInRequired
-
L'ID de clé d' AWS accès nécessite un abonnement au service.
Code d’état HTTP : 403
- KMSThrottlingException
-
La demande a été refusée suite à une limitation des demandes. Pour plus d'informations sur cette limitation, consultez Quotas dans le Manuel du développeur AWS Key Management Service .
Code d’état HTTP : 400