Hvordan du konfigurerer S3 bøtte tillatelser på AWS

Hvordan du konfigurerer S3 bøtte tillatelser på AWS
S3 (enkel lagringstjeneste) er lagringstjenesten levert av AWS og lagrer data i S3 -bøtter. Som standard er alle S3 -bøttene private og kan ikke nås offentlig over internett. Bare AWS -brukeren med spesifikke tillatelser kan få tilgang til objektene inne i bøtta. Også den offentlige tilgangen på S3 Bucket -objektene kan aktiveres, og objektet blir tilgjengelig for alt offentlig internett.

Det er to typer tillatelser i en S3 -bøtte.

  • Brukerbasert
  • Ressursbasert

For brukerbaserte tillatelser opprettes en IAM-policy som definerer tilgangsnivået til en IAM-bruker til S3-bøttene og dens objekter og er knyttet til IAM-brukeren. Nå har IAM -brukeren bare tilgang til de spesifikke objektene som er definert i IAM -policyen.

Ressursbaserte tillatelser er tillatelsene som er tilordnet S3-ressursene. Ved hjelp av disse tillatelsene kan vi definere om dette S3 -objektet kan nås på flere S3 -kontoer eller ikke. Det er følgende typer S3 ressursbaserte retningslinjer.

  • Bøttepolitikk
  • Tilgangskontrollliste

Denne artikkelen beskriver de detaljerte instruksjonene for å konfigurere S3 -bøtta ved hjelp av AWS Management Console.

Brukerbaserte tillatelser

Brukerbaserte tillatelser er tillatelsene som er tilordnet IAM-brukeren, som definerer om IAM-brukeren har tilgang til noen spesifikke S3-objekter eller ikke. For dette formålet er en IAM -policy skrevet og knyttet til IAM -brukeren.

Denne delen vil skrive en inline IAM -policy for å gi spesifikke tillatelser til IAM -brukeren. Først må du logge på AWS Management Console og gå til IAM -tjenesten.

IAM -policyen er knyttet til enten en bruker eller en brukergruppe i IAM. Hvis du vil bruke IAM -policyen på flere brukere, kan du legge til alle brukerne i en gruppe og knytte IAM -policyen til gruppen.

For denne demoen vil vi knytte IAM -policyen til en enkelt bruker. Fra IAM -konsollen, klikk på Brukere Fra venstre sidepanel.

Nå fra listen over brukere, klikker du på brukeren du vil legge ved IAM -policyen.

Velg Tillatelser Tab og klikk på Legg til inline policy knappen på høyre side av fanen.

Du kan nå opprette IAM -policyen ved å bruke enten den visuelle redigereren eller skrive en JSON. Vi vil bruke Visual Editor til å skrive IAM -policyen for denne demoen.

Vi vil velge tjeneste, handlinger og ressurser fra Visual Editor. Tjeneste er AWS -tjenesten som vi skal skrive policyen. For denne demoen, S3 er tjenesten.

Handlingene definerer de tillatte eller nektede handlingene som kan utføres på S3. Som om vi kan legge til en handling ListBucket på S3, som vil gjøre det mulig for IAM -brukeren å liste S3 -bøtter. For denne demoen vil vi bare innvilge Liste og Lese Tillatelser.

Ressurser definerer hvilke S3 -ressurser som vil bli påvirket av denne IAM -policyen. Hvis vi velger en spesifikk S3 -ressurs, vil denne policyen bare være gjeldende for den ressursen. For denne demoen vil vi velge alle ressursene.

Etter å ha valgt tjenesten, handlingen og ressursen, klikker du nå på JSON Tab, og den vil vise en utvidet JSON som definerer alle tillatelsene. Endre Effekt fra Tillate til Benekte For å nekte de spesifiserte handlingene til de spesifiserte ressursene i policyen.

Klikk nå på Gjennomgangspolicy knapp nederst til høyre i konsollen. Det vil be om navnet på IAM -policyen. Skriv inn policyenavnet og klikk på Opprett politikk knapp for å legge til inline policy til den eksisterende brukeren.

Nå kan IAM -brukeren ikke utføre handlingene som er spesifisert i IAM -policyen for alle S3 -ressursene. Hver gang IAM prøver å utføre en nektet handling, vil den få følgende feil på konsollen.

Ressursbaserte tillatelser

I motsetning til IAM-retningslinjer, blir ressursbaserte tillatelser brukt på S3-ressursene som bøtter og objekter. Denne delen vil se hvordan du konfigurerer ressursbaserte tillatelser på S3-bøtta.

Bøttepolitikk

S3 -bøttepolitikk brukes til å gi tillatelser til S3 -bøtta og dens objekter. Bare bøtteeieren kan opprette og konfigurere bøttepolitikken. Tillatelsene som er brukt av bøttepolitikken, påvirker alle objektene i S3 -bøtta bortsett fra de objektene som eies av andre AWS -kontoer.

Som standard, når et objekt fra en annen AWS -konto lastes opp til S3 -bøtta, eies det av AWS -kontoen (Objektforfatter). Den AWS -kontoen (objektforfatter) har tilgang til dette objektet og kan gi tillatelser ved hjelp av ACLS.

S3 Bucket Policies er skrevet i JSON, og tillatelser kan legges til eller nektes for gjenstandene til S3 -bøtter ved å bruke disse retningslinjene. Denne delen vil skrive en demo S3 -bøttepolicy og knytte den til S3 -bøtta.

Først, gå til S3 fra AWS Management Console.

Gå til S3 -bøtta du vil bruke bøttepolitikken.

Gå til Tillatelser Tab i S3 -bøtta.

Bla ned til Bøttepolitikk delen og klikk på redigere knapp øverst til høyre i seksjonen for å legge til bøttepolicy.

Legg nå til følgende bøttepolicy til S3 -bøtta. Denne eksemplet bøtte -policyen vil blokkere alle handlinger på S3 -bøtta selv om du har en IAM -policy som gir tilgang til S3 knyttet til brukeren. I Ressurs Feltet i policyen, erstatt Bøtte-navn med S3 -bøtte -navnet ditt før du fester det til S3 -bøtta.

For å skrive en tilpasset S3 -bøttepolicy, besøk AWS Policy Generator fra følgende URL.

https: // awspolicenGen.S3.Amazonaws.com/policyGen.html


"Versjon": "2012-10-17",
"Id": "Policy-1",
"Uttalelse": [

"Sid": "Policy for å blokkere all tilgang på S3",
"Effekt": "fornekter",
"Rektor": "*",
"Handling": "S3:*",
"Ressurs": "Arn: AWS: S3 :::Bøtte-navn/*"

]

Etter å ha festet S3 -bøttepolitikken, kan du nå prøve å laste opp en fil i S3 -bøtta, og den vil kaste følgende feil.

Tilgangskontrolllister

Amazon S3 Access Control Lists Administrer tilgang på S3 Bucket og S3 Objektnivåer. Hver S3 -bøtte og objekt har en tilgangskontrollliste tilknyttet den, og når en forespørsel mottas, sjekker S3 sin tilgangskontrollliste og bestemmer om tillatelsen vil bli gitt eller ikke.

Denne delen vil konfigurere S3 Access Control List for å gjøre S3 -bøtta offentlig, slik at alle i verden kan få tilgang til objektene som er lagret i bøtta.

MERK: Husk å ikke ha noen hemmelige data i bøtta før du følger denne delen, da vi vil offentliggjøre S3 -bøtta, og dataene dine vil bli utsatt for det offentlige Internett.

Først, gå til S3 -tjenesten fra AWS Management Console og velg bøtta du vil konfigurere tilgangskontrolllisten for. Før du konfigurerer tilgangskontrolllisten, må du først konfigurere bøtta Public Access for å gi offentlig tilgang på bøtta.

I S3 -bøtta, gå til Tillatelser Tab.

Bla ned til Blokkerer offentlig tilgang seksjon i Tillatelser Tab og klikk på redigere knapp.

Det vil åpne forskjellige alternativer for å blokkere tilgang gitt gjennom forskjellige retningslinjer. Fjern merket for boksene som blokkerer tilgangen som er gitt av tilgangskontrolllisten og klikker på lagre endringer knapp.

Fra S3 -bøtta, klikk på objektet du vil offentlig.

Klikk på redigere knappen på høyre hjørne av Tillatelser fanen og merk av i boksene som gir tilgang til alle til objektet.

Klikk på lagre endringer For å bruke tilgangskontrolllisten, og nå er S3 -objektet tilgjengelig for alle over Internett. Gå til kategorien Egenskaper i S3 -objektet (ikke S3 -bøtta) og kopier S3 -objektets URL.

Åpne nettadressen i nettleseren, så åpner den filen i nettleseren.

Konklusjon

AWS S3 kan brukes til å legge data som kan være tilgjengelige over Internett. Men samtidig kan det være noen data du ikke vil utsette for verden. AWS S3 gir en konfigurasjon på lavt nivå som kan brukes til å tillate eller blokkere tilgang på objektnivå. Du kan konfigurere S3 Bucket -tillatelser på en slik måte at noen objekter i bøtta kan være offentlige, og noen kan være private samtidig. Denne artikkelen gir essensiell veiledning for å konfigurere S3 Bucket -tillatelser ved hjelp av AWS Management Console.