PROFESSIONAL-CLOUD-ARCHITECT · Question #40
You are designing a large distributed application with 30 microservices. Each of your distributed microservices needs to connect to a database back-end. You want to store the credentials securely…
The correct answer is C. In a secret management system. A is not correct because storing credentials in source code and source control is discoverable, in plain text, by anyone with access to the source code. This also introduces the requirement to update code and do a deployment each time the credentials are rotated. B is not…
Question
Options
- AIn the source code
- BIn an environment variable
- CIn a secret management system
- DIn a config file that has restricted access through ACLs
How the community answered
(51 responses)- A2% (1)
- B2% (1)
- C92% (47)
- D4% (2)
Explanation
A is not correct because storing credentials in source code and source control is discoverable, in plain text, by anyone with access to the source code. This also introduces the requirement to update code and do a deployment each time the credentials are rotated. B is not correct because consistently populating environment variables would require the credentials to be available, in plain text, when the session is started. C is correct because key management systems generate, use, rotate, encrypt, and destroy cryptographic keys and manage permissions to those keys. D is not correct because instead of managing access to the config file and updating manually as keys are rotated, it would be better to leverage a key management system. Additionally, there is increased risk if the config file contains the credentials in plain text. https://cloud.google.com/kms/
Topics
Community Discussion
No community discussion yet for this question.