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 dell’ABAC con tabelle e indici DynamoDB
La seguente procedura mostra come impostare le autorizzazioni attraverso l’ABAC. In questo scenario di esempio verranno aggiunti tag a una tabella DynamoDB e verrà creato un ruolo IAM con una policy che include condizioni basate su tag. Quindi, verranno testate le autorizzazioni consentite sulla tabella DynamoDB soddisfacendo le condizioni dei tag.
Argomenti
Fase 1: aggiungere tag a una tabella DynamoDB
Puoi aggiungere tag a tabelle DynamoDB nuove o esistenti utilizzando Console di gestione AWS AWS , API,AWS CLI() AWS Command Line Interface AWS , SDK o. AWS CloudFormation Ad esempio, il seguente comando della CLI tag-resource aggiunge un tag a una tabella denominata MusicTable.
aws dynamodb tag-resource —resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/MusicTable —tags Key=environment,Value=staging
Fase 2: creare un ruolo IAM con una policy che include condizioni basate su tag
Crea una policy IAM utilizzando la chiave di condizione aws: ResourceTag /tag-key per confrontare la coppia chiave-valore del tag specificata nella policy IAM con la coppia chiave-valore allegata alla tabella. La seguente policy di esempio consente agli utenti di inserire o aggiornare elementi nelle tabelle se queste tabelle contengono la coppia chiave-valore del tag: "environment": "staging". Se una tabella non ha la coppia chiave-valore del tag specificata, queste azioni vengono negate.
Fase 3: testare le autorizzazioni concesse
-
Collega la policy IAM a un utente o a un ruolo di prova nell’ Account AWS. Assicurati che il principale IAM che utilizzi non abbia già accesso alla tabella DynamoDB tramite una policy diversa.
-
Assicurati che la tabella DynamoDB contenga la chiave del tag
"environment"con un valore di"staging". -
Esegui le azioni
dynamodb:PutItemedynamodb:UpdateItemsulla tabella con tag. Queste azioni dovrebbero andare a buon fine se è presente la coppia chiave-valore del tag"environment": "staging".Se si eseguono queste azioni su una tabella che non ha la coppia chiave-valore del tag
"environment": "staging", la richiesta avrà esito negativo restituendo unaAccessDeniedException.
È anche possibile esaminare gli altri casi d’uso di esempio descritti nella sezione seguente per implementare l’ABAC ed eseguire altri test.