neils-dev commented on code in PR #4372: URL: https://github.com/apache/ozone/pull/4372#discussion_r1140847389
########## hadoop-hdds/docs/content/design/secure-s3.md: ########## @@ -0,0 +1,32 @@ +--- +title: Secure S3 keys management +summary: Improving security regarding s3 keys management +date: 2023-03-10 +jira: HDDS-8132 +status: implemented +author: Maksim Myskov, Mikhail Pochatkin +--- +<!-- + Licensed 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. See accompanying LICENSE file. +--> + +# Abstract + +There are problems related to the current S3 keys management: +* Storing keys as plain text in Ozone Manager rocksdb is insecure. An ozone administrator can easily impersonate any user by recovering his keys from rocksdb. +* The only way for a user to generate keys is to have SSH access to the Ozone cluster. Security policies can also prohibit this. +* Keys revocation process is manual which leads to security issues. + +This document proposes solutions to the above issues. + +# Link + +https://issues.apache.org/jira/secure/attachment/13056235/Secure%20S3%20keys%20management.pdf Review Comment: In the design doc, `Section 1. Store Secrets in remote storage` last sentence, does loading all keys in ozone manager imply all keys are loaded to the proposed om cache for s3 secrets? On om start, the om initiates a call to the (external) secret store interface to load all keys into cache? `Section 2. Endpoint for key generation (renewal)` Does the design propose to extend the s3g and add an endpoint or to create a separate s3 secret server endpoint with its own config (ozone.s3.secret...). ? `Section 3. Add key expiration` For key generation and renewal sharing the same gateway, defining and providing the REST API would be helpful. What about key rotation? Is there a provision for this? Is it key generation with TTL, on s3g error retrying the s3 secret get to rotate? -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
