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à.
Sicurezza delle tabelle globali DynamoDB
Le repliche delle tabelle globali sono tabelle DynamoDB, quindi si utilizzano gli stessi metodi per controllare l'accesso alle repliche utilizzati per le tabelle a regione singola, AWS incluse le politiche di identità Identity and Access Management (IAM) e le politiche basate sulle risorse.
AWS In che modo le tabelle globali utilizzano IAM
Ruolo collegato al servizio di replica
Quando crei una tabella globale per la prima volta, Amazon DynamoDB crea automaticamente AWS un ruolo collegato al servizio (SLR) Identity and Access Management (IAM). La SLR ha un nome AWSServiceRoleForDynamoDBReplication
Quando applichi politiche basate sulle risorse alle repliche, assicurati di non negare nessuna delle autorizzazioni definite nella AWSServiceRoleForDynamoDBReplication
policy al principale SLR, poiché ciò interromperebbe la replica. Se negate le autorizzazioni SLR richieste, la replica da e verso le repliche interessate verrà interrotta e lo stato della tabella di replica cambierà in. REPLICATION_NOT_AUTHORIZED
-
Se una replica in una tabella globale configurata per Multi-region Eventual Consistency (MREC) rimane
REPLICATION_NOT_AUTHORIZED
nello stato per più di 20 ore, la replica viene convertita in modo irreversibile in una tabella DynamoDB a regione singola. -
Le repliche di tabelle globali configurate per Multi-region Strong Consistency (MRSC) restituiscono e per operazioni di scrittura e lettura fortemente coerenti.
AccessDeniedException
Se una replica in una tabella globale MRSC rimane nelloREPLICATION_NOT_AUTHORIZED
stato per più di sette giorni, diventa definitivamente inaccessibile e le operazioni di scrittura e di lettura fortemente coerenti continueranno a fallire con un errore. Alcune operazioni di gestione, come l'eliminazione delle repliche, avranno esito positivo.
Ruolo collegato al servizio di scalabilità automatica
Quando si configura una tabella globale per la modalità di capacità assegnata, è necessario configurare anche la scalabilità automatica per la tabella globale. La scalabilità automatica di DynamoDB utilizza l'Application AWS
Auto Scaling Service per regolare dinamicamente la capacità di throughput assegnata sulle repliche di tabelle globali. Il servizio Application Auto Scaling crea un ruolo collegato al servizio (SLR) denominato AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
per gestire la capacità delle tabelle assegnate e creare allarmi. CloudWatch Quando applicate politiche basate sulle risorse alle repliche, assicuratevi di non negare nessuna delle autorizzazioni definite nella policy al principale di AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
Application Auto Scaling Service SLR, poiché ciò interromperà la funzionalità di auto scaling.
Per ulteriori informazioni sui ruoli collegati al servizio, consulta Utilizzo dei ruoli collegati al servizio nella Guida per l'utente IAM.
Autorizzazioni richieste per le tabelle globali
Per creare una replica, è necessario disporre delle seguenti autorizzazioni sulla tabella o sulla replica a cui si stanno aggiungendo nuove repliche:
-
dynamodb:UpdateTable
Per creare una replica, è necessario disporre delle seguenti autorizzazioni in ogni regione in cui verrà creata una nuova replica:
-
dynamodb:CreateTable
-
dynamodb:CreateTableReplica
Per creare un testimone, è necessario disporre delle seguenti autorizzazioni nella regione in cui verrà creato un nuovo testimone:
-
dynamodb:CreateGlobalTableWitness
Per eliminare una replica, è necessario disporre delle seguenti autorizzazioni sulla replica:
-
dynamodb:DeleteTable
-
dynamodb:DeleteTableReplica
Per eliminare un testimone, è necessario disporre delle seguenti autorizzazioni sul testimone:
-
dynamodb:DeleteGlobalTableWitness
Per aggiornare una politica di ridimensionamento automatico delle repliche con l'UpdateTableReplicaAutoScaling
API, è necessario disporre delle seguenti autorizzazioni in tutte le regioni contenenti repliche:
-
application-autoscaling:DeleteScalingPolicy
-
application-autoscaling:DeleteScheduledAction
-
application-autoscaling:DeregisterScalableTarget
-
application-autoscaling:DescribeScalableTargets
-
application-autoscaling:DescribeScalingActivities
-
application-autoscaling:DescribeScalingPolicies
-
application-autoscaling:DescribeScheduledActions
-
application-autoscaling:PutScalingPolicy
-
application-autoscaling:PutScheduledAction
-
application-autoscaling:RegisterScalableTarget
Per aggiornare le impostazioni Time to Live con l'UpdateTimeToLive
API, è necessario disporre delle seguenti autorizzazioni su tutte le repliche:
-
dynamodb:UpdateTimeToLive
Policy IAM di esempio
Esempio: gestire una tabella globale
La seguente policy IAM concede le autorizzazioni per creare ed eliminare repliche di tabelle globali e testimoni per la tabella «utenti» in tre regioni:
Esempio: escludi le autorizzazioni SLR richieste dalle politiche di deny wildcard
Una policy IAM con la seguente condizione non influisce sulle autorizzazioni richieste per la SLR di replica DynamoDB e la Auto Scaling SLR. AWS Questa condizione può essere aggiunta a politiche altrimenti ampiamente restrittive per evitare l'interruzione involontaria della replica o della scalabilità automatica:
"Condition": { "StringNotEquals": { "aws:PrincipalArn": [ "arn:aws:iam::
YOUR_ACCOUNT_ID
:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication
", "arn:aws:iam::YOUR_ACCOUNT_ID
:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
" ] } }
Come vengono utilizzate le tabelle globali AWS KMS
Come tutte le tabelle DynamoDB, le repliche delle tabelle globali crittografano sempre i dati inattivi utilizzando chiavi di crittografia archiviate AWS in Key Management Service ().AWS KMS
Tutte le repliche in una tabella globale devono essere configurate con lo stesso tipo di chiave KMS (chiave AWS proprietaria, chiave gestita o chiave AWS gestita dal cliente).
Importante
DynamoDB richiede l'accesso alla chiave di crittografia della replica per eliminare una replica. Se desideri disabilitare o eliminare una chiave gestita dal cliente utilizzata per crittografare una replica perché stai eliminando la replica, devi prima eliminare la replica, attendere che lo stato della tabella su una delle repliche rimanenti cambi, quindi disabilitare o eliminare la chiave. ACTIVE
Per una tabella globale configurata per Multi-region Eventual Consistency (MREC), se si disabilita o si revoca l'accesso di DynamoDB a una chiave gestita dal cliente utilizzata per crittografare una replica, la replica da e verso la replica verrà interrotta e lo stato della replica cambierà inINACCESSIBLE_ENCRYPTION_CREDENTIALS
. Se una replica in una tabella globale MREC rimane nello INACCESSIBLE_ENCRYPTION_CREDENTIALS
stato per più di 20 ore, viene convertita in modo irreversibile in una tabella DynamoDB a regione singola.
Per una tabella globale configurata per Multi-region strong consistency (MRSC), se si disabilita o si revoca l'accesso di DynamoDB a una chiave gestita dal cliente utilizzata per crittografare una replica, la replica da e verso la replica si interromperà, i tentativi di eseguire letture in scrittura o fortemente coerenti sulla replica restituiranno un errore e lo stato della replica cambierà inINACCESSIBLE_ENCRYPTION_CREDENTIALS
. Se una replica in una tabella globale MRSC rimane nello INACCESSIBLE_ENCRYPTION_CREDENTIALS
stato per più di sette giorni, a seconda delle autorizzazioni specifiche revocate, la replica verrà archiviata o diventerà definitivamente inaccessibile.