Chiffrement des données au repos pour AWS un accès vérifié - AWS Accès vérifié

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 des données au repos pour AWS un accès vérifié

AWS Verified Access chiffre les données au repos par défaut, à l'aide de clés KMS AWS détenues. Lorsque le chiffrement des données au repos est effectué par défaut, cela permet de réduire la charge opérationnelle et la complexité liées à la protection des données sensibles. Dans le même temps, il vous permet de créer des applications sécurisées qui répondent aux exigences réglementaires et de conformité strictes en matière de chiffrement. Les sections suivantes expliquent en détail comment Verified Access utilise les clés KMS pour le chiffrement des données au repos.

Accès vérifié et clés KMS

AWS clés possédées

Verified Access utilise des clés KMS pour chiffrer automatiquement les informations personnelles identifiables (PII). Cela se produit par défaut, et vous ne pouvez pas vous-même consulter, gérer, utiliser ou auditer l'utilisation des clés détenues par AWS. Toutefois, vous n'avez pas besoin de prendre de mesure ou de modifier les programmes pour protéger les clés qui chiffrent vos données. Pour plus d’informations, consultez Clés détenues par AWS dans le Guide du développeur AWS Key Management Service .

Bien que vous ne puissiez pas désactiver cette couche de chiffrement ou sélectionner un autre type de chiffrement, vous pouvez ajouter une deuxième couche de chiffrement aux clés de chiffrement AWS détenues existantes en choisissant une clé gérée par le client lorsque vous créez vos ressources d'accès vérifié.

Clés gérées par le client

Verified Access prend en charge l'utilisation de clés symétriques gérées par le client que vous créez et gérez, afin d'ajouter une deuxième couche de chiffrement au chiffrement par défaut existant. Étant donné que vous avez le contrôle total de cette couche de chiffrement, vous pouvez effectuer les tâches suivantes :

  • Établissement et gestion des stratégies de clé

  • Établissement et gestion des politiques IAM et des octrois

  • Activation et désactivation des stratégies de clé

  • Rotation des matériaux de chiffrement de clé

  • Ajout de balises

  • Création d'alias de clé

  • Planification des clés pour la suppression

Pour plus d'informations, consultez Clés gérées par le client dans le Guide du développeur AWS Key Management Service (langue française non garantie).

Note

Verified Access active automatiquement le chiffrement au repos à l'aide de clés AWS détenues afin de protéger gratuitement les données personnelles identifiables.

Toutefois, AWS KMS des frais s'appliquent lorsque vous utilisez une clé gérée par le client. Pour plus d'informations sur les tarifs, consultez les AWS Key Management Service tarifs.

Informations personnelles identifiables

Le tableau suivant résume les informations personnelles identifiables (PII) utilisées par Verified Access et la manière dont elles sont cryptées.

Type de données AWS chiffrement par clé détenue Chiffrement par clé gérée par le client (facultatif)
Trust provider (user-type)

Les fournisseurs de confiance de type utilisateur contiennent des options OIDC telles que AuthorizationEndpoint,, UserInfoEndpoint, ClientId,, ClientSecret, etc., qui sont considérées comme des informations personnelles.

Activées Activées
Trust provider (device-type)

Les fournisseurs de confiance de type appareil contiennent un TenantId, qui est considéré comme des informations personnelles.

Activées Activées
Group policy

Fourni lors de la création ou de la modification du groupe d'accès vérifié. Contient des règles pour autoriser les demandes d'accès. Peut contenir des informations personnelles telles que le nom d'utilisateur et l'adresse e-mail, etc.

Activées Activées
Endpoint policy

Fourni lors de la création ou de la modification du point de terminaison Verified Access. Contient des règles pour autoriser les demandes d'accès. Peut contenir des informations personnelles telles que le nom d'utilisateur et l'adresse e-mail, etc.

Activées Activées

Comment AWS Verified Access utilise les subventions dans AWS KMS

L'accès vérifié nécessite une autorisation pour utiliser votre clé gérée par le client.

Lorsque vous créez des ressources Verified Access chiffrées à l'aide d'une clé gérée par le client, Verified Access crée une subvention en votre nom en envoyant une CreateGrantdemande à AWS KMS. Les subventions AWS KMS sont utilisées pour donner à Verified Access l'accès à une clé gérée par le client dans votre compte.

L'accès vérifié nécessite l'autorisation d'utiliser votre clé gérée par le client pour les opérations internes suivantes :

  • Envoyez des demandes de déchiffrement AWS KMS à pour déchiffrer les clés de données chiffrées afin qu'elles puissent être utilisées pour déchiffrer vos données.

  • Envoyez RetireGrantdes demandes AWS KMS de suppression d'une subvention.

Vous pouvez révoquer l'accès à l'octroi ou supprimer l'accès du service à la clé gérée par le client à tout moment. Dans ce cas, Verified Access ne pourra accéder à aucune des données chiffrées par la clé gérée par le client, ce qui affectera les opérations qui dépendent de ces données.

Utilisation de clés gérées par le client avec accès vérifié

Vous pouvez créer une clé symétrique gérée par le client en utilisant le AWS Management Console, ou le AWS KMS APIs. Suivez les étapes de création d'une clé de chiffrement symétrique dans le manuel du AWS Key Management Service développeur.

Politiques clés

Les stratégies de clé contrôlent l’accès à votre clé gérée par le client. Chaque clé gérée par le client doit avoir exactement une stratégie de clé, qui contient des instructions qui déterminent les personnes pouvant utiliser la clé et comment elles peuvent l’utiliser. Lorsque vous créez votre clé gérée par le client, vous pouvez spécifier une stratégie de clé. Pour plus d'informations, consultez la section Politiques clés du Guide du AWS Key Management Service développeur.

Pour utiliser votre clé gérée par le client avec vos ressources d'accès vérifié, les opérations d'API suivantes doivent être autorisées dans la politique des clés :

  • kms:CreateGrant : ajoute une attribution à une clé gérée par le client. Accorde un accès de contrôle à une clé KMS spécifiée, ce qui permet d'autoriser les opérations requises par Verified Access. Pour plus d'informations, consultez la section Subventions dans le guide du AWS Key Management Service développeur.

    Cela permet à Verified Access d'effectuer les opérations suivantes :

    • Appelez GenerateDataKeyWithoutPlainText pour générer une clé de données chiffrée et la stocker, car la clé de données n'est pas immédiatement utilisée pour chiffrer.

    • Appelez Decrypt pour utiliser la clé de données chiffrée stockée afin d'accéder aux données chiffrées.

    • Configurez un directeur partant à la retraite pour permettre au service deRetireGrant.

  • kms:DescribeKey— Fournit les informations clés gérées par le client pour permettre à Verified Access de valider la clé.

  • kms:GenerateDataKey— Permet à Verified Access d'utiliser une clé pour chiffrer les données.

  • kms:Decrypt— Autoriser Verified Access pour déchiffrer les clés de données cryptées.

Voici un exemple de politique clé que vous pouvez utiliser pour l'accès vérifié.

"Statement" : [ { "Sid" : "Allow access to principals authorized to use Verified Access", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "verified-access.region.amazonaws.com", "kms:CallerAccount" : "111122223333" } }, { "Sid": "Allow access for key administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:*" ], "Resource": "arn:aws:kms:region:111122223333:key/key_ID" }, { "Sid" : "Allow read-only access to key metadata to the account", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:Describe*", "kms:Get*", "kms:List*", "kms:RevokeGrant" ], "Resource" : "*" } ]

Pour plus d'informations, consultez les sections Création d'une politique clé et résolution des problèmes d'accès par clé dans le Guide du AWS Key Management Service développeur.

Spécification d'une clé gérée par le client pour les ressources d'accès vérifié

Vous pouvez spécifier une clé gérée par le client afin de fournir un chiffrement de deuxième couche pour les ressources suivantes :

Lorsque vous créez l'une de ces ressources à l'aide de AWS Management Console, vous pouvez spécifier une clé gérée par le client dans la section Chiffrement supplémentaire -- facultatif. Au cours du processus, cochez la case Personnaliser les paramètres de chiffrement (avancés), puis entrez l'ID de AWS KMS clé que vous souhaitez utiliser. Cela peut également être fait lors de la modification d'une ressource existante ou en utilisant le AWS CLI.

Note

Si la clé gérée par le client utilisée pour ajouter un chiffrement supplémentaire à l'une des ressources ci-dessus est perdue, les valeurs de configuration des ressources ne seront plus accessibles. Les ressources peuvent toutefois être modifiées en utilisant le AWS Management Console ou AWS CLI pour appliquer une nouvelle clé gérée par le client et réinitialiser les valeurs de configuration.

AWS Contexte de chiffrement de Verified Access

Un contexte de chiffrement est un ensemble facultatif de paires clé-valeur contenant des informations contextuelles supplémentaires sur les données. AWS KMS utilise le contexte de chiffrement comme données authentifiées supplémentaires pour prendre en charge le chiffrement authentifié. Lorsque vous incluez un contexte de chiffrement dans une demande de chiffrement de données, AWS KMS lie le contexte de chiffrement aux données chiffrées. Pour déchiffrer les données, vous devez inclure le même contexte de chiffrement dans la demande.

AWS Contexte de chiffrement de Verified Access

Verified Access utilise le même contexte de chiffrement dans toutes les opérations AWS KMS cryptographiques, où la clé aws:verified-access:arn et la valeur sont le nom de la ressource Amazon Resource Name (ARN). Vous trouverez ci-dessous les contextes de chiffrement pour les ressources d'accès vérifié.

Fournisseur de confiance Verified Access

"encryptionContext": { "aws:verified-access:arn": "arn:aws:ec2:region:111122223333:VerifiedAccessTrustProviderId" }

Groupe d'accès vérifié

"encryptionContext": { "aws:verified-access:arn": "arn:aws:ec2:region:111122223333:VerifiedAccessGroupId" }

Point de terminaison d'accès vérifié

"encryptionContext": { "aws:verified-access:arn": "arn:aws:ec2:region:111122223333:VerifiedAccessEndpointId" }

Surveillance de vos clés de chiffrement pour AWS un accès vérifié

Lorsque vous utilisez une clé KMS gérée par le client avec vos ressources AWS Verified Access, vous pouvez l'utiliser AWS CloudTrailpour suivre les demandes auxquelles Verified Access envoie AWS KMS.

Les exemples suivants sont AWS CloudTrail des événements pourCreateGrant,,RetireGrant, et Decrypt DescribeKeyGenerateDataKey, qui surveillent les opérations KMS appelées par Verified Access pour accéder aux données chiffrées par votre clé KMS gérée par le client :

CreateGrant

Lorsque vous utilisez une clé gérée par le client pour chiffrer vos ressources, Verified Access envoie une CreateGrant demande en votre nom pour accéder à la clé de votre AWS compte. L'autorisation créée par Verified Access est spécifique à la ressource associée à la clé gérée par le client.

L’exemple d’événement suivant enregistre l’opération CreateGrant :

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-09-11T16:27:12Z", "mfaAuthenticated": "false" } }, "invokedBy": "verified-access.amazonaws.com" }, "eventTime": "2023-09-11T16:41:42Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "ca-central-1", "sourceIPAddress": "verified-access.amazonaws.com", "userAgent": "verified-access.amazonaws.com", "requestParameters": { "operations": [ "Decrypt", "RetireGrant", "GenerateDataKey" ], "keyId": "arn:aws:kms:ca-central-1:111122223333:key/5ed79e7f-88c9-420c-ae1a-61ee87104dae", "constraints": { "encryptionContextSubset": { "aws:verified-access:arn": "arn:aws:ec2:ca-central-1:111122223333:verified-access-trust-provider/vatp-0e54f581e2e5c97a2" } }, "granteePrincipal": "verified-access.ca-central-1.amazonaws.com", "retiringPrincipal": "verified-access.ca-central-1.amazonaws.com" }, "responseElements": { "grantId": "e5a050fff9893ba1c43f83fddf61e5f9988f579beaadd6d4ad6d1df07df6048f", "keyId": "arn:aws:kms:ca-central-1:111122223333:key/5ed79e7f-88c9-420c-ae1a-61ee87104dae" }, "requestID": "0faa837e-5c69-4189-9736-3957278e6444", "eventID": "1b6dd8b8-cbee-4a83-9b9d-d95fa5f6fd08", "readOnly": false, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:ca-central-1:111122223333:key/5ed79e7f-88c9-420c-ae1a-61ee87104dae" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
RetireGrant

L'accès vérifié utilise l'RetireGrantopération pour supprimer une subvention lorsque vous supprimez une ressource.

L’exemple d’événement suivant enregistre l’opération RetireGrant :

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-09-11T16:42:33Z", "mfaAuthenticated": "false" } }, "invokedBy": "verified-access.amazonaws.com" }, "eventTime": "2023-09-11T16:47:53Z", "eventSource": "kms.amazonaws.com", "eventName": "RetireGrant", "awsRegion": "ca-central-1", "sourceIPAddress": "verified-access.amazonaws.com", "userAgent": "verified-access.amazonaws.com", "requestParameters": null, "responseElements": { "keyId": "arn:aws:kms:ca-central-1:111122223333:key/5ed79e7f-88c9-420c-ae1a-61ee87104dae" }, "additionalEventData": { "grantId": "b35e66f9bacb266cec214fcaa353c9cf750785e28773e61ba6f434d8c5c7632f" }, "requestID": "7d4a31c2-d426-434b-8f86-336532a70462", "eventID": "17edc343-f25b-43d4-bbff-150d8fff4cf8", "readOnly": false, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:ca-central-1:111122223333:key/5ed79e7f-88c9-420c-ae1a-61ee87104dae" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Decrypt

Verified Access appelle l'Decryptopération pour utiliser la clé de données cryptée stockée afin d'accéder aux données cryptées.

L’exemple d’événement suivant enregistre l’opération Decrypt :

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-09-11T17:19:33Z", "mfaAuthenticated": "false" } }, "invokedBy": "verified-access.amazonaws.com" }, "eventTime": "2023-09-11T17:47:05Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "ca-central-1", "sourceIPAddress": "verified-access.amazonaws.com", "userAgent": "verified-access.amazonaws.com", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e", "encryptionContext": { "aws:verified-access:arn": "arn:aws:ec2:ca-central-1:111122223333:verified-access-trust-provider/vatp-00f20a4e455e9340f", "aws-crypto-public-key": "AkK+vi1W/acBKv7OR8p2DeUrA8EgpTffSrjBqNucODuBYhyZ3hlMuYYJz9x7CwQWZw==" } }, "responseElements": null, "requestID": "2e920fd3-f2f6-41b2-a5e7-2c2cb6f853a9", "eventID": "3329e0a3-bcfb-44cf-9813-8106d6eee31d", "readOnly": true, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
DescribeKey

Verified Access utilise cette DescribeKey opération pour vérifier si la clé gérée par le client associée à votre ressource existe dans le compte et dans la région.

L’exemple d’événement suivant enregistre l’opération DescribeKey :

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-09-11T17:19:33Z", "mfaAuthenticated": "false" } }, "invokedBy": "verified-access.amazonaws.com" }, "eventTime": "2023-09-11T17:46:48Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "ca-central-1", "sourceIPAddress": "verified-access.amazonaws.com", "userAgent": "verified-access.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e" }, "responseElements": null, "requestID": "5b127082-6691-48fa-bfb0-4d40e1503636", "eventID": "ffcfc2bb-f94b-4c00-b6fb-feac77daff2a", "readOnly": true, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
GenerateDataKey

L’exemple d’événement suivant enregistre l’opération GenerateDataKey :

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-09-11T17:19:33Z", "mfaAuthenticated": "false" } }, "invokedBy": "verified-access.amazonaws.com" }, "eventTime": "2023-09-11T17:46:49Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "ca-central-1", "sourceIPAddress": "verified-access.amazonaws.com", "userAgent": "verified-access.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:verified-access:arn": "arn:aws:ec2:ca-central-1:111122223333:verified-access-trust-provider/vatp-00f20a4e455e9340f", "aws-crypto-public-key": "A/ATGxaYatPUlOtM+l/mfDndkzHUmX5Hav+29IlIm+JRBKFuXf24ulztmOIsqFQliw==" }, "numberOfBytes": 32, "keyId": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e" }, "responseElements": null, "requestID": "06535808-7cce-4ae1-ab40-e3afbf158a43", "eventID": "1ce79601-5a5e-412c-90b3-978925036526", "readOnly": true, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }