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 IAM dell'organizzazione. AWS È 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:
Utilizzando ABAC, puoi applicare diversi livelli di accesso per i tuoi team e le tue applicazioni per eseguire azioni sulle tabelle DynamoDB utilizzando meno policy. Puoi specificare un tag nell'elemento condition di una policy IAM per controllare l'accesso alle tabelle o agli indici DynamoDB. Queste condizioni determinano il livello di accesso di un principale IAM, un utente o un ruolo alle tabelle e agli indici di DynamoDB. Quando un principal IAM 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 policy IAM che risponda efficacemente a una delle seguenti condizioni:
-
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 API, AWS Command Line Interface (AWS CLI), AWS SDK o. AWS CloudFormation
L'esempio seguente consente l'UpdateItemazione su una tabella denominata MusicTable
se include una chiave di tag con il nome e il valore. environment
production
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:UpdateItem"
],
"Resource": "arn:aws:dynamodb:*:*:table/MusicTable",
"Condition": {
"StringEquals": {
"aws:ResourceTag/environment": "production"
}
}
}
]
}
Perché dovrei usare ABAC?
-
Gestione delle policy più semplice: si utilizzano meno policy perché non è necessario creare policy diverse per definire il livello di accesso per ogni principale IAM.
-
Controllo degli accessi scalabile: scalare il controllo degli accessi è più semplice con ABAC perché non è necessario aggiornare le policy quando si creano nuove risorse DynamoDB. Puoi utilizzare i tag per autorizzare l'accesso ai principali IAM che contengono tag che corrispondono ai tag della risorsa. Puoi integrare nuovi principi IAM 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. Utilizzando ABAC, puoi creare tag per il principale IAM e utilizzarli per concedere l'accesso a azioni e risorse specifiche che corrispondono ai tag sul 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 per 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 di ABAC con DynamoDB
Quando si utilizza ABAC con tabelle o indici DynamoDB, si applicano le seguenti considerazioni:
-
I tag e l'ABAC non sono supportati per DynamoDB Streams.
-
Tagging e ABAC non sono supportati per i backup DynamoDB. Per utilizzare 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.