Securing a database password

For additional security, you can protect the database password that Bamboo uses to access your database, which is stored in the configuration file. We’ve prepared different encryption methods from   basic   to   advanced. Additionally, you can create your own encryption mechanism based on our SecretStore interface.

The solutions outlined below provide a level of obfuscation for encrypting database values, but do not offer complete security. The configuration files will still contain the necessary data to decrypt the values, which means that an attacker with access to these files could potentially decrypt the property values.

These approaches are intended to provide an additional layer of protection against accidental exposure of sensitive data but should not be relied upon as a comprehensive security solution.

We recommend that you secure the server where Bamboo and the database reside.

Basic encryption

This method uses a Base64 encoding, which is a simple obfuscation. It is a straightforward solution for users who don’t want to store database passwords in plaintext.

Learn more about basic encryption

Advanced encryption 

This method allows you to choose an algorithm to encrypt a database password. It provides more security as you don't have to store the encrypted password anywhere in the configuration file, which makes it difficult for unauthorized parties to find and decrypt it.

Learn more about advanced encryption

AWS Secrets Manager

AWS Secrets Manager provides a high-level secure storage option for your database credentials. This service retrieves credentials through a runtime call, eliminating hard-coded credentials, such as keys and tokens, altogether.

Learn more about AWS Secrets Manager for encryption

HashiCorp Vault

HashiCorp Vault is a tool that secures, stores, and controls access to sensitive data such as passwords, tokens, and keys. It acts like a digital safe, keeping your secrets locked away from unauthorized users while being readily available to services with the right permissions.

Learn more about HashiCorp Vault for encryption

Custom implementation

If you have extra requirements for encryption, you can create your own SecretStore implementation based on our implementation and examples. If you have special requirements for database password encryption, you can create your own encryption mechanism based on our examples.

Learn more about custom encryption

Last modified on Jan 22, 2024

Was this helpful?

Provide feedback about this article
Powered by Confluence and Scroll Viewport.