mridulm commented on code in PR #2481: URL: https://github.com/apache/celeborn/pull/2481#discussion_r1582250701
########## docs/security.md: ########## @@ -0,0 +1,158 @@ +--- +license: | + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--- +# Introduction +Celeborn supports both SASL (Simple Authentication and Security Layer) based authentication and TLS (Transport Layer Security) based over the wire encryption. Both are disabled by default, and require to be explicitly enabled. + +Celeborn can use TLS to encrypt data transmitted over the network, provide privacy and data integrity. It also facilitates validating the identity of the server to mitigate the risk of man-in-the-middle attacks and ensure trusted communication. + +SASL is leveraged by Celeborn to authenticate requests from an application - it ensures clients can only mutate or access state and data that belongs to them. + +Note: **SSL** and **TLS** are used interchangeably in this document. +## Network encryption with TLS +When enabled, Celeborn leverages TLS to provide over the wire encryption. +Celeborn has different transport namespaces, and each can be independently configured for TLS - an exhaustive list of all configurations which apply to a transport module are listed in [network configurations](configuration/network.md), but the subset which are relevant to TLS are detailed below. +{! +include-markdown "./configuration/network-module.md" +start="<!--begin-include-->" +end="<!--end-include-->" +!} + +The namespace `${ns}` in the property names below, to configure SSL, `celeborn.ssl.<module>` - where `module` comes from the list above. + +Note that `celebord.ssl`, **without any module**, can be used to set SSL default values which applies to all modules. + +Also note that `data` module at application side, maps to `push` and `fetch` at worker - hence, for SSL configuration, worker configuration for `push` and `fetch` should be compatible with each other and with `data` at application side. + +The SSL options which are supported in Celeborn are detailed below. The `${ns}` placeholder should be replaced with one of the transport namespaces, as detailed above. + +| Property Name | Default | Description | Review Comment: Removed them, thanks for feedback ! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
