Wie beheert de sleutel

AWS-beveiliging gebruiken voor developers

Rahul Singh

Technical Product Manager

Twee soorten KMS-sleutel

AWS managed

  • Aangemaakt door de service, alias aws/s3
  • Beleid leesbaar, niet bewerkbaar
  • Geen maandkosten

Twee gestapelde kaarten die een AWS managed-sleutel vergelijken met een customer managed-sleutel op dezelfde drie rijen: sleutelbeleid, rotatie en kosten. De rij sleutelbeleid van de customer managed-kaart is gemarkeerd. Elke kaart heeft zijn alias: aws slash s3 en alias slash reports.

AWS-beveiliging gebruiken voor developers

Twee soorten KMS-sleutel

AWS managed

  • Aangemaakt door de service, alias aws/s3
  • Beleid leesbaar, niet bewerkbaar
  • Geen maandkosten

Customer managed

  • Door jou aangemaakt, alias alias/reports, beleid door jou te schrijven
  • Rotatieperiode stel je zelf in
  • Eén dollar per maand, per sleutel

Twee gestapelde kaarten die een AWS managed-sleutel vergelijken met een customer managed-sleutel op dezelfde drie rijen: sleutelbeleid, rotatie en kosten. De rij sleutelbeleid van de customer managed-kaart is gemarkeerd. Elke kaart heeft zijn alias: aws slash s3 en alias slash reports.

AWS-beveiliging gebruiken voor developers

Twee poorten, en beide moeten open

Eén decrypt-verzoek dat de eerste van twee poorten nadert. De IAM-beleidspoort is ononderbroken getekend en genummerd één, de sleutelbeleidspoort erachter is gestippeld en grijs, en geen van beide heeft al geantwoord.

  1. IAM-beleid: wat de aanroeper mag vragen
AWS-beveiliging gebruiken voor developers

Twee poorten, en beide moeten open

Eén decrypt-verzoek dat van links naar rechts door twee genummerde poorten gaat, markering één het IAM-beleid en markering twee het sleutelbeleid, voordat het de KMS-sleutel bereikt. Een accolade onder de twee poorten labelt ze als onafhankelijke antwoorden.

  1. IAM-beleid: wat de aanroeper mag vragen
  2. Sleutelbeleid: wie de sleutel te woord staat

Standaard sleutelbeleid: delegeert aan IAM

Grants: specifieke sleutelacties voor één principal, zelfstandig herroepbaar

AWS-beveiliging gebruiken voor developers

De sleutel raakt je data nooit

Amazon S3 dat namens jou belt met AWS KMS bij markering één, en KMS geeft één datasleutel terug als een platte kopie en een versleutelde kopie. De versleutelde kopie wordt naast de object-cijfertekst opgeslagen, en een gestippeld retourpad bij markering twee voert het terug via een decrypt-oproep.

Envelope encryption

Directe encryptie: een plafond van 4 KB

AWS-beveiliging gebruiken voor developers

De sleutel raakt je data nooit

Amazon S3 dat namens jou belt met AWS KMS bij markering één, en KMS geeft één datasleutel terug als een platte kopie en een versleutelde kopie. De versleutelde kopie wordt naast de object-cijfertekst opgeslagen, en een gestippeld retourpad bij markering twee voert het terug via een decrypt-oproep.

Envelope encryption

Directe encryptie: een plafond van 4 KB

  1. GenerateDataKey, twee kopieën terug
  2. kms:Decrypt op de opgeslagen kopie
AWS-beveiliging gebruiken voor developers

Over accounts heen ziet niemand beide helften

Account van de aanroeper

  • Actie toegestaan in IAM
  • Resource: de sleutel-ARN

Twee gestippelde accountpanelen gescheiden door een accountgrens. De rol en het IAM-beleid van de aanroeper staan in het bovenste paneel, het sleutelbeleid en de KMS-sleutel in het onderste paneel, en het verzoek kruist de grens ertussen.

AWS-beveiliging gebruiken voor developers

Over accounts heen ziet niemand beide helften

Account van de aanroeper

  • Actie toegestaan in IAM
  • Resource: de sleutel-ARN

Account van de sleuteleigenaar

  • Sleutelbeleid dat de aanroeper benoemt
  • Het account, of een rol daarin

Twee gestippelde accountpanelen gescheiden door een accountgrens. De rol en het IAM-beleid van de aanroeper staan in het bovenste paneel, het sleutelbeleid en de KMS-sleutel in het onderste paneel, en het verzoek kruist de grens ertussen.

AWS-beveiliging gebruiken voor developers

Lees de afwijzing, niet de gok

Identity-based

  • AccessDeniedException, daarna de clausule die de poort noemt

  • no identity-based policy allows

  • Repareer het IAM-beleid van de aanroeper

 

Een decrypt-verzoek dat bij de eerste poort wordt gestopt, waar het IAM-beleid een rood kruis draagt en het sleutelbeleid erachter is uitgegrijsd en nooit wordt bereikt. Een bijschrift onder het diagram luidt: no identity-based policy allows.

 

AWS-beveiliging gebruiken voor developers

Lees de afwijzing, niet de gok

Identity-based

  • AccessDeniedException, daarna de clausule die de poort noemt

  • no identity-based policy allows

  • Repareer het IAM-beleid van de aanroeper

Resource-based

  • no resource-based policy allows
  • Repareer het sleutelbeleid

Een decrypt-verzoek dat bij de eerste poort wordt gestopt, waar het IAM-beleid een rood kruis draagt en het sleutelbeleid erachter is uitgegrijsd en nooit wordt bereikt. Een bijschrift onder het diagram luidt: no identity-based policy allows.

Een decrypt-verzoek dat een groen vinkje bij het IAM-beleid passeert en vervolgens bij de tweede poort wordt gestopt, waar het sleutelbeleid een rood kruis draagt. Een bijschrift onder het diagram luidt: no resource-based policy allows.

AWS-beveiliging gebruiken voor developers

Wat rotatie echt verandert

Automatische rotatie

  • Standaard 365 dagen
  • Bereik 90 tot 2.560 dagen

Drie kaarten met de minimale, standaard en maximale automatische rotatieperiodes in dagen, boven drie rijen die tonen welke soorten sleutels roteren en volgens wiens schema.

AWS-beveiliging gebruiken voor developers

Wat rotatie echt verandert

Automatische rotatie

  • Standaard 365 dagen
  • Bereik 90 tot 2.560 dagen

On demand

  • RotateKeyOnDemand, tot 25 keer per sleutel

Twee beperkingen

  • AWS managed-sleutels, vast op jaarlijks
  • Automatische rotatie: alleen symmetrisch, KMS-gegenereerd materiaal

Drie kaarten met de minimale, standaard en maximale automatische rotatieperiodes in dagen, boven drie rijen die tonen welke soorten sleutels roteren en volgens wiens schema.

AWS-beveiliging gebruiken voor developers

Wat rotatie niet oplost

Vier rijen vergeleken aan weerszijden van een rotatielijn. De rij met sleutelmateriaal verandert van versie één naar versie twee, terwijl de sleutel-ID, de alias en het sleutelbeleid, en eerder weggeschreven objecten identiek zijn aan beide kanten.

Verandert: het onderliggende sleutelmateriaal

Onveranderd: sleutel-ID, ARN, aliassen, sleutelbeleid

AWS-beveiliging gebruiken voor developers

Wat rotatie niet oplost

Vier rijen vergeleken aan weerszijden van een rotatielijn. De rij met sleutelmateriaal verandert van versie één naar versie twee, terwijl de sleutel-ID, de alias en het sleutelbeleid, en eerder weggeschreven objecten identiek zijn aan beide kanten.

Verandert: het onderliggende sleutelmateriaal

Onveranderd: sleutel-ID, ARN, aliassen, sleutelbeleid

  • Niets in je code om te wijzigen
  • Oude objecten en een te ruim beleid: beide ongewijzigd
AWS-beveiliging gebruiken voor developers

Waarom zou je het inschakelen

Wat het oplevert

  • Eén versie dekt nooit al je data
  • Compliance- en contractregels die rotatie vereisen

Een groene kaart met als kop wat het oplevert, onder het label rotatie inschakelen. Hij geeft een auditregel weer: roteer elke 365 dagen met een groen vinkje, en één sleutel getekend als drie verbonden versies, v1, v2 en v3, met het bijschrift dat elk alleen de eigen schrijfperiode dekt.

AWS-beveiliging gebruiken voor developers

Waarom zou je het inschakelen

Wat het oplevert

  • Eén versie dekt nooit al je data
  • Compliance- en contractregels die rotatie vereisen

 

Wat het kost

  • Geen codewijziging, niets opnieuw versleutelen

Dezelfde groene kaart wat het oplevert, nu met een tweede kaart eronder met als kop wat het kost. Die kaart geeft twee rijen: je code, ongewijzigd, en oude objecten, niet opnieuw versleutelen.

AWS-beveiliging gebruiken voor developers

Laten we oefenen!

AWS-beveiliging gebruiken voor developers

Preparing Video For Download...