DevOps / Bamboo: Continuous Integration & Deployment Interview Questions
How do you secure sensitive variables in Bamboo?
Sensitive values like API keys or database passwords need to stay out of plain build logs and out of the plan configuration text itself. Bamboo's approach:
- Define the value as a plan or global variable and set its type to Password, which masks it in logs and the UI as soon as it's referenced.
- Reference it in scripts as
${bamboo.password.MY_SECRET}rather than hard-coding the literal value anywhere in the task configuration. - Scope variables as narrowly as possible — a plan-level variable rather than a global one when only one plan needs it — and restrict edit permission on the plan so not everyone can view or change it.
- For Specs-defined plans, avoid committing the actual secret value to the repository; store it in Bamboo's variable store and reference it by name in the Specs code instead.
The masking is a log-display safeguard, not encryption at rest by itself, so pairing it with tight edit/view permissions on the variable is what actually limits who can retrieve the raw value.
More Related questions...