Blocco dell’accesso pubblico con policy basate su risorse in DynamoDB - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Blocco dell’accesso pubblico con policy basate su risorse in DynamoDB

Il blocco dell’accesso pubblico (BPA) è una funzionalità che identifica e impedisce il collegamento di policy basate su risorse che garantiscono l’accesso pubblico alle tabelle, agli indici o ai flussi di DynamoDB tra gli account Amazon Web Services (AWS). Con il BPA è possibile impedire l’accesso pubblico alle proprie risorse DynamoDB. Il BPA esegue controlli durante la creazione o la modifica di una policy basata su risorse e aiuta a migliorare il livello di sicurezza con DynamoDB.

Il BPA utilizza il ragionamento automatico per analizzare l’accesso concesso dalla policy basata su risorse e avvisa l’utente se tali autorizzazioni vengono rilevate al momento della gestione di una policy basata su risorse. L’analisi verifica l’accesso a tutte le istruzioni della policy basata su risorse, alle azioni e al set di chiavi di condizione utilizzate nelle policy.

Importante

Il BPA aiuta a proteggere le risorse impedendo che venga concesso l’accesso pubblico attraverso le policy basate su risorse direttamente collegate alle risorse DynamoDB, come tabelle, indici e flussi. Oltre ad attivare il BPA, controlla attentamente le seguenti policy per verificare che non concedano l’accesso pubblico:

  • Politiche basate sull'identità collegate ai AWS principali associati (ad esempio, ruoli IAM)

  • Politiche basate sulle risorse collegate alle AWS risorse associate (ad esempio, chiavi (KMS)) AWS Key Management Service

È necessario assicurarsi che il principale non includa una voce * o che una delle chiavi di condizione specificate limiti l’accesso dei principali alla risorsa. Se la policy basata sulle risorse concede l'accesso pubblico alla tabella, agli indici o allo stream, Account AWS DynamoDB ti impedirà di creare o modificare la policy finché la specifica all'interno della policy non sarà corretta e considerata non pubblica.

È possibile rendere una policy non pubblica specificando uno o più principi all’interno del blocco del Principal. Il seguente esempio di policy basata su risorse blocca l’accesso pubblico specificando due principali.

{ "Effect": "Allow", "Principal": { "AWS": [ "123456789012", "111122223333" ] }, "Action": "dynamodb:*", "Resource": "*" }

Inoltre, le policy che limitano l’accesso specificando determinate chiavi di condizione non sono considerate pubbliche. Oltre alla valutazione del principale specificato nella policy basata su risorse, vengono utilizzate le seguenti chiavi di condizione attendibili per completare la valutazione di una policy basata su risorse per l’accesso non pubblico:

  • aws:PrincipalAccount

  • aws:PrincipalArn

  • aws:PrincipalOrgID

  • aws:PrincipalOrgPaths

  • aws:SourceAccount

  • aws:SourceArn

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:UserId

  • aws:PrincipalServiceName

  • aws:PrincipalServiceNamesList

  • aws:PrincipalIsAWSService

  • aws:Ec2InstanceSourceVpc

  • aws:SourceOrgID

  • aws:SourceOrgPaths

Inoltre, affinché una policy basata su risorse non sia pubblica, i valori del nome della risorsa Amazon (ARN) e le chiavi di stringa non devono contenere caratteri jolly o variabili. Se la propria policy basata su risorse utilizza la chiave aws:PrincipalIsAWSService, è necessario assicurarsi di aver impostato il valore della chiave su true.

La policy seguente limita l’accesso all’utente John nell’account specificato. La condizione rende il Principal vincolato e non lo considera pubblico.

{ "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "dynamodb:*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalArn": "arn:aws:iam::123456789012:user/John" } } }

L’esempio seguente di una policy basata su risorse non pubblica limita sourceVPC a utilizzare l’operatore StringEquals.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection", "Condition": { "StringEquals": { "aws:SourceVpc": [ "vpc-91237329" ] } } } ] }