

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à.

# Utilizzo del controllo degli accessi basato sugli attributi con DynamoDB Streams
<a name="abac-streams"></a>

DynamoDB Streams supporta il controllo degli accessi basato sugli attributi (ABAC), la stessa strategia di autorizzazione descritta in. [Utilizzo di policy basate su risorse per DynamoDB](attribute-based-access-control.md) Con DynamoDB Streams ABAC, alleghi tag ai tuoi stream e utilizzi condizioni basate su tag nelle tue policy IAM per controllarne l'accesso.

Le risorse di streaming non ereditano i tag dalla tabella principale e puoi gestire i tag sugli stream in modo indipendente. Puoi aggiungere fino a 50 tag per ogni flusso DynamoDB. La dimensione massima supportata per tutti i tag in uno stream è di 10 KB. Per ulteriori informazioni sull'etichettatura delle risorse DynamoDB e sulle restrizioni relative ai tag, consulta e. [Aggiunta di tag ed etichette alle risorse in DynamoDB](Tagging.md) [Limitazioni dell'assegnazione di tag in DynamoDB](Tagging.md#TaggingRestrictions)

Puoi usare la chiave [aws: ResourceTag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag) condition per consentire o negare l'accesso a uno stream in base ai tag associati a quel flusso. Ad esempio, la seguente politica consente l'`GetRecords`azione su qualsiasi stream che include la chiave del tag `environment` con il valore`production`.

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:GetRecords"
      ],
      "Resource": "arn:aws:dynamodb:*:*:table/*/stream/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/environment": "production"
        }
      }
    }
  ]
}
```

**Topics**
+ [Chiavi di condizione per implementare ABAC con DynamoDB Streams](#condition-keys-implement-abac-streams)
+ [Considerazioni sull'utilizzo di ABAC con DynamoDB Streams](#abac-considerations-streams)
+ [Abilitazione di ABAC per DynamoDB Streams](abac-enable-streams.md)
+ [Utilizzo di ABAC con DynamoDB Streams](abac-implementation-streams.md)
+ [Esempi di utilizzo di ABAC con DynamoDB Streams](abac-examples-streams.md)
+ [Risoluzione dei problemi più comuni di ABAC per DynamoDB Streams](abac-troubleshooting-streams.md)

## Chiavi di condizione per implementare ABAC con DynamoDB Streams
<a name="condition-keys-implement-abac-streams"></a>

DynamoDB Streams ABAC utilizza le stesse chiavi di condizione delle tabelle DynamoDB:, e. `aws:ResourceTag/tag-key` `aws:RequestTag/tag-key` `aws:TagKeys` Per una descrizione di ogni chiave di condizione, consulta [Chiavi di condizione per implementare l’ABAC con DynamoDB](attribute-based-access-control.md#condition-keys-implement-abac). Il seguente comportamento è specifico di DynamoDB Streams:
+ Le chiavi delle condizioni si applicano alle API DynamoDB Streams che operano su uno stream`UntagResource`, [TagResource](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TagResource.html)incluse e leggono API come. `GetRecords`
+ Quando DynamoDB Streams ABAC non è abilitato per il tuo account`aws:ResourceTag`, le condizioni vengono valutate come se non fosse associato alcun tag alla risorsa di flusso.

## Considerazioni sull'utilizzo di ABAC con DynamoDB Streams
<a name="abac-considerations-streams"></a>

Quando si utilizza ABAC con DynamoDB Streams, si applicano le seguenti considerazioni:
+ ABAC for DynamoDB Streams è separato da ABAC per le tabelle DynamoDB. L'abilitazione di ABAC per le tabelle non lo abilita automaticamente per gli stream del tuo account. È necessario abilitarli in modo indipendente.
+ Puoi etichettare o rimuovere i tag da uno stream dopo l'eliminazione della tabella principale, utilizzando la CLI o l'`tag-resource`SDK `untag-resource` `list-tags-of-resource` e i comandi sullo stream ARN. Lo stream continua a esistere per 24 ore dopo l'eliminazione della tabella prima di essere rimosso. Questa funzionalità non è disponibile tramite la console o CloudFormation dopo l'eliminazione della tabella.
+ Se utilizzi DynamoDB CloudFormation per gestire le tue risorse DynamoDB, assicurati che il tuo ruolo di servizio `dynamodb:TagResource` `dynamodb:UntagResource` disponga delle autorizzazioni `dynamodb:ListTagsOfResource` e delle autorizzazioni per le risorse di streaming.