Answer - B and C
The AWS Documentation mentions the following.
GenerateDataKeyWithoutPlaintext returns a data encryption key encrypted under a customer master key (CMK). This operation is identical to GenerateDataKey but returns only the encrypted copy of the data key.
Option A is incorrect because the GenerateDataKey command returns both the original plaintext key and the encrypted copy of the key.
Option B is CORRECT because we need the command "GenerateDataKeyWithoutPlaintext" only to return the encrypted key.
Option C is CORRECT because the CMK is required to encrypt the data keys with the above command.
Option D is invalid since the question states that you need to use the KMS service.
For more information on Generating data keys, please refer to the below URL-
https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html