Cyber Monday 2024! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

Google Exam Professional Cloud DevOps Engineer Topic 5 Question 76 Discussion

Actual exam question for Google's Professional Cloud DevOps Engineer exam
Question #: 76
Topic #: 5
[All Professional Cloud DevOps Engineer Questions]

Your uses Jenkins running on Google Cloud VM instances for CI/CD. You need to extend the functionality to use infrastructure as code automation by using Terraform. You must ensure that the Terraform Jenkins instance is authorized to create Google Cloud resources. You want to follow Google-recommended practices- What should you do?

Show Suggested Answer Hide Answer
Suggested Answer: C

The correct answer is C)

Confirming that the Jenkins VM instance has an attached service account with the appropriate Identity and Access Management (IAM) permissions is the best way to ensure that the Terraform Jenkins instance is authorized to create Google Cloud resources. This follows the Google-recommended practice of using service accounts to authenticate and authorize applications running on Google Cloud1. Service accounts are associated with private keys that can be used to generate access tokens for Google Cloud APIs2. By attaching a service account to the Jenkins VM instance, Terraform can use the Application Default Credentials (ADC) strategy to automatically find and use the service account credentials3.

Answer A is incorrect because the auth application-default command is used to obtain user credentials, not service account credentials. User credentials are not recommended for applications running on Google Cloud, as they are less secure and less scalable than service account credentials1.

Answer B is incorrect because it involves downloading and copying the secret key value of the service account, which is not a secure or reliable way of managing credentials. The secret key value should be kept private and not exposed to any other system or user2. Moreover, setting the GOOGLE environment variable on the Jenkins server is not a valid way of providing credentials to Terraform. Terraform expects the credentials to be either in a file pointed by the GOOGLE_APPLICATION_CREDENTIALS environment variable, or in a provider block with the credentials argument3.

Answer D is incorrect because it involves using the Terraform module for Secret Manager, which is a service that stores and manages sensitive data such as API keys, passwords, and certificates. While Secret Manager can be used to store and retrieve credentials, it is not necessary or sufficient for authorizing the Terraform Jenkins instance. The Terraform Jenkins instance still needs a service account with the appropriate IAM permissions to access Secret Manager and other Google Cloud resources.


Contribute your Thoughts:

Paris
2 months ago
I prefer option C because it directly checks the permissions on the Jenkins VM instance.
upvoted 0 times
...
Antonio
2 months ago
I agree with Refugia, option B seems like the most secure way to handle authorization for Terraform.
upvoted 0 times
...
Pedro
3 months ago
Option D sounds interesting, but I'm not sure if it's the best fit for this scenario. Keeping credentials secure is crucial.
upvoted 0 times
Sue
2 months ago
C) Confirm that the Jenkins VM instance has an attached service account with the appropriate Identity and Access Management (IAM) permissions.
upvoted 0 times
...
Tashia
2 months ago
B) Create a dedicated service account for the Terraform instance. Download and copy the secret key value to the GOOGLE environment variable on the Jenkins server.
upvoted 0 times
...
Kerry
2 months ago
A) Add the auth application-default command as a step in Jenkins before running the Terraform commands.
upvoted 0 times
...
...
Refugia
3 months ago
I think option B is the best choice because it ensures security by using a dedicated service account.
upvoted 0 times
...
Lasandra
3 months ago
Haha, I'd love to see someone try the 'auth application-default' trick. That's a good one!
upvoted 0 times
...
Makeda
3 months ago
Hmm, I'm torn between B and C. Using a dedicated service account seems more secure, but C is probably the easiest and most Google-aligned option.
upvoted 0 times
...
Jennifer
3 months ago
I think option C is the way to go. Leveraging the attached service account with the right IAM permissions is the most straightforward approach.
upvoted 0 times
Jaime
3 months ago
I think so too. It's important to make sure the Jenkins VM instance has the correct IAM permissions for creating Google Cloud resources.
upvoted 0 times
...
Marvel
3 months ago
I agree, option C seems like the most direct way to ensure the Terraform Jenkins instance has the necessary permissions.
upvoted 0 times
...
...

Save Cancel