Amazon DynamoDB | Encryption at rest Flashcards

1
Q

Can I use On-Demand Backup to back up my DynamoDB tables and restore these to another AWS account?

Encryption at rest

Amazon DynamoDB | Database

A

No. Currently, you can use On-Demand Backup to back up a table and restore it to the same region within the same AWS account where the backup was taken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is DynamoDB encryption at rest?

Encryption at rest

Amazon DynamoDB | Database

A

DynamoDB encryption at rest provides you with the ability to enable encryption for the data persisted (data at rest) in your DynamoDB tables. This includes - base table, local secondary indexes, and global secondary indexes. Encryption at rest automatically integrates with AWS Key Management Service (KMS) for managing the keys used for encrypting your tables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why do I need to use encryption at rest?

Encryption at rest

Amazon DynamoDB | Database

A

Encryption at rest is a managed server side encryption feature using AWS KMS keys stored in your AWS account. You do not have to implement and maintain additional code to encrypt data before it is sent to DynamoDB and decrypt data after it is retrieved. Once encryption at rest is enabled for a DynamoDB table, your application will work seamlessly without any other changes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How do I encrypt a table?

Encryption at rest

Amazon DynamoDB | Database

A

You can enable encryption at rest for your new DynamoDB tables using the console, AWS CLI, or API. At present, you cannot enable encryption at rest for an existing DynamoDB table.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Are my Global Secondary Indexes (GSI) and Local Secondary Indexes (LSI) encrypted in encryption at rest?

Encryption at rest

Amazon DynamoDB | Database

A

Yes, Global Secondary Indexes (GSI) and Local Secondary Indexes (LSI) associated with an encrypted table are encrypted by default using the same key that is used to encrypt the table.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the additional costs for using DynamoDB encryption at rest?

Encryption at rest

Amazon DynamoDB | Database

A

There are no additional DynamoDB costs for using DynamoDB encryption at rest. However, KMS charges will apply for using a service default key. These charges can be seen on the AWS KMS pricing page.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Can I encrypt DynamoDB Streams?

Encryption at rest

Amazon DynamoDB | Database

A

Currently, you cannot enable encryption at rest for DynamoDB Streams. If encryption at rest is a compliance/regulatory requirement, we recommend turning off DynamoDB Streams for encrypted tables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Are DynamoDB On-Demand Backups encrypted as well?

Encryption at rest

Amazon DynamoDB | Database

A

Yes, On-Demand Backups of encrypted DynamoDB tables are encrypted (using S3’s Server-Side Encryption). At present, these backups are partially encrypted using your service default keys and service managed keys. We are working towards encrypting all data related to On-Demand Backups using only customer owned KMS keys.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How does encryption at rest encrypt my data?

Encryption at rest

Amazon DynamoDB | Database

A

DynamoDB uses envelope encryption to encrypt your data in which it uses a hierarchy of encryption keys to encrypt the database. You use AWS KMS to manage the top-level encryption keys in this hierarchy. Once your data is encrypted, Amazon DynamoDB handles decryption of your data transparently with a minimal impact on performance. You don’t need to modify your database client applications to use encryption.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How do I manage my keys used for encryption at rest?

Encryption at rest

Amazon DynamoDB | Database

A

DynamoDB is integrated with AWS KMS for ease of managing the key(s) used to encrypt your tables. DynamoDB encryption at rest uses service default keys (specific to DynamoDB) stored in your KMS account. If a service default key does not exist when creating your encrypted DynamoDB table, KMS will automatically create a new key for you that will be used with encrypted tables created in the future. For more information, see the AWS Key Management Service Developer Guide.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Which encryption keys can I choose to encrypt my DynamoDB table?

Encryption at rest

Amazon DynamoDB | Database

A

Currently, you can only use the service default key used for your DynamoDB tables. If this key doesn’t exist, it will be created.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the role of my service default key in AWS Key Management Service (KMS) in encryption at rest?

Encryption at rest

Amazon DynamoDB | Database

A

DynamoDB cannot read your table data without access to your KMS service default key. DynamoDB uses envelope encryption and key hierarchy to encrypt data. Your KMS encryption key is used to encrypt the root key of this key hierarchy. For more information, see How Envelope Encryption Works with Supported AWS Service.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Can I use different service default keys for different tables?

Encryption at rest

Amazon DynamoDB | Database

A

No, DynamoDB uses a single service default key for encrypting all of your DynamoDB tables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Can I encrypt only a subset of items in a table?

Encryption at rest

Amazon DynamoDB | Database

A

No. Encryption at Rest works at a table level granularity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How can I check if encryption at rest is enabled on my table?

Encryption at rest

Amazon DynamoDB | Database

A

From the console, you can get the status of encryption from the “Table details” section of the “Overview” tab. You can also use DescribeTable command to get the status of encryption on the table.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Can I disable encryption at rest on a table once it is enabled?

Encryption at rest

Amazon DynamoDB | Database

A

No, you cannot disable encryption at rest on an encrypted table.

17
Q

How is encryption at rest different from the DynamoDB client side encryption library?

Encryption at rest

Amazon DynamoDB | Database

A

The client side encryption library - Amazon DynamoDB Encryption Client for Java - performs encryption and decryption of your data at the client side (in your application using the AWS SDK). The encryption keys reside on the client side. Since DynamoDB does not have access to your encryption keys, DynamoDB cannot access your decrypted data. The server side encryption at rest feature encrypts your data just before storing it in DynamoDB tables. The encryption and decryption of your data is performed at the server side by DynamoDB using your specified KMS encryption keys. You can still use full querying capabilities for your encrypted data.

18
Q

Does encryption at rest protect my data while it is being transferred over the network?

Encryption at rest

Amazon DynamoDB | Database

A

No. Encryption at rest only encrypts data while it is static (at rest) on a persistent storage media. You have to ensure protection of data while it is actively moving over a public or a private network (data in transit) by encrypting sensitive data on the client side or using encrypted connections (TLS).

19
Q

What encryption algorithm does encryption at rest use?

Encryption at rest

Amazon DynamoDB | Database

A

Encryption at rest encrypts your data using 256-bit AES encryption.