EX294 Manage automation security and operations Practice Question
Which TWO of the following are best practices for securing automation controller secrets and credentials?
⚠ Common exam trap
Red Hat often tests the misconception that disabling logging is a valid security measure, but the correct approach is to use selective data masking with no_log rather than eliminating logs entirely, which hinders auditing and troubleshooting.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use Ansible Vault to encrypt sensitive data like passwords and API keys
Option B is correct because Ansible Vault encrypts sensitive variables, passwords, and API keys at rest with AES-256, so playbooks and variable files can be safely stored in version control without exposing plaintext secrets. Option D is correct because OAuth2 tokens provide scoped, time-limited, and revocable API authentication, which is far safer than long-lived static credentials that, if leaked, grant persistent access. Option A is wrong because storing secrets in plaintext in inventory files exposes them to anyone with file or repository access. Option C is wrong because disabling logging reduces auditability and does not actually secure secrets; instead, you should use no_log and vaulted variables to keep sensitive data out of logs. Option E is wrong because granting all users admin access violates least privilege and dramatically increases the blast radius of any compromised account.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Store secrets in plain text in inventory files for simplicity
Why it's wrong here
Plain-text inventory files expose credentials to anyone with repository or filesystem read access. It is tempting because it avoids vault password handling during playbook runs, but Ansible Vault or an external secrets manager is the correct mechanism for encrypting secrets at rest.
- ✓
Use Ansible Vault to encrypt sensitive data like passwords and API keys
Why this is correct
Ansible Vault encrypts variables and files at rest using AES-256, so passwords and API keys stored in playbooks or variable files remain unreadable without the vault password. This satisfies the requirement to protect sensitive data rather than leaving it in plaintext.
- ✗
Disable logging to prevent exposure of sensitive data in logs
Why it's wrong here
Disabling logging removes the audit trail needed to detect credential misuse and does not protect secrets themselves. It is tempting because logs can leak sensitive values, but the correct approach is sanitising task output and using no_log selectively, not eliminating logging across the controller.
- ✓
Use OAuth2 tokens for API authentication instead of static credentials
Why this is correct
OAuth2 tokens are short-lived and scoped, so automation controller API calls do not embed long-lived static credentials that could be reused if leaked. This satisfies the requirement to reduce exposure of persistent secrets in authentication flows.
- ✗
Grant all users admin access to reduce permission complexity
Why it's wrong here
Granting every user admin access removes role separation, so any account compromise yields full controller control. It is tempting because uniform permissions avoid access-denied troubleshooting, yet least-privilege role-based access with separate credentials for privileged automation is the actual best practise.
Quick reference
AAA Protocol Comparison
| Protocol | Port(s) | Encryption | Transport | Primary Use |
|---|---|---|---|---|
| RADIUS | 1812 / 1813 | Password only | UDP | Network access control |
| TACACS+ | 49 | Full packet | TCP | Device administration |
| Diameter | 3868 | Full session | TCP / SCTP | Carrier / mobile networks |
| 802.1X | — | EAP-based | Layer 2 | Port-based access control |
TACACS+ encrypts the entire packet; RADIUS only encrypts the password field — a key exam distinction.
Go deeper
Related to this question
About these practice questions
This EX294 question is part of Courseiva's 392-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This EX294 practice question is part of Courseiva's free Red Hat certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the EX294 exam.