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à.
Il controllo degli accessi basato sugli attributi (ABAC) è una strategia di autorizzazione che definisce le autorizzazioni di accesso in base alle condizioni dei tag nelle politiche basate sull'identità o in altre politiche, come le politiche basate sulle risorse e le politiche organizzative. AWS IAM È possibile allegare tag alle tabelle DynamoDB, che vengono poi valutate in base alle condizioni basate sui tag. Gli indici associati a una tabella ereditano i tag aggiunti alla tabella. È possibile aggiungere fino a 50 tag per ogni tabella DynamoDB. La dimensione massima supportata per tutti i tag in una tabella è di 10 KB. Per ulteriori informazioni sull'etichettatura delle risorse DynamoDB e sulle restrizioni relative ai tag, consulta Etichettatura delle risorse in DynamoDB e Restrizioni di tagging in DynamoDB.
Per ulteriori informazioni sull'utilizzo dei tag per controllare l'accesso alle AWS risorse, consulta i seguenti argomenti nella Guida per l'utente: IAM
In questo modoABAC, puoi applicare diversi livelli di accesso per i tuoi team e le tue applicazioni per eseguire azioni sulle tabelle DynamoDB utilizzando meno policy. È possibile specificare un tag nell'elemento condition di una IAM policy per controllare l'accesso alle tabelle o agli indici DynamoDB. Queste condizioni determinano il livello di accesso di un IAM principale, un utente o un ruolo alle tabelle e agli indici di DynamoDB. Quando un IAM principale effettua una richiesta di accesso a DynamoDB, i tag della risorsa e dell'identità vengono valutati in base alle condizioni dei tag nella policy. IAM Successivamente, la policy diventa effettiva solo se vengono soddisfatte le condizioni del tag. Ciò consente di creare una IAM politica che affermi in modo efficace uno dei seguenti elementi:
-
Consenti all'utente di gestire solo le risorse che hanno un tag con una chiave
X
e un valoreY
. -
Nega l'accesso a tutti gli utenti alle risorse contrassegnate con una chiave
X
.
Ad esempio, puoi creare una politica che consenta agli utenti di aggiornare una tabella solo se ha la coppia chiave-valore del tag:. "environment": "staging"
Puoi usare la chiave aws: ResourceTag condition per consentire o negare l'accesso a una tabella in base ai tag allegati a quella tabella.
Puoi includere condizioni basate sugli attributi durante la creazione della policy o in un secondo momento utilizzando AWS Management Console,, AWS Command Line Interface (AWS CLI) AWS API, o. AWS SDK AWS CloudFormation
L'esempio seguente consente l'UpdateItemazione su una tabella denominata MusicTable
se include una chiave di tag con il nome environment
e il valore. production
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:UpdateItem"
],
"Resource": "arn:aws:dynamodb:*:*:table/MusicTable",
"Condition": {
"StringEquals": {
"aws:ResourceTag/environment": "production"
}
}
}
]
}
Qual è il vantaggio di utilizzare gli ABAC?
-
Gestione delle policy più semplice: si utilizzano meno policy perché non è necessario creare policy diverse per definire il livello di accesso per ogni IAM principale.
-
Controllo degli accessi scalabile: scalare il controllo degli accessi è più semplice ABAC perché non è necessario aggiornare le policy quando si creano nuove risorse DynamoDB. È possibile utilizzare i tag per autorizzare l'accesso ai IAM principali che contengono tag corrispondenti ai tag della risorsa. Puoi integrare nuovi IAM principali o risorse DynamoDB e applicare i tag appropriati per concedere automaticamente le autorizzazioni necessarie senza dover apportare modifiche alle policy.
-
Gestione dettagliata delle autorizzazioni: è consigliabile concedere il minimo privilegio quando si creano le policy. UtilizzandoABAC, è possibile creare tag per il IAM principale e utilizzarli per concedere l'accesso a azioni e risorse specifiche che corrispondono ai tag del principale. IAM
-
Allineamento con l'elenco aziendale: è possibile mappare i tag con gli attributi dei dipendenti esistenti presenti nell'elenco aziendale per allineare le politiche di controllo degli accessi alla struttura organizzativa.
Chiavi di condizione da implementare ABAC con DynamoDB
È possibile utilizzare le seguenti chiavi di condizione nelle AWS policy per controllare il livello di accesso alle tabelle e agli indici DynamoDB:
-
aws: ResourceTag /tag-key: Controlla l'accesso in base al fatto che la coppia chiave-valore del tag su una tabella o un indice DynamoDB corrisponda o meno alla chiave e al valore del tag in una policy. Questa chiave condizionale è rilevante per tutto ciò APIs che opera su una tabella o un indice esistente.
Le
dynamodb:ResourceTag
condizioni vengono valutate come se non fosse stato assegnato alcun tag a una risorsa. -
aws: RequestTag /tag-key: consente di confrontare la coppia chiave-valore del tag che è stata passata nella richiesta con la coppia di tag specificata nella politica. Questa chiave condizionale è pertinente a APIs quella che contiene tag come parte del payload della richiesta. Questi APIs includono CreateTablee. TagResource
-
aws: TagKeys: Confronta le chiavi dei tag in una richiesta con le chiavi specificate nella policy. Questa chiave condizionale è rilevante per APIs quella che contiene tag come parte del payload della richiesta. Questi APIs includono
CreateTable
TagResource
, eUntagResource
.
Considerazioni sull'utilizzo ABAC con DynamoDB
Quando si utilizza ABAC con tabelle o indici DynamoDB, si applicano le seguenti considerazioni:
-
I tag e ABAC non sono supportati per DynamoDB Streams.
-
I tag e ABAC non sono supportati per i backup DynamoDB. Per utilizzarli ABAC con i backup, si consiglia di utilizzare. AWS Backup
-
I tag non vengono conservati nelle tabelle ripristinate. È necessario aggiungere tag alle tabelle ripristinate prima di poter utilizzare le condizioni basate sui tag nelle politiche.