View a markdown version of this page

Utilizzo del controllo degli accessi basato sugli attributi con DynamoDB Streams - 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à.

Utilizzo del controllo degli accessi basato sugli attributi con DynamoDB Streams

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 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 Limitazioni dell'assegnazione di tag in DynamoDB

Puoi usare la chiave aws: 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'GetRecordsazione su qualsiasi stream che include la chiave del tag environment con il valoreproduction.

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

Chiavi di condizione per implementare ABAC con DynamoDB Streams

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. Il seguente comportamento è specifico di DynamoDB Streams:

  • Le chiavi delle condizioni si applicano alle API DynamoDB Streams che operano su uno streamUntagResource, TagResourceincluse e leggono API come. GetRecords

  • Quando DynamoDB Streams ABAC non è abilitato per il tuo accountaws:ResourceTag, le condizioni vengono valutate come se non fosse associato alcun tag alla risorsa di flusso.

Considerazioni sull'utilizzo di ABAC con DynamoDB Streams

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