Hjem Personlig finansiering Amazon Web Services API Security - dummies

Amazon Web Services API Security - dummies

Video: ep 2: How to secure your AWS Gateway API with API key (tutorial with screencast and test) 2024

Video: ep 2: How to secure your AWS Gateway API with API key (tutorial with screencast and test) 2024
Anonim

Dette er et åpenbart spørsmål når det gjelder omtale med tredjepartsmedlemmer: Hvis disse verktøyene virker på dine vegne, hvordan vet Amazon Web Services (AWS) at personen på vegne av dem handler er faktisk deg? Med andre ord, hvordan kan AWS autentisere din identitet for å sikre at kommandoene den mottar, kommer fra deg?

Faktisk er det samme spørsmålet gyldig selv om du samhandler direkte med AWS API. Hvordan kan AWS validere din identitet for å sikre at den bare utfører kommandoer for deg?

En måte er selvfølgelig at du skal inkludere brukernavn og passord for kontoen din i API-samtalene. Selv om noen sky-leverandører tar denne tilnærmingen, gjør Amazon ikke det.

I stedet for å stole på brukernavn og passord, er det avhengig av to andre identifikatorer for å godkjenne API-tjenestesamtaler: tilgangsnøkkelen og den hemmelige tilgangsnøkkelen. Det bruker disse tastene i serviceanrop for å implementere sikkerhet på en måte som er mye sikrere enn å bruke bare brukernavnet og passordet ditt.

Så hvordan fungerer det? Når du registrerer deg for en konto hos AWS, har du mulighet til å opprette en tilgangsnøkkel og ha en hemmelig tilgangsnøkkel sendt til deg. Hver er en lang rekke tilfeldig tegn, og den hemmelige tilgangsnøkkelen er lengre av de to. Når du laster ned den hemmelige tilgangsnøkkelen, bør du lagre den et sted veldig sikker fordi det er nøkkelen (beklager - dårlig ordspill) for å implementere sikre serviceanrop.

Etter at du har gjort dette, har både deg og Amazon en kopi av tilgangsnøkkelen og den hemmelige tilgangsnøkkelen. Å beholde en kopi av den hemmelige tilgangsnøkkelen er avgjørende fordi det er vant til å kryptere informasjon sendt frem og tilbake mellom deg og AWS, og hvis du ikke har den hemmelige tilgangsnøkkelen, kan du ikke utføre noen tjenesteanrop på AWS.

Måten de to nøklene brukes på er konseptuelt enkel, men noe utfordrende i detalj.

For hvert tjenesteanrop du vil utføre, gjør du (eller et verktøy som fungerer på dine vegne) følgende:

  1. Opprett nyttelast for serviceanrop.

    Dette er dataene du må sende til AWS. Det kan være et objekt du vil lagre i S3 eller bildeidentifikatoren for et bilde du vil starte. (Du vil også legge andre opplysninger til nyttelastet, men fordi de varierer i henhold til spesifikasjonene for serviceanropet, er de ikke oppført her. Ett stykke data er gjeldende tid.)

  2. Krypter nyttelasten bruker den hemmelige tilgangsnøkkelen.

    Dette gjør at ingen kan undersøke nyttelastet og oppdage hva som er i det.

  3. Signer den krypterte nyttelastet digitalt ved å legge til den hemmelige tilgangsnøkkelen til kryptert nyttelast og utføre en digital signaturprosess ved hjelp av den hemmelige tilgangsnøkkelen.

    Hemmelige tilgangsnøkler er lengre og mer tilfeldige enn typiske brukerpassord; Den lange hemmelige tilgangsnøkkelen gjør kryptering utført med det sikrere enn det ville være hvis det ble utført med et typisk brukerpassord.

  4. Send total kryptert nyttelast, sammen med tilgangsnøkkelen din, til AWS via et serviceanrop.

    Amazon bruker tilgangsnøkkelen til å slå opp din hemmelige tilgangsnøkkel, som den bruker til å dekryptere nyttelastet. Hvis den dekrypterte nyttelast representerer lesbar tekst som kan utføres, utfører AWS serviceanropet. Ellers konkluderes det med at noe er galt med servicekallet (kanskje at det ble kalt av en ondsinnet skuespiller) og ikke utfører serviceanropet.

I tillegg til krypteringen som nettopp er beskrevet, har AWS to andre metoder som brukes for å sikre legitimiteten til tjenestesamtalen:

  • Den første er basert på datoperioden som er inkludert i servicekallens nyttelast, som den bruker til å bestemme om tiden som er forbundet med å utføre serviceanropet er hensiktsmessig; Hvis datoen i serviceanropet er mye forskjellig fra hva den burde være (mye tidligere eller senere enn den nåværende tiden, med andre ord), konkluderer AWS at det ikke er et legitimt tjenestekall og kasserer det.

  • Den andre ekstra sikkerhetstiltaket innebærer et sjekksum du beregner for nyttelastet. (A checksum er et tall som representerer innholdet i en melding.) AWS beregner et sjekksum for nyttelasten; Hvis sjekksummen ikke stemmer overens med deg, deaktiverer tjenestenesamtalen og utfører ikke den.

    Denne sjekksummet tilnærming sikrer at ingen tamperer innholdet i en melding og forhindrer en ondsinnet skuespiller fra å avskjære et legitimt serviceanrop og endre det for å utføre en uakseptabel handling. Hvis noen tamperer med meldingen, når AWS beregner et sjekksum, stemmer sjekksummen ikke lenger med den som er inkludert i meldingen, og AWS nekter å utføre serviceanropet.

Hvis du, som de fleste AWS-brukere, bruker en proxy-metode for å kommunisere med AWS - AWS-styringskonsollen, et språkbibliotek eller et tredjepartsverktøy - du må angi tilgangsnøkkelen og hemmelig tilgangsnøkkel til proxyen. Når proxyen utfører AWS-tjenesteanrop på dine vegne, inkluderer den tilgangsnøkkelen i samtalen, og bruker den hemmelige tilgangsnøkkelen til å utføre nyttelastkryptering.

På grunn av den kritiske rollen som disse nøklene oppfyller i AWS, bør du dele dem bare med enheter du stoler på. Hvis du vil prøve et nytt tredjepartsverktøy, og du ikke vet mye om selskapet, kan du opprette en AWS-testkonto for prøveperioden i stedet for å bruke AWS-kontoens legitimasjon for produksjon.

På den måten, hvis du bestemmer deg for ikke å gå videre med verktøyet, kan du slippe det, avslutte test-AWS-kontoen, og fortsett, ikke bekymret for potensielle sikkerhetsproblemer i dine hovedproduksjonskontoer. Selvfølgelig kan du alltid opprette nye tilgangsnøkler og hemmelige tilgangsnøkler, men ved å bruke produksjonstastene dine for tester, og deretter skifter nøklene mye arbeid, fordi du må oppdatere hvert sted som refererer til dine eksisterende nøkler.

Hvis du er som mange andre AWS-brukere, bruker du en rekke verktøy og biblioteker, og går tilbake til dem for å oppdatere nøklene dine er en smerte. Du har det bedre å bruke ikke-produksjonskontoer for å teste nye verktøy.

Amazon Web Services API Security - dummies

Redaktørens valg

Speil Lockup (MUP) på Nikon D7100-dummies

Speil Lockup (MUP) på Nikon D7100-dummies

En komponent i det optiske systemet til din Nikon D7100 kamera er et speil som beveger seg hver gang du trykker på lukkerknappen. Den lille vibrasjonen som følge av speilets handling kan føre til svak utryddelse av bildet når du bruker en veldig langsom lukkerhastighet, skyter med en lang teleobjektiv, ...

Opptaksmuligheter på Nikon D5300 - dummies

Opptaksmuligheter på Nikon D5300 - dummies

Du kan styre noen få aspekter av din filmoppgave på din Nikon D5300. Du kan manipulere videoen din for å skape en rekke effekter. Følgende liste går gjennom disse alternativene: Eksponeringsmodus: Du kan ta opp filmer i hvilken som helst eksponeringsmodus (Auto, Scenemodus, Effektmodus, P, M, og så videre). Som med fortsatt ...

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Følgende retusjonsverktøy på din Nikon D5600 kamerajustering eksponering og farge: D-Lighting, Quick Retouch, Filter Effects og Monochrome. Selv om disse verktøyene ikke får deg til å velge ett kamera over en annen, hvis du allerede har en Nikon D5600, er de tilgjengelige, så du kan også lære å bruke dem! D-Lighting: Active D-Lighting ...

Redaktørens valg

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

Hvis du vurderer bli med i en fantasy basketball liga, må du ta hensyn til følgende DOs og DON'Ts før du vurderer spillerne du vil utarbeide på laget ditt. Kreditt: © iStockphoto. com / IS_ImageSource Fantasy basketball draft pick DOS I de fleste fantasy basketball ligaer bestemmer kommisjonen (personen som setter opp ligaen) bestillingen i ...

Linjene og dimensjonene til en basketballbane - dummies

Linjene og dimensjonene til en basketballbane - dummies

En basketballbane har symmetri; Den ene halvdelen av retten er et speilbilde av den andre. Hele basketballbanen (se figur 1) er 94 fot med 50 fot. På hver halvplass viser malte linjer fritt korsbanen og sirkelen, samt trepunktsbuen, hvis avstand fra kurven varierer basert ...

Kjøp av gratis agenter i fantasy fotball - dummies

Kjøp av gratis agenter i fantasy fotball - dummies

I løpet av fantasy fotball sesongen, spillere som ikke blir utarbeidet bli gratis agenter - spillere tilgjengelig for enhver ligamatch villig til å slippe en eid spiller. Bruk gratis agentbassenget til å erstatte en skadet spiller eller noen som bare ikke lever opp til dine forventninger. Bruk disse tipsene for å finne en gratis agent for å ...

Redaktørens valg

Grunnleggende for din iOS-app - dummies

Grunnleggende for din iOS-app - dummies

Heldigvis mesteparten av det du trenger å gjøre så langt som iOS animasjon er opptatt er allerede bygd inn i rammen. Noen visningsegenskaper kan animeres, noe som betyr at du bare må fortelle visningen hvor du skal begynne og hvor du skal avslutte flyttingen, og noen få andre valgfrie parametere, og du er ferdig. ...

Montering av verktøylinjen for Android App Development - dummies

Montering av verktøylinjen for Android App Development - dummies

Når du vet at du er klar til være en Android-utvikler, ta tak i datamaskinen din og få sprekker på å installere verktøyene og rammene som er nødvendige for å bygge ditt første blockbuster-program. Linux-kjernen Android ble opprettet på toppen av åpen kildekode Linux-kjernen. Android-teamet valgte å bruke denne kjernen fordi den ga bevist ...

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Cocoa Touch-laget inneholder det meste av objektet -orientert utvikler-vendt rammer for å bygge iOS applikasjoner. Det er ditt eneste utgangspunkt for app-utvikling. Apple-guiderne oppfordrer deg til å undersøke teknologiene i dette laget for å se om de oppfyller dine behov, før du ser på de andre lagene. Med andre ord, Apple har til hensikt å ...