

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
<a name="rbac-bpa-rbp"></a>

Il [blocco dell’accesso pubblico (BPA)](#rbac-bpa-rbp) è 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)](https://aws.amazon.com/). 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](https://aws.amazon.com/what-is/automated-reasoning/) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 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"
          ]
        }
      }
    }
  ]
}
```

------