Chiffrement au repos - EventBridge Planificateur

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.

Chiffrement au repos

Cette section décrit comment Amazon EventBridge Scheduler chiffre et déchiffre vos données au repos. Les données au repos sont des données stockées dans le EventBridge planificateur et dans les composants sous-jacents du service. EventBridge Le planificateur s'intègre à AWS Key Management Service (AWS KMS) pour chiffrer et déchiffrer vos données à l'aide d'un. AWS KMS key EventBridge Le planificateur prend en charge deux types de clés KMS : Clés détenues par AWSet les clés gérées par le client.

Note

EventBridge Le planificateur prend uniquement en charge l'utilisation de clés KMS de chiffrement symétriques.

Clés détenues par AWSsont des clés KMS qu'un AWS service possède et gère pour être utilisées dans plusieurs AWS comptes. Bien que les utilisations du Clés détenues par AWS EventBridge planificateur ne soient pas stockées dans votre AWS compte, le EventBridge planificateur les utilise pour protéger vos données et vos ressources. Par défaut, EventBridge Scheduler chiffre et déchiffre toutes vos données à l'aide d'une clé propriétaire. AWS Vous n'avez pas besoin de gérer votre politique d'accès Clé détenue par AWS ou la sienne. Vous n'avez pas à payer de frais lorsque EventBridge Scheduler les utilise Clés détenues par AWS pour protéger vos données, et leur utilisation n'est pas prise en compte dans les AWS KMS quotas de votre compte.

Les clés gérées par le client sont des clés KMS stockées dans votre AWS compte que vous créez, détenez et gérez. Si votre cas d'utilisation spécifique nécessite que vous contrôliez et auditiez les clés de chiffrement qui protègent vos données sur EventBridge Scheduler, vous pouvez utiliser une clé gérée par le client. Si vous choisissez une clé gérée par le client, vous devez gérer votre politique en matière de clés. Les clés gérées par le client entraînent des frais mensuels et des frais pour une utilisation au-delà de l'offre gratuite. L'utilisation d'une clé gérée par le client compte également dans votre AWS KMS quota. Pour plus d'informations sur les tarifs, consultez la section AWS Key Management Service tarification.

Artefacts de chiffrement

Le tableau suivant décrit les différents types de données que EventBridge Scheduler chiffre au repos, ainsi que le type de clé KMS qu'il prend en charge pour chaque catégorie.

Type de données Description Clé détenue par AWS clé gérée par le client

Charge utile (jusqu'à 256 Ko)

Les données que vous spécifiez dans le TargetInput paramètre du planning lorsque vous configurez le planning à livrer à la cible.

Pris en charge

Pris en charge

Identifiant et état

Le nom unique et l'état (activation, désactivation) du planning.

Pris en charge

Non pris en charge

Planification d’une Configuration.

L'expression de planification, telle que l'expression rate ou cron pour les plannings récurrents, et l'horodatage pour les invocations ponctuelles, ainsi que la date de début, la date de fin et le fuseau horaire du planning.

Pris en charge

Non pris en charge

Configuration de la cible

Le nom de ressource Amazon (ARN) de la cible et d'autres détails de configuration liés à la cible.

Pris en charge

Non pris en charge

Configuration du comportement d'appel et de défaillance

Configuration flexible des fenêtres horaires, politique de nouvelles tentatives du calendrier et détails de la file d'attente en cas d'échec des livraisons.

Pris en charge

Non pris en charge

EventBridge Le planificateur utilise les clés gérées par le client uniquement pour chiffrer et déchiffrer la charge utile cible, comme décrit dans le tableau précédent. Si vous choisissez d'utiliser une clé gérée par le client, EventBridge Scheduler chiffre et déchiffre la charge utile deux fois : une fois en utilisant la clé par défaut Clé détenue par AWS et une autre fois en utilisant la clé gérée par le client que vous spécifiez. Pour tous les autres types de données, EventBridge Scheduler utilise uniquement la valeur par défaut Clé détenue par AWS pour protéger vos données au repos.

Utilisez la Gestion des clés KMS section suivante pour savoir comment vous devez gérer vos ressources IAM et vos politiques clés afin d'utiliser une clé gérée par le client avec EventBridge Scheduler.

Gestion des clés KMS

Vous pouvez éventuellement fournir une clé gérée par le client pour chiffrer et déchiffrer la charge utile que votre planning envoie à sa cible. EventBridge Le planificateur chiffre et déchiffre votre charge utile jusqu'à 256 Ko de données. L'utilisation d'une clé gérée par le client entraîne des frais mensuels et des frais supérieurs au niveau gratuit. L'utilisation d'un compte clé géré par le client dans le cadre de votre AWS KMS quota. Pour plus d'informations sur les tarifs, consultez la section sur AWS Key Management Service les tarifs

EventBridge Le planificateur utilise les autorisations IAM associées au principal qui crée un calendrier pour chiffrer vos données. Cela signifie que vous devez associer les autorisations AWS KMS associées requises à l'utilisateur, ou au rôle, qui appelle l'API EventBridge Scheduler. En outre, EventBridge Scheduler utilise des politiques basées sur les ressources pour déchiffrer vos données. Cela signifie que le rôle d'exécution associé à votre calendrier doit également disposer des autorisations AWS KMS associées requises pour appeler l' AWS KMS API lors du déchiffrement des données.

Note

EventBridge Le planificateur ne prend pas en charge l'utilisation de subventions pour des autorisations temporaires.

Consultez la section suivante pour savoir comment gérer votre politique en matière de AWS KMS clés et les autorisations IAM requises pour utiliser une clé gérée par le client sur EventBridge Scheduler.

Ajouter des autorisations IAM

Pour utiliser une clé gérée par le client, vous devez ajouter les autorisations suivantes au principal IAM basé sur l'identité qui crée un calendrier, ainsi qu'au rôle d'exécution que vous associez au calendrier.

Autorisations basées sur l'identité pour les clés gérées par le client

Vous devez ajouter les AWS KMS actions suivantes à la politique d'autorisation associée à tout principal (utilisateurs, groupes ou rôles) qui appelle l'API EventBridge Scheduler lors de la création d'un calendrier.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "scheduler:*", # Required to pass the execution role "iam:PassRole", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Effect": "Allow" }, ] }
  • kms:DescribeKey— Nécessaire pour valider que la clé que vous fournissez est une clé KMS de chiffrement symétrique.

  • kms:GenerateDataKey— Nécessaire pour générer la clé de données que EventBridge Scheduler utilise pour effectuer le chiffrement côté client.

  • kms:Decrypt— Nécessaire de déchiffrer la clé de données cryptée que EventBridge Scheduler stocke avec vos données cryptées.

Autorisations relatives aux rôles d'exécution pour les clés gérées par le client

Vous devez ajouter l'action suivante à la politique d'autorisation des rôles d'exécution de votre calendrier afin de permettre au EventBridge Scheduler d'appeler l' AWS KMS API lors du déchiffrement de vos données.

{ "Version": "2012-10-17", "Statement" : [ { "Sid" : "Allow EventBridge Scheduler to decrypt data using a customer managed key", "Effect" : "Allow", "Action" : [ "kms:Decrypt" ], "Resource": "arn:aws:kms:your-region:123456789012:key/your-key-id" } ] }
  • kms:Decrypt— Nécessaire de déchiffrer la clé de données cryptée que EventBridge Scheduler stocke avec vos données cryptées.

Si vous utilisez la console du EventBridge planificateur pour créer un nouveau rôle d'exécution lorsque vous créez un nouveau calendrier, le EventBridge planificateur associera automatiquement l'autorisation requise à votre rôle d'exécution. Toutefois, si vous choisissez un rôle d'exécution existant, vous devez ajouter les autorisations requises au rôle pour pouvoir utiliser les clés gérées par vos clients.

Gérer la politique clé

Lorsque vous créez une clé gérée par le client en utilisant AWS KMS, par défaut, votre clé possède la politique de clé suivante pour donner accès aux rôles d'exécution de vos plannings.

{ "Id": "key-policy-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Provide required IAM Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "kms:*", "Resource": "*" } ] }

Vous pouvez éventuellement limiter la portée de votre politique clé afin de ne donner accès qu'au rôle d'exécution. Vous pouvez le faire si vous souhaitez utiliser votre clé gérée par le client uniquement avec les ressources de votre EventBridge planificateur. Utilisez l'exemple de politique clé suivant pour limiter les ressources du EventBridge planificateur qui peuvent utiliser votre clé.

{ "Id": "key-policy-2", "Version": "2012-10-17", "Statement": [ { "Sid": "Provide required IAM Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::695325144837:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/schedule-execution-role" }, "Action": [ "kms:Decrypt" ], "Resource": "*" } ] }

CloudTrail exemple d'événement

AWS CloudTrail capture tous les événements des appels d'API. Cela inclut les appels d'API chaque fois que le EventBridge planificateur utilise votre clé gérée par le client pour déchiffrer vos données. L'exemple suivant montre une entrée d' CloudTrail événement qui montre que EventBridge Scheduler utilise l'kms:Decryptaction à l'aide d'une clé gérée par le client.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "ABCDEABCD1AB12ABABAB0:70abcd123a123a12345a1aa12aa1bc12", "arn": "arn:aws:sts::123456789012:assumed-role/execution-role/70abcd123a123a12345a1aa12aa1bc12", "accountId": "123456789012", "accessKeyId": "ABCDEFGHI1JKLMNOP2Q3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "ABCDEABCD1AB12ABABAB0", "arn": "arn:aws:iam::123456789012:role/execution-role", "accountId": "123456789012", "userName": "execution-role" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-10-31T21:03:15Z", "mfaAuthenticated": "false" } } }, "eventTime": "2022-10-31T21:03:15Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "eu-north-1", "sourceIPAddress": "13.50.87.173", "userAgent": "aws-sdk-java/2.17.295 Linux/4.14.291-218.527.amzn2.x86_64 OpenJDK_64-Bit_Server_VM/11.0.17+9-LTS Java/11.0.17 kotlin/1.3.72-release-468 (1.3.72) vendor/Amazon.com_Inc. md/internal exec-env/AWS_ECS_FARGATE io/sync http/Apache cfg/retry-mode/standard AwsCrypto/2.4.0", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:123456789012:key/2321abab-2110-12ab-a123-a2b34c5abc67", "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "encryptionContext": { "aws:scheduler:schedule:arn": "arn:aws:scheduler:us-west-2:123456789012:schedule/default/execution-role" } }, "responseElements": null, "requestID": "request-id", "eventID": "event-id", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:123456789012:key/2321abab-2110-12ab-a123-a2b34c5abc67" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_256_GCM_SHA384", "clientProvidedHostHeader": "kms.us-west-2.amazonaws.com" } }