Amazon DynamoDB Requirements and Considerations

Before you protect your DynamoDB using Cohesity DataProtect as a Service, ensure you have met the prerequisites and reviewed the considerations.

For information on the supported cloud regions where you can back up this source, see Supported Workloads and Cloud Regions.

Account Requirements

To register your AWS account, run the CloudFormation Template (CFT) and add permissions to the IAM user.

The tables below list the permissions used by Cohesity in your AWS account. You do not need to add these permissions manually (except the IAM User Permissions to Execute CFT), as they are automatically added when you run the CFT provided by Cohesity during your AWS account registration with the Cohesity DataProtect as a Service.

IAM User Permissions to Execute CFT

To register an AWS account with the Cohesity DataProtect as a Service, you need to run the CloudFormation Template on the AWS console. Ensure the IAM user you use has the following permissions to run the CloudFormation Template and to create and view the stack:

Ensure to add these permissions manually.

  • cloudformation:CreateChangeSet

  • cloudformation:CreateStack

  • cloudformation:CreateUploadBucket

  • cloudformation:DeleteStack

  • cloudformation:DescribeStackEvents

  • cloudformation:DescribeStackResources

  • cloudformation:DescribeStacks

  • cloudformation:GetTemplate

  • cloudformation:GetTemplateSummary

  • cloudformation:ListStackResources

  • cloudformation:ListStacks

  • cloudformation:UpdateStack

  • iam:AddRoleToInstanceProfile

  • iam:AttachRolePolicy

  • iam:CreateInstanceProfile

  • iam:CreateRole

  • iam:DeleteInstanceProfile

  • iam:DeleteRole

  • iam:DeleteRolePolicy

  • iam:DetachRolePolicy

  • iam:GetInstanceProfile

  • iam:GetRole

  • iam:GetRolePolicy

  • iam:PassRole

  • iam:PutRolePolicy

  • iam:RemoveRoleFromInstanceProfile

  • iam:TagRole

  • lambda:AddPermission

  • lambda:CreateFunction

  • lambda:DeleteFunction

  • lambda:InvokeFunction

  • lambda:RemovePermission

  • s3:CreateBucket

  • s3:GetObject

  • s3:ListBucket

  • s3:PutObject

  • s3: PutBucketPublicAccessBlock

Permissions for DynamoDB Data Protection

You do not need to add these permissions manually, as they are automatically added when you run the CFT.

Resource

Permissions

Reason
IAM iam:PassRole  
 

kms:CreateGrant

kms:DescribeKey

kms:Decrypt

kms:Encrypt

kms:ListAliases

kms:ListKeys

KMS permissions are needed to read data of an encrypted database at the time of backup, as well as write encrypted data to the recovered database. Describe permissions are needed so we can list & identify keys associated with database instances.
 

dynamodb:BatchWriteItem

dynamodb:DeleteItem

dynamodb:GetItem

dynamodb:PutItem

dynamodb:Query

dynamodb:RestoreTableToPointInTime

dynamodb:Scan

dynamodb:UpdateItem

dynamodb:CreateTable

dynamodb:DescribeContinuousBackups

dynamodb:DescribeExport

dynamodb:DescribeImport

dynamodb:DescribeTable

dynamodb:ExportTableToPointInTime

dynamodb:ImportTable

dynamodb:ListTables

dynamodb:ListTagsOfResource

dynamodb:TagResource

dynamodb:UpdateContinuousBackups

These permissions are required for backing up and recovering Amazon DynamoDB tables.
 

s3:CreateBucket

s3:GetBucketLocation

s3:PutBucketTagging

s3:DeleteBucket

s3:AbortMultipartUpload

s3:DeleteObject

s3:GetBucketVersioning

s3:GetObject

s3:GetObjectTagging

s3:GetObjectVersion

s3:ListBucket

s3:ListBucketMultipartUploads

s3:ListMultipartUploadParts

s3:PutObject

s3:PutObjectTagging

 
 

glue:CreateJob

glue:TagResource

glue:DeleteJob

glue:StartJobRun

glue:GetJobRun

 
 

logs:DescribeLogGroups

logs:CreateLogGroup

logs:CreateLogStream

logs:DescribeLogStreams

logs:GetLogEvents

logs:PutLogEvents

 

*If you want to use a KMS key belonging to a different AWS account, then perform the steps described in the AWS documentation.

Considerations

  • You do not need to deploy a SaaS connection to protect Amazon DynamoDB tables.

  • Tables in Amazon DynamoDB can be protected across all regions in your AWS account.

  • During recovery, you can restore the Amazon DynamoDB tables to their original region; however, restoring a table with the same name as an existing table is not supported.

  • Cohesity supports Point-in-Time Recovery (PITR) of Amazon DynamoDB tables, provided that PITR was enabled on the table at the time of backup.

  • For DynamoDB tables larger than 800 GB, you must increase the default Max task DPUs per account in the AWS region where the AWS Glue job runs.