Terraform S3 Bucket Policy

Terraform S3 Bucket Policy
Terraform er et (IAC) verktøy for DevOps, da de foretrekker å bruke et kommandolinjegrensesnitt i stedet for GUI for å styre og lage skyressurser. Mange skyleverandører er partnere i Terraform, og AWS er ​​en av dem. Terraform kan hjelpe deg med å lage S3 -bøtte (skylagringstjeneste), sammen med konfigurasjonen og policyen, på en effektiv måte. Ved å opprette en S3 -bøttepolicy, kan du angi tillatelser for tilgang til S3 -bøtteobjekter og sikre sikkerhet og kryptering.

Dette innlegget vil gi en prosessuell guide for å lage en S3 -bøttepolitikk ved hjelp av Terraform.

Forutsetning: Installasjon av AWS CLI og Terraform

Last ned og installer AWS CLI og Terraform i systemet ditt. Etter fullføringen av installasjonen, sjekk om de er installert eller ikke, så for AWS -skriv denne kommandoen:

AWS -Versjon

Det er synlig at AWS er ​​vellykket installert i systemet ditt.

For terraformtype:

Terraform -Versjon

I utgangen over er det synlig at terraform er vellykket installert i systemet ditt.

Neste trinn er å konfigurere AWS -kontoen din ved å bruke følgende kommando og ved å oppgi de nødvendige detaljene:

AWS Konfigurer


Merk: For å lære hvordan du konfigurerer AWS CLI, Les her!
Du er klar til å kode for å opprette og administrere AWS Cloud Resources and Services ved hjelp av Terraform.

Lag S3 -bøttepolitikk ved hjelp av Terraform

For å opprette en Terraform -fil, la oss først opprette en katalog der du vil jobbe ved å skrive:

mkdir terraform_s3_policy

Åpne katalogen med hvilken som helst kodeditor:

Opprett en terraformfil som heter “hoved-.tf”For å lagre koden:

Gi denne koden for å erklære at AWS -leverandør blir brukt:

terraform
krevde_providers
aws =
Source = "Hashicorp/AWS"
versjon = "~> 4.0 "


Skriv koden for å nevne leverandørregion, der det skal opprettes ressurser:

leverandør "aws"
Region = "Us-East-1"

Kode for opprettelse av S3 -bøtte som du vil opprette en policy senere i dette innlegget:

ressurs "aws_s3_bucket" "linuxhintbucket"
Bucket = "Linuxhintbucket"
tags =
Name = "min bøtte"
Miljø = "Dev"

La oss erklære om bøtteobjektene vil være offentlig tilgjengelige eller ikke, ved å sette den til "ekte”Betyr, det vil ikke være offentlig:

ressurs "aws_s3_bucket_public_access_block" "linuxhintbucket"
bøtte = aws_s3_bucket.Linuxhintbucket.bøtte
block_public_acls = true
block_public_policy = true

Neste trinn er å gjøre konfigurasjonen for kryptering på serversiden ved hjelp av AWS Key Management Services, ved å kode:

ressurs "aws_s3_bucket_server_side_encryption_configuration" "linuxhintbucket"
bøtte = aws_s3_bucket.Linuxhintbucket.bøtte
regel
APPLIKE_SERVER_SIDE_ENCRYPTION_BY_DEFAULT
SSE_ALGORITHM = "AWS: KMS"


Gjør konfigurasjonen av S3 -livssyklus, for å angi regler med forhåndsdefinerte handlinger for S3 -bøtte for å utføre på objekter i løpet av livet, skriv: Skriv inn:

ressurs "aws_s3_bucket_lifecycle_configuration" "linuxhintbucket"
bøtte = aws_s3_bucket.Linuxhintbucket.id

Angi regler i henhold til din preferanse, for dette innlegget "Regel-1" er for "tømmerstokker”Av S3 Bucket:

regel
id = "regel-1"
filter
og
prefiks = "logger/"
tags =
Key1 = "Value1"
Key2 = "Value2"



status = "Aktivert"
utløp
dager = 7

La oss definere en annen regel for “tmp”, Bruke dette kodestykket:

regel
id = "regel-2"
filter
prefiks = "tmp/"

status = "Aktivert"
utløp
dager = 7

La oss konfigurere bøtte -beregninger:

ressurs "aws_s3_bucket_metric" "enable-metrics-bucket"
Bucket = "Linuxhintbucket"
name = "helbucket"

Etter å ha skrevet denne koden, for å opprette S3 Bucket Policy og lagre filen.

For å initialisere arbeidsområdet, skriv denne kommandoen i terminalen. Terminalen kan være av kodeditoren eller ledeteksten i denne katalogen:

Terraform init

På vellykket initialisering av arbeidsområdet, skriv denne kommandoen for å se hva som skal skape eller endre:

Terraform Plan

Skriv inn denne kommandoen for å utføre filen:

Terraform gjelder

Skriv inn "Ja”Når en melding for kontinuitet vises:

En suksessmelding vises, og informerer om at 5 ressurser blir lagt til vellykket.

Bekreft opprettelsen av S3 Bucket Policy

For å bekrefte at ressursene blir lagt til med suksess til AWS -kontoen, i Amazon Management Console, Search and Open the Bucket Dashboard. I dashbordet vil du kunne se S3 -bøtta du opprettet ved hjelp av Terraform -filen:

Det er synlig at S3 -bøtta opprettes vellykket.

Neste trinn er å åpne S3 -bøtta og velge "Ledelse”Tab, her vil du kunne se Livssyklus regler som ble opprettet ved hjelp av Terraform -filen:

Noe som betyr at du har opprettet S3 -bøtta sammen med S3 -bøtte -policyen ved hjelp av Terraformen.

Konklusjon

For å lage S3 -bøtte i AWS ved hjelp av Terraform, må du sørge for at Terraform og AWS CL er installert i systemet ditt. Konfigurer AWS CLI og opprett en katalog, for å lagre Terraform -filen. I Terraform -filen er koden for å gi leverandøren AWS -regiondetaljer, opprette S3 -bøtte og lage policy ved å konfigurere dens offentlige tilgang, kryptering, livssyklusregler og beregninger. Til slutt, initialiser arbeidsområdet og utfør filen for å gjøre endringer.