Introduktion till AWS-säkerhet

Använda AWS-säkerhet för utvecklare

Rahul Singh

Technical Product Manager

Förkunskapskrav

 

  • Grundläggande kunskap om AWS-säkerhet
  • Förståelse för cloud computing
  • Koncept för AWS-säkerhet och kostnadshantering

 

 

Titelbild för kursen AWS Security and Cost Management Concepts

Använda AWS-säkerhet för utvecklare

Kursmål

 

  1. Identitet: vem som anropar
  2. Auktorisering: vad de får nå
  3. Hemligheter och kryptering: skydda data
  4. Bevis: vad som hände, i efterhand

Fyra numrerade band staplade längs en linje, ett för varje område kursen täcker. Band ett, Identitet, markerat Kapitel 1. Band två, Auktorisering, markerat Kapitel 2. Band tre, Hemligheter och kryptering, markerat Kapitel 2 och 3. Band fyra, Bevis, markerat Kapitel 3. En orange pil till vänster, märkt detta video, pekar på band ett.

Använda AWS-säkerhet för utvecklare

Din kod levereras via en pipeline

Ett flöde från vänster till höger. Steg ett, en ruta märkt Din pipeline som innehåller tre steg i ordning: Build, Test, Deploy. Steg två, en pil märkt git push som leder in i den från en ruta märkt Du. Steg tre, en orange märkning som hänger under pipelinen, märkt egen identitet. En pil fortsätter från pipelinen till en ruta märkt AWS.

Först, ett begrepp

  • En pipeline är automationen som bygger, testar och distribuerar din kod
  • Den körs vid din push, utan mänsklig inblandning
Använda AWS-säkerhet för utvecklare

En distribution som misslyckas av fel anledning

Vid en kodändring, vems behörigheter kontrolleras egentligen?
  1. Du pushar en ändring

Steg ett i ett vertikalt flöde. En ruta märkt Du, som pushar en kodändring.

Använda AWS-säkerhet för utvecklare

En distribution som misslyckas av fel anledning

Vid en kodändring, vems behörigheter kontrolleras egentligen?
  1. Du pushar en ändring

  2. Din pipeline körs

Ett vertikalt flöde. Steg ett, Du, som pushar en kodändring. En pil leder ner till steg två, din pipeline, som kör distributionen.

Använda AWS-säkerhet för utvecklare

En distribution som misslyckas av fel anledning

Vid en kodändring, vems behörigheter kontrolleras egentligen?
  1. Du pushar en ändring

  2. Din pipeline körs

  3. Distributionen stoppas: AccessDenied

Första instinkten: "Låt mig kolla mina egna behörigheter."

Ett vertikalt flöde. Steg ett, Du, som pushar en kodändring. Steg två, din pipeline kör distributionen. Steg tre, AWS utvärderar begäran och returnerar AccessDenied.

Använda AWS-säkerhet för utvecklare

Vad som egentligen hände

Steg ett i ett flöde från vänster till höger. En ruta märkt Du, vars inblandning slutar här.

  1. Du pushar. Din inblandning slutar här
Använda AWS-säkerhet för utvecklare

Vad som egentligen hände

Ett flöde från vänster till höger. En ruta märkt Du, med en pil till en ruta märkt Din pipeline. En märkning med texten deploy-role hänger under pipelinen.

  1. Du pushar. Din inblandning slutar här
  2. Pipelinen distribuerar, och körs som en roll ditt team skapat
Använda AWS-säkerhet för utvecklare

Vad som egentligen hände

Ett flöde från vänster till höger: Du, Din pipeline, AWS. En märkning med texten deploy-role hänger under pipelinen, och en streckad pil märkt kontrollerar går från AWS tillbaka till den märkningen, inte tillbaka till Du.

  1. Du pushar. Din inblandning slutar här
  2. Pipelinen distribuerar, och körs som en roll ditt team skapat
  3. AWS utvärderar den rollen
Använda AWS-säkerhet för utvecklare

Aktör och principal

Aktör

Den som satte arbetet i rörelse.

Här: du.

En ikon av en mänsklig figur som representerar en aktör som sätter arbetet i rörelse.

Använda AWS-säkerhet för utvecklare

Aktör och principal

Aktör

Den som satte arbetet i rörelse.

Här: du.

Principal

Identiteten AWS utvärderar när begäran kommer in.

Här: pipelinens roll.

En ikon av en mänsklig figur som representerar en aktör som sätter arbetet i rörelse.

En ikon som representerar principalen.

Använda AWS-säkerhet för utvecklare

Aktör och principal

Aktör

Den som satte arbetet i rörelse.

Här: du.

Principal

Identiteten AWS utvärderar när begäran kommer in.

Här: pipelinens roll.

  • Lambda: körroll. ECS: uppgiftsroll. Nytt namn, samma principal
  • Undantag: en långlivad nyckel i din terminal, då är IAM-användaren principalen

En ikon av en mänsklig figur som representerar en aktör som sätter arbetet i rörelse.

En ikon som visar att AWS kontrollerar principalen i stället för aktören.

Använda AWS-säkerhet för utvecklare

Samma distribution, två roller

Roll A (Så ser AdministratorAccess ut)

  • Läsa varje bucket
  • Använda varje nyckel
  • Uppdatera varje funktion

Roll B

  • Läsa en bucket
  • Använda en nyckel
  • Uppdatera en funktion

Prefix: en mapplik sökväg inuti en bucket

En bild som visar en roll med full åtkomst till sex olika policyer.

En bild som visar en roll med snäv åtkomst till endast en policy.

Använda AWS-säkerhet för utvecklare

Skadeomfång

Bred roll

Om komprometterad: når varje bucket, prefix och objekt i kontot.

Snäv roll

Om komprometterad: når ett prefix, i en bucket. Inget mer.

Koncentriska ringar som illustrerar en bred roll som når alla delar av hela kontot.

Koncentriska ringar som illustrerar att en snäv roll endast når de innersta ringarna, objekt och prefix, och lämnar övriga delar orörda.

Använda AWS-säkerhet för utvecklare

Minsta behörighet i praktiken

En roll ska göra vad jobbet kräver, och mycket lite därutöver.

  • AWS-hanterad, som AmazonS3ReadOnlyAccess: varje bucket. Kundhanterad: din egen, ner till ett prefix
  • Begränsa räckvidd och livslängd: kortlivade autentiseringsuppgifter framför långlivade nycklar
  • AWS säkrar infrastrukturen
  • Hur breda dina roller är är ditt beslut, och det finns i ditt repository

Exempel: en läsroll för reports-bucket Två tillåtelser. Inget annat beviljat.

  • Inget i IAM, tjänsten som avgör vem som får göra vad

En rolls behörighetslista med tre överflödiga behörigheter överstrukna i rött och två nödvändiga behörigheter kvar i grönt.

Använda AWS-säkerhet för utvecklare

Nu kör vi en övning!

Använda AWS-säkerhet för utvecklare

Preparing Video For Download...