Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Sécurité des tables globales DynamoDB
Les répliques de tables globales étant des tables DynamoDB, vous utilisez les mêmes méthodes pour contrôler l'accès aux répliques que pour les tables à région unique, AWS notamment les politiques d'identité Identity and Access Management (IAM) et les politiques basées sur les ressources.
Comment les tables globales utilisent AWS IAM
Rôle lié au service de réplication
Lorsque vous créez une table globale pour la première fois, Amazon DynamoDB crée automatiquement un rôle lié à AWS un service (SLR) Identity and Access Management (IAM). Le SLR porte un nom AWSServiceRoleForDynamoDBReplication
Lorsque vous appliquez des politiques basées sur les ressources à des répliques, assurez-vous de ne refuser aucune des autorisations définies dans la AWSServiceRoleForDynamoDBReplication
politique au principal du SLR, car cela interrompra la réplication. Si vous refusez les autorisations SLR requises, la réplication vers et depuis les répliques concernées s'arrêtera et le statut de la table de répliques passera à. REPLICATION_NOT_AUTHORIZED
-
Si une réplique d'une table globale configurée pour la cohérence finale multirégionale (MREC) reste en
REPLICATION_NOT_AUTHORIZED
l'état pendant plus de 20 heures, la réplique est convertie de manière irréversible en une table DynamoDB à région unique. -
Les répliques de tables globales configurées pour une cohérence multirégionale (MRSC) renvoient un
AccessDeniedException
pour les opérations d'écriture et de lecture fortement cohérentes. Si une réplique d'une table globale MRSC reste dansREPLICATION_NOT_AUTHORIZED
cet état pendant plus de sept jours, elle devient définitivement inaccessible, et les opérations d'écriture et de lecture hautement cohérentes continueront d'échouer avec une erreur. Certaines opérations de gestion, telles que la suppression des répliques, seront couronnées de succès.
Rôle lié au service Auto Scaling
Lorsque vous configurez une table globale pour le mode capacité allouée, vous devez également configurer le dimensionnement automatique pour la table globale. DynamoDB Auto Scaling AWS
utilise le service Application Auto Scaling pour ajuster dynamiquement la capacité de débit allouée sur vos répliques de tables globales. Le service Application Auto Scaling crée un rôle lié au service (SLR) nommé AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
pour gérer la capacité des tables provisionnées et créer des alarmes. CloudWatch Lorsque vous appliquez des politiques basées sur les ressources à des répliques, assurez-vous de ne refuser aucune des autorisations définies dans la AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
politique au principal du SLR Application Auto Scaling Service, car cela interromprait la fonctionnalité de dimensionnement automatique.
Pour plus d’informations sur l’utilisation des rôles liés à un service, consultez Utilisation des rôles liés à un service dans le Guide de l’utilisateur IAM.
Autorisations requises pour les tables globales
Pour créer une réplique, vous devez disposer de l'autorisation suivante sur la table ou la réplique à laquelle vous ajoutez de nouvelles répliques :
-
dynamodb:UpdateTable
Pour créer une réplique, vous devez disposer des autorisations suivantes dans chaque région où une nouvelle réplique sera créée :
-
dynamodb:CreateTable
-
dynamodb:CreateTableReplica
Pour créer un témoin, vous devez disposer de l'autorisation suivante dans la région où un nouveau témoin sera créé :
-
dynamodb:CreateGlobalTableWitness
Pour supprimer un réplica, vous devez disposer des autorisations suivantes sur le réplica :
-
dynamodb:DeleteTable
-
dynamodb:DeleteTableReplica
Pour supprimer un témoin, vous devez disposer des autorisations suivantes sur celui-ci :
-
dynamodb:DeleteGlobalTableWitness
Pour mettre à jour une politique de dimensionnement automatique des répliques avec l'UpdateTableReplicaAutoScaling
API, vous devez disposer des autorisations suivantes dans toutes les régions contenant des répliques :
-
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
Pour mettre à jour les paramètres Time to Live avec l'UpdateTimeToLive
API, vous devez disposer des autorisations suivantes sur toutes les répliques :
-
dynamodb:UpdateTimeToLive
Exemple de politiques IAM
Exemple : gestion d'une table globale
La politique IAM suivante autorise la création et la suppression de répliques de tables globales et de témoins pour la table « utilisateurs » dans trois régions :
Exemple : exclure les autorisations SLR requises des politiques de refus des caractères génériques
Une politique IAM présentant la condition suivante n'a aucune incidence sur les autorisations requises pour le SLR de réplication DynamoDB et AWS le SLR Auto Scaling. Cette condition peut être ajoutée à des politiques par ailleurs largement restrictives afin d'éviter d'interrompre involontairement la réplication ou le dimensionnement automatique :
"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
" ] } }
Utilisation des tables globales AWS KMS
Comme toutes les tables DynamoDB, les répliques de tables globales chiffrent toujours les données au repos à l'aide de clés de chiffrement stockées AWS dans Key Management Service ().AWS KMS
Toutes les répliques d'une table globale doivent être configurées avec le même type de clé KMS (cléAWS détenue, clé AWS gérée ou clé gérée par le client).
Important
DynamoDB a besoin d'accéder à la clé de chiffrement du réplica pour supprimer un réplica. Si vous souhaitez désactiver ou supprimer une clé gérée par le client utilisée pour chiffrer une réplique parce que vous supprimez la réplique, vous devez d'abord supprimer la réplique, attendre que le statut de la table de l'une des répliques restantes soit changéACTIVE
, puis désactiver ou supprimer la clé.
Dans le cas d'une table globale configurée pour une cohérence finale multirégionale (MREC), si vous désactivez ou révoquez l'accès de DynamoDB à une clé gérée par le client utilisée pour chiffrer une réplique, la réplication vers et depuis la réplique s'arrêtera et le statut de la réplique passera à. INACCESSIBLE_ENCRYPTION_CREDENTIALS
Si une réplique d'une table globale MREC reste en l'INACCESSIBLE_ENCRYPTION_CREDENTIALS
état pendant plus de 20 heures, elle est convertie de manière irréversible en une table DynamoDB à région unique.
Pour une table globale configurée pour une cohérence multirégionale (MRSC), si vous désactivez ou révoquez l'accès de DynamoDB à une clé gérée par le client utilisée pour chiffrer une réplique, la réplication vers et depuis la réplique s'arrêtera, les tentatives d'écriture ou de lecture hautement cohérente de la réplique renverront une erreur et le statut de la réplique passera à. INACCESSIBLE_ENCRYPTION_CREDENTIALS
Si une réplique d'une table globale MRSC reste dans l'INACCESSIBLE_ENCRYPTION_CREDENTIALS
état pendant plus de sept jours, en fonction des autorisations spécifiques révoquées, la réplique sera archivée ou deviendra définitivement inaccessible.