Introduksjon til DynamoDB -tillatelser

Introduksjon til DynamoDB -tillatelser
Databaseadministratorer må sette opp tilgangskontroll og tillatelsesregler i DynamoDB for sømløs og sikker drift. DynamoDB -tillatelser er med på å kontrollere tilgangen til DynamoDB -handlinger og ressurser. Dermed kan du knytte tillatelsene til forskjellige IAM -identiteter som grupper, brukere og roller for å utføre operasjonene i databasen.

Tillatelsene lar deg velge og spesifisere handlingene som en bruker, rolle eller gruppe kan utføre på hvilken som helst spesifisert dynamoDB -ressurs. For eksempel kan du la en gruppe brukere lese og skrive dataene til en gitt tabell, men nekte dem tillatelse til å slette tabellen. Selvfølgelig kan du oppnå dette ved å knytte en IAM -policy med passende tillatelser til gruppen din.

Dette blogginnlegget introduserer deg for den dynamoDB identitetsbaserte IAM-retningslinjene. Blant aspektene vi vil se etter inkluderer de typer dynamoDB -tillatelser og forskjellige eksempler.

Typer dynamoDB -tillatelser

Følgende er noen av typene DynamoDB -tillatelsestyper som du kan definere i en IAM -policy: \

  • Tabelltillatelser: Disse tillatelsene kontrollerer tilgangen til spesifikke DynamoDB -tabeller. For eksempel kan du la en bruker lese og skrive dataene til en bestemt tabell, men ikke la dem slette tabellen.
  • Globale tillatelser: Denne kategorien av tillatelser kontrollerer tilgangen til alle DynamoDB -ressurser. For eksempel kan du la en bruker opprette og slette enhver DynamoDB -tabell på kontoen din.
  • Streams Tillatelser: Disse tillatelsene kontrollerer tilgangen til DynamoDB -strømmene. En strøm er en tidsbestilt sekvens av endringer på elementnivå til en DynamoDB-tabell.
  • Indeksstillatelser: Disse tillatelsene kontrollerer tilgangen til globale sekundære indekser i DynamoDB.
  • Sikkerhetskopiering og gjenopprettingstillatelser: Sikkerhetskopiering og gjenoppretting Tillatelser Kontroller tilgangen til DynamoDB -sikkerhetskopiering og gjenoppretting.

Det er viktig å nøye vurdere hvilke tillatelser som skal gi hver bruker, gruppe eller rolle for å sikre at bare de autoriserte brukerne kan få tilgang til ressursene de trenger.

Eksempler på DynamoDB -tillatelser

Følgende er noen DynamoDB -tillatelser som du kan vurdere:

en. Opprette en bordstillatelse

Dette eksemplet oppretter en IAM -policy som lar en bestemt bruker lese og skrive dataene til en gitt tabell. Det første trinnet er å lage policy -dokumentet i en JSON -fil som vist i følgende:


"Versjon": "2012-10-17",
"Uttalelse": [

"Effekt": "Tillat",
"Handling": [
"Dynamodb: PutItem",
"Dynamodb: getItem",
"DynamoDB: UpdateItem",
"Dynamodb: DeleteItem"
],
"Ressurs": "ARN: AWS: Dynamodb: EU-West-1: 123456789012: Tabell/My-Table-Name"

]

Når du er ferdig med å lage policy -dokumentet, fortsett å lage policyen og knytte IAM -brukeren som illustrert i følgende:

AWS IAM Create-Policy-Policy-Name DynamoDB-Table-Access-Policy-Document File: // Policy.JSON
AWS iam vedlegg-bruker-policy-Brukernavn MyUser-Policy-Arn Arn: AWS: IAM :: 123456789012: Policy/Dynamodb-Table-Access

Denne koden oppretter en policy som heter “DynamoDB-Table-Access” som lar IAM-brukeren “Auser” lese og skrive dataene til DynamoDB-tabellen, “My-Table.”Brukeren kan ikke utføre andre handlinger på bordet som å slette den.

b. Opprette en DynamoDB -strømpolitikk

Følgende eksempel oppretter en IAM -policy som lar en bruker lese dataene fra en DynamoDB -strøm:


"Versjon": "2012-10-17",
"Uttalelse": [

"Effekt": "Tillat",
"Handling": [
"DynamoDB: Beskrivestrøm",
"Dynamodb: getRecords",
"Dynamodb: getSharditerator"
],
"Ressurs": "Arn: AWS: Dynamodb: EU-East-1: 123456789012: Tabell/My-Table-Name/Stream/*"

]

Denne policyen lar brukeren hente en informasjon om strømmen, få postene fra strømmen og få Shard Iterators for strømmen. Det tillater ikke brukeren å utføre andre handlinger på strømmen eller tabellen.

Du kan knytte denne policyen til en IAM -bruker, gruppe eller rolle ved hjelp av AWS CLI eller AWS Management Console.

Konklusjon

DynamoDB -tillatelsene kan være veldig granulære, slik at du kan spesifisere handlingene som er tillatt eller nektet for hver ressurs. Dette hjelper til med å sikre at bare de autoriserte brukerne kan få tilgang til og endre DynamoDB -ressursene dine.

Det er viktig å nøye administrere DynamoDB -tillatelsene dine for å sikre at bare de autoriserte brukerne kan få tilgang til og endre ressursene dine. Utilstrekkelig tillatelser kan føre til sikkerhetsbrudd og uautorisert tilgang til dataene dine.