Correct option:
Use client-side encryption with an AWS KMS managed customer master key (CMK)
You have the following options for protecting data at rest in Amazon S3:
Server-Side Encryption – Request Amazon S3 to encrypt your object before saving it on disks in its data centers and then decrypt it when you download the objects.
Client-Side Encryption – Encrypt data client-side and upload the encrypted data to Amazon S3. In this case, you manage the encryption process, the encryption keys, and related tools.
As the company wants to make sure that the files are encrypted before they are sent to Amazon S3, therefore you should use client-side encryption.
To enable client-side encryption, you have the following options:
Use a customer master key (CMK) stored in AWS Key Management Service (AWS KMS).
Use a master key you store within your application.
As the use-case mentions that the encryption keys need to be managed by an in-house security team but the key itself should be stored on AWS, therefore you must use the customer master key (CMK) stored in AWS Key Management Service (AWS KMS).
Incorrect options:
Use client-side encryption with Amazon S3 managed key - As mentioned earlier in the explanation, to meet the requirements of the given use-case, the company must use a customer master key (CMK) stored in AWS Key Management Service (AWS KMS).
Also, there is no such thing as "client-side encryption with Amazon S3 managed key" as explained above.
Use server-side encryption with a customer-provided encryption key (SSE-C)
Use server-side encryption with a client-side master key
Both these options are incorrect as the use-case mandates client-side encryption.
Reference:
https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html