Qui contrôle la clé

Sécurité AWS pour les développeurs

Rahul Singh

Technical Product Manager

Deux types de clé KMS

Gérée par AWS

  • Créée par le service, alias aws/s3
  • Politique lisible, non modifiable
  • Aucuns frais mensuels

Deux cartes empilées comparent une clé gérée par AWS et une clé gérée par le client sur trois lignes identiques : politique de clé, rotation et coût. La ligne « politique de clé » de la carte gérée par le client est mise en évidence. Chaque carte affiche son alias : aws slash s3 et alias slash reports.

Sécurité AWS pour les développeurs

Deux types de clé KMS

Gérée par AWS

  • Créée par le service, alias aws/s3
  • Politique lisible, non modifiable
  • Aucuns frais mensuels

Gérée par le client

  • Créée par vous, alias alias/reports, politique rédigée par vous
  • Période de rotation à définir par vous
  • Un dollar par mois et par clé

Deux cartes empilées comparent une clé gérée par AWS et une clé gérée par le client sur trois lignes identiques : politique de clé, rotation et coût. La ligne « politique de clé » de la carte gérée par le client est mise en évidence. Chaque carte affiche son alias : aws slash s3 et alias slash reports.

Sécurité AWS pour les développeurs

Deux portes, et les deux doivent s'ouvrir

Une requête de déchiffrement approche la première de deux portes. La porte de la politique IAM est pleine et numérotée un, la porte de la politique de clé derrière est en pointillé et grise, et aucune n'a encore répondu.

  1. Politique IAM : ce que l'appelant peut demander
Sécurité AWS pour les développeurs

Deux portes, et les deux doivent s'ouvrir

Une requête de déchiffrement traverse de gauche à droite deux portes numérotées, repère un la politique IAM et repère deux la politique de clé, avant d'atteindre la clé KMS. Une accolade sous les deux portes les étiquette « réponses indépendantes ».

  1. Politique IAM : ce que l'appelant peut demander
  2. Politique de clé : à qui la clé répondra

Politique de clé par défaut : délègue à IAM

Grants : opérations de clé spécifiques pour un principal, révocables séparément

Sécurité AWS pour les développeurs

La clé ne touche jamais vos données

Amazon S3, agissant en votre nom, appelle AWS KMS au repère un, et KMS renvoie une clé de données en clair et une copie chiffrée. La copie chiffrée est stockée à côté du texte chiffré de l'objet, et un trajet de retour en pointillé au repère deux la renvoie via un appel de déchiffrement.

Chiffrement par enveloppe

Chiffrement direct : limite à 4 KB

Sécurité AWS pour les développeurs

La clé ne touche jamais vos données

Amazon S3, agissant en votre nom, appelle AWS KMS au repère un, et KMS renvoie une clé de données en clair et une copie chiffrée. La copie chiffrée est stockée à côté du texte chiffré de l'objet, et un trajet de retour en pointillé au repère deux la renvoie via un appel de déchiffrement.

Chiffrement par enveloppe

Chiffrement direct : limite à 4 KB

  1. GenerateDataKey, deux copies en retour
  2. kms:Decrypt sur la copie stockée
Sécurité AWS pour les développeurs

Entre comptes, personne ne voit les deux moitiés

Compte de l'appelant

  • Action autorisée dans IAM
  • Ressource : l'ARN de la clé

Deux panneaux de compte en pointillé séparés par une limite de compte. Le rôle de l'appelant et sa politique IAM sont dans le panneau supérieur, la politique de clé et la clé KMS dans le panneau inférieur, et la requête traverse la limite entre les deux.

Sécurité AWS pour les développeurs

Entre comptes, personne ne voit les deux moitiés

Compte de l'appelant

  • Action autorisée dans IAM
  • Ressource : l'ARN de la clé

Compte du propriétaire de la clé

  • Politique de clé nommant l'appelant
  • Le compte, ou un rôle en son sein

Deux panneaux de compte en pointillé séparés par une limite de compte. Le rôle de l'appelant et sa politique IAM sont dans le panneau supérieur, la politique de clé et la clé KMS dans le panneau inférieur, et la requête traverse la limite entre les deux.

Sécurité AWS pour les développeurs

Lisez le refus, pas la supposition

Basée sur l'identité

  • AccessDeniedException, puis la clause qui nomme la porte

  • no identity-based policy allows

  • Corrigez la politique IAM de l'appelant

 

Une requête de déchiffrement est arrêtée à la première porte, où la politique IAM porte une croix rouge et la politique de clé derrière est grisée et jamais atteinte. Une légende sous le schéma indique : no identity-based policy allows.

 

Sécurité AWS pour les développeurs

Lisez le refus, pas la supposition

Basée sur l'identité

  • AccessDeniedException, puis la clause qui nomme la porte

  • no identity-based policy allows

  • Corrigez la politique IAM de l'appelant

Basée sur la ressource

  • no resource-based policy allows
  • Corrigez la politique de clé

Une requête de déchiffrement est arrêtée à la première porte, où la politique IAM porte une croix rouge et la politique de clé derrière est grisée et jamais atteinte. Une légende sous le schéma indique : no identity-based policy allows.

Une requête de déchiffrement passe une politique IAM cochée en vert puis est arrêtée à la seconde porte, où la politique de clé porte une croix rouge. Une légende sous le schéma indique : no resource-based policy allows.

Sécurité AWS pour les développeurs

Ce que la rotation change vraiment

Rotation automatique

  • Par défaut : 365 jours
  • Plage : de 90 à 2,560 jours

Trois cartes indiquent les périodes minimales, par défaut et maximales de rotation automatique en jours, au-dessus de trois lignes montrant quels types de clé tournent et selon quel calendrier.

Sécurité AWS pour les développeurs

Ce que la rotation change vraiment

Rotation automatique

  • Par défaut : 365 jours
  • Plage : de 90 à 2,560 jours

À la demande

  • RotateKeyOnDemand, jusqu'à 25 fois par clé

Deux limites

  • Clés gérées par AWS : fixe à annuel
  • Rotation automatique : matériel symétrique généré par KMS uniquement

Trois cartes indiquent les périodes minimales, par défaut et maximales de rotation automatique en jours, au-dessus de trois lignes montrant quels types de clé tournent et selon quel calendrier.

Sécurité AWS pour les développeurs

Ce que la rotation ne corrige pas

Quatre lignes comparées de part et d'autre d'une ligne de rotation. La ligne du matériel de clé passe de la version un à la version deux, tandis que l'identifiant de clé, l'alias et la politique de clé, et les objets écrits auparavant sont identiques des deux côtés.

Change : le matériel de clé sous-jacent

Inchangé : ID de clé, ARN, alias, politique de clé

Sécurité AWS pour les développeurs

Ce que la rotation ne corrige pas

Quatre lignes comparées de part et d'autre d'une ligne de rotation. La ligne du matériel de clé passe de la version un à la version deux, tandis que l'identifiant de clé, l'alias et la politique de clé, et les objets écrits auparavant sont identiques des deux côtés.

Change : le matériel de clé sous-jacent

Inchangé : ID de clé, ARN, alias, politique de clé

  • Rien à modifier dans votre code
  • Anciens objets et politique trop large : tous deux inchangés
Sécurité AWS pour les développeurs

Pourquoi l'activer

Ce que cela apporte

  • Une version ne couvre jamais toutes vos données
  • Règles de conformité et contrats imposant la rotation

Une carte verte intitulée « ce que cela apporte », sous l'étiquette activation de la rotation. Elle donne une règle d'audit « faire pivoter tous les 365 jours » avec une coche verte, et une clé dessinée en trois versions liées, v1, v2 et v3, chacune couvrant seulement ce qu'elle a écrit.

Sécurité AWS pour les développeurs

Pourquoi l'activer

Ce que cela apporte

  • Une version ne couvre jamais toutes vos données
  • Règles de conformité et contrats imposant la rotation

 

Ce que cela coûte

  • Aucun changement de code, rien à rechiffrer

La même carte verte « ce que cela apporte », avec en dessous une seconde carte intitulée « ce que cela coûte ». Cette carte comporte deux lignes : votre code, inchangé ; anciens objets, pas de rechiffrement.

Sécurité AWS pour les développeurs

Passons à la pratique !

Sécurité AWS pour les développeurs

Preparing Video For Download...