Welcome to ExamTopics
ExamTopics Logo
- Expert Verified, Online, Free.

Unlimited Access

Get Unlimited Contributor Access to the all ExamTopics Exams!
Take advantage of PDF Files for 1000+ Exams along with community discussions and pass IT Certification Exams Easily.

Exam Terraform Associate topic 1 question 76 discussion

Actual exam question from HashiCorp's Terraform Associate
Question #: 76
Topic #: 1
[All Terraform Associate Questions]

Which of these options is the most secure place to store secrets foe connecting to a Terraform remote backend?

  • A. Defined in Environment variables
  • B. Inside the backend block within the Terraform configuration
  • C. Defined in a connection configuration outside of Terraform
  • D. None of above
Show Suggested Answer Hide Answer
Suggested Answer: A 🗳️

Comments

Chosen Answer:
This is a voting comment (?) , you can switch to a simple comment.
Switch to a voting comment New
zyxphreez
Highly Voted 1 year, 7 months ago
Selected Answer: A
Definitely is: A https://www.terraform.io/language/settings/backends/configuration#credentials-and-sensitive-data Warning: We recommend using environment variables to supply credentials and other sensitive data. If you use -backend-config or hardcode these values directly in your configuration, Terraform will include these values in both the .terraform subdirectory and in plan files. This can leak sensitive credentials.
upvoted 24 times
Alandt
2 months, 3 weeks ago
Authentication outside of Terraform is more secure than environment variables. Your environment variables can still refer to a file or the definition of your variables inside terraform. So I would go for C.
upvoted 2 times
...
deepeshukla
9 months, 3 weeks ago
I will select C. In option A, any debugging will still disclose data.
upvoted 1 times
Gomjaba
7 months, 1 week ago
I presume they are hinting at vault here.
upvoted 1 times
...
...
...
CHRIS12722222
Highly Voted 1 year, 8 months ago
Selected Answer: C
I will go for option C. Whenever possible, it is best to authenticate outside of terraform to keep secrets out of state file
upvoted 15 times
Alandt
2 months, 3 weeks ago
I agree with this.
upvoted 1 times
...
...
kingfighers
Most Recent 2 weeks, 1 day ago
choose A: when we use vault, we still need to download it into a file,here is official doc: - **File**: A configuration file may be specified via the `init` command line. To specify a file, use the `-backend-config=PATH` option when running `terraform init`. If the file contains secrets it may be kept in a secure data store, such as [Vault](https://www.vaultproject.io/), in which case it must be downloaded to the local disk before running Terraform. https://developer.hashicorp.com/terraform/language/settings/backends/configuration#credentials-and-sensitive-data
upvoted 1 times
...
aksliveswithaws
2 weeks, 3 days ago
Selected Answer: A
https://developer.hashicorp.com/terraform/language/settings/backends/configuration#credentials-and-sensitive-data:~:text=and%20apply%20steps.-,backend%20types,-The%20block%20label
upvoted 1 times
...
AntonyPeter7
1 month, 2 weeks ago
Selected Answer: C
Authentication outside of Terraform is more secure than environment variables. Like using terraform vault or cloud
upvoted 1 times
...
Kaname93
1 month, 3 weeks ago
Selected Answer: A
From the documentation : Warning: We recommend using environment variables to supply credentials and other sensitive data. If you use -backend-config or hardcode these values directly in your configuration, Terraform will include these values in both the .terraform subdirectory and in plan files. This can leak sensitive credentials. So it's A
upvoted 1 times
...
Alandt
2 months, 3 weeks ago
Selected Answer: C
Definitely C. Authentication outside of Terraform is the most secure way.
upvoted 1 times
...
enook
3 months ago
Selected Answer: C
Chat GPT: The most secure option for storing secrets for connecting to a Terraform remote backend is typically: C. Defined in a connection configuration outside of Terraform Storing sensitive information, such as authentication credentials, outside of the Terraform configuration helps enhance security by preventing accidental exposure or leakage of sensitive data. Using external tools or configuration management systems to manage secrets can provide additional layers of security and access control. It is generally not recommended to store sensitive information directly within the Terraform configuration (option B) to minimize the risk of inadvertent exposure. Additionally, environment variables (option A) can be a good practice for storing secrets securely, but they need to be managed carefully to avoid unintended exposure.
upvoted 2 times
...
parag09
3 months, 1 week ago
Selected Answer: A
The most secure place to store secrets for connecting to a Terraform remote backend is typically defined in environment variables.
upvoted 1 times
...
vipulchoubisa
3 months, 1 week ago
Warning: We recommend using environment variables to supply credentials and other sensitive data. If you use -backend-config or hardcode these values directly in your configuration, Terraform will include these values in both the .terraform subdirectory and in plan files. This can leak sensitive credentials. ANSWER SHOULD BE "A"
upvoted 1 times
...
samimshaikh
3 months, 3 weeks ago
Selected Answer: C
C. Defined in a connection configuration outside of Terraform The most secure option for storing secrets for connecting to a Terraform remote backend is to define them in a connection configuration outside of Terraform. This involves using external configuration files or secure credential management tools. Option A (defined in environment variables) is also a good practice for sensitive information, but it might be less secure than an external configuration file if, for example, there is a risk of exposing environment variables. Option B (inside the backend block within the Terraform configuration) is generally not recommended for storing sensitive information like secrets because Terraform configuration files may be versioned and shared, posing a security risk. Therefore, when dealing with sensitive information, it's a good practice to use external and secure methods for configuration, such as a separate configuration file or a secure credential management tool.
upvoted 2 times
...
caliph_noman
4 months ago
Selected Answer: D
It seems to be D
upvoted 1 times
...
TigerInTheCloud
4 months ago
Selected Answer: A
https://developer.hashicorp.com/terraform/language/settings/backends/configuration Warning: We recommend using environment variables to supply credentials and other sensitive data. If you use -backend-config or hardcode these values directly in your configuration, Terraform will include these values in both the .terraform subdirectory and in plan files. This can leak sensitive credentials.
upvoted 1 times
...
[Removed]
4 months, 3 weeks ago
It is C
upvoted 1 times
...
Ramdi1
4 months, 4 weeks ago
Selected Answer: A
This extract is taken from another course on Udemy with explanation The only method list above that will not result in the username/password being written to the state file is environment variables. All of the other options will result in the provider's credentials in the state file. Terraform runs will receive the full text of sensitive variables, and might print the value in logs and state files if the configuration pipes the value through to an output or a resource parameter. Additionally, Sentinel mocks downloaded from runs will contain the sensitive values of Terraform (but not environment) variables. Take care when writing your configurations to avoid unnecessary credential disclosure. Whenever possible, use environment variables since these cannot end up in state files or in Sentinel mocks. (Environment variables can end up in log files if TF_LOG is set to TRACE.)
upvoted 2 times
...
satamex
6 months ago
Badly formed question, but I would go with C.
upvoted 3 times
...
Alex1atd
6 months, 1 week ago
Selected Answer: A
A for sure.This is what the documentation says: https://developer.hashicorp.com/terraform/language/settings/backends/configuration#credentials-and-sensitive-data https://blog.gitguardian.com/how-to-handle-secrets-in-terraform/ Even if C is a best practice, is not the first choice
upvoted 1 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...