Securing a database password
To add extra security to your Bamboo instance, you can encrypt the database password that is stored in the configuration file used by Bamboo to access your database. We’ve prepared different encryption methods for basic and advanced users. Additionally, you can create your own encryption based on our Cipher interface.
The solutions outlined below provide a level of protection 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.
Base64 Encoding
We don't recommend Base64 encoding in production for securing secrets because it doesn't provide encryption, and therefore cannot guarantee sufficient data protection.
Learn more about Base64 encoding
AES 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 to find and decrypt.
Learn more about AES encryption
Encryption with custom Cipher
If you have extra requirements for storing the password, you can create your own Cipher based on our implementation and examples. To do this, you will need Java knowledge and some basic knowledge of Maven.