Answer - A and C.
Options B and D are incorrect because you will not use the Customer Key to encrypt and decrypt data directly.
The AWS Documentation mentions the following.
We recommend that you use the following pattern to encrypt data locally in your application.
Use this operation (GenerateDataKey) to get a data encryption key.
Use the plaintext data encryption key (returned in the Plaintext field of the response) to encrypt data locally, then erase the plaintext data key from memory.
Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data.