**Use case**
With S3, you have to send the header `x-amz-server-side-encryption-customer-key` and `x-amz-server-side-encryption-customer-key-md5` if the resource is server side encrypted.

https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeysSSEUsingRESTAPI.html
https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html

**Describe the solution you'd like**
Ability to set this in the query.
client_configuration.connectTimeoutMs = config.getUInt(config_prefix + ".connect_timeout_ms", 10000);
        client_configuration.httpRequestTimeoutMs = config.getUInt(config_prefix + ".request_timeout_ms", 5000);
        client_configuration.maxConnections = config.getUInt(config_prefix + ".max_connections", 100);
        client_configuration.endpointOverride = uri.endpoint;
        auto proxy_config = getProxyConfiguration(config_prefix, config);
        if (proxy_config)
            client_configuration.perRequestConfiguration = [proxy_config](const auto & request) { return proxy_config->getConfiguration(request); };
        client_configuration.retryStrategy = std::make_shared<Aws::Client::DefaultRetryStrategy>(
            config.getUInt(config_prefix + ".retry_attempts", 10));
        auto client = S3::ClientFactory::instance().create(
            client_configuration,
            uri.is_virtual_hosted_style,
            config.getString(config_prefix + ".access_key_id", ""),
            config.getString(config_prefix + ".secret_access_key", ""),
            config.getBool(config_prefix + ".use_environment_credentials", config.getBool("s3.use_environment_credentials", false))
        );
        String metadata_path = config.getString(config_prefix + ".metadata_path", context.getPath() + "disks/" + name + "/");
        auto s3disk = std::make_shared<DiskS3>(
            name,
            client,
            proxy_config,
            uri.bucket,
            uri.key,
            metadata_path,
            context.getSettingsRef().s3_min_upload_part_size,
            context.getSettingsRef().s3_max_single_part_upload_size,
            config.getUInt64(config_prefix + ".min_bytes_for_seek", 1024 * 1024),
            config.getBool(config_prefix + ".send_metadata", false),
            config.getInt(config_prefix + ".thread_pool_size", 16),
            config.getInt(config_prefix + ".list_object_keys_size", 1000));