Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a service account in Google Cloud Platform?
A service account is a special Google account used by applications or virtual machines to make authorized API calls. It acts like an identity for the app to access cloud resources securely.
Click to reveal answer
beginner
Why should applications use service accounts instead of user accounts?
Applications use service accounts because they provide controlled, automated access to resources without needing a human user. This improves security and avoids sharing personal credentials.
Click to reveal answer
intermediate
How do you assign permissions to a service account?
You assign permissions by granting roles to the service account. Roles define what actions the service account can perform on specific resources.
Click to reveal answer
intermediate
What is the difference between a user-managed and a Google-managed service account?
User-managed service accounts are created and controlled by you for your applications. Google-managed service accounts are created and managed by Google for specific services to work properly.
Click to reveal answer
advanced
How can you securely use a service account key in your application?
Store the service account key securely, such as in Secret Manager or environment variables, and avoid embedding it directly in code. Rotate keys regularly to reduce risk.
Click to reveal answer
What does a service account represent in GCP?
AA billing account
BAn application identity to access resources
CA user login for cloud console
DA network firewall rule
✗ Incorrect
A service account acts as an identity for applications to access Google Cloud resources securely.
Which of the following is a best practice when using service account keys?
ANever rotate keys once created
BEmbed keys directly in source code
CShare keys with all team members via email
DStore keys in a secure location like Secret Manager
✗ Incorrect
Storing keys securely and rotating them regularly helps protect your application and data.
How do you control what a service account can do?
ABy assigning roles with specific permissions
BBy changing the service account password
CBy modifying the billing account
DBy updating the network firewall
✗ Incorrect
Roles define the permissions a service account has on cloud resources.
Which type of service account is created and managed by Google?
AGoogle-managed service account
BUser-managed service account
CBilling service account
DNetwork service account
✗ Incorrect
Google-managed service accounts are created by Google to support specific services.
Why should applications avoid using user accounts for automated access?
AUser accounts have no permissions
BUser accounts expire too quickly
CUser accounts require manual login and are less secure
DUser accounts cannot access cloud resources
✗ Incorrect
User accounts require manual login and sharing credentials, which is less secure for automated processes.
Explain what a service account is and why it is important for applications in Google Cloud.
Think about how apps prove who they are to Google Cloud.
You got /4 concepts.
Describe how you would securely manage and use service account keys in an application.
Consider how to keep keys safe and limit damage if compromised.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of a service account in Google Cloud Platform (GCP)?
easy
A. To allow applications to authenticate and access GCP resources securely
B. To create user accounts for people to log in to GCP Console
C. To store data in Google Cloud Storage buckets
D. To monitor network traffic between virtual machines
Solution
Step 1: Understand service account role
A service account is a special account used by applications or virtual machines to authenticate and access Google Cloud resources securely without user intervention.
Step 2: Differentiate from user accounts
User accounts are for people to log in, while service accounts are for applications or services to act on behalf of users or themselves.
Final Answer:
To allow applications to authenticate and access GCP resources securely -> Option A
Quick Check:
Service account = app authentication [OK]
Hint: Service accounts are for apps, not people [OK]
Common Mistakes:
Confusing service accounts with user accounts
Thinking service accounts store data
Assuming service accounts monitor network
2. Which of the following is the correct way to assign a service account to a Compute Engine VM instance during creation?
easy
A. Use the --service-account flag with gcloud compute instances create
B. Add the service account email to the VM's firewall rules
C. Specify the service account in the VM's startup script
D. Create a user account with the same name as the service account
Solution
Step 1: Identify how to assign service accounts to VMs
The gcloud compute instances create command supports a --service-account flag to specify which service account the VM should use.
Step 2: Eliminate incorrect options
Firewall rules do not assign service accounts, startup scripts do not assign service accounts, and user accounts are unrelated to service account assignment.
Final Answer:
Use the --service-account flag with gcloud compute instances create -> Option A
Quick Check:
Assign service account with --service-account flag [OK]
Hint: Use --service-account flag when creating VM [OK]
Common Mistakes:
Trying to assign service account via firewall
Using startup scripts to assign service accounts
Confusing user accounts with service accounts
3. Consider this Python code snippet using Google Cloud client libraries:
What must be true for this code to successfully list buckets?
medium
A. The user must be logged in to GCP Console in a browser
B. The environment must have a service account with Storage Viewer role configured
C. The code must run on a VM with no service account assigned
D. No authentication is needed to list buckets
Solution
Step 1: Understand authentication requirement
Google Cloud client libraries require authentication, usually via a service account or user credentials, to access resources like buckets.
Step 2: Identify required permissions
To list buckets, the service account or user must have at least the Storage Viewer role to read bucket metadata.
Final Answer:
The environment must have a service account with Storage Viewer role configured -> Option B
Quick Check:
Service account with Storage Viewer role needed [OK]
Hint: List buckets needs Storage Viewer role on service account [OK]
Common Mistakes:
Assuming user login in browser is enough
Running code without any service account
Thinking no auth is needed for bucket listing
4. You deployed an application on a GCP VM with a service account, but it fails to access Cloud Storage buckets. What is the most likely cause?
medium
A. The service account email is not the same as the VM name
B. The VM does not have an external IP address
C. The application code is missing the Cloud Storage client library import
D. The service account lacks the necessary IAM permissions for Cloud Storage
Solution
Step 1: Check service account permissions
If the application cannot access Cloud Storage, the most common reason is missing IAM permissions on the service account assigned to the VM.
Step 2: Rule out other causes
Lack of external IP does not block access if using private Google access; missing import causes code errors but not permission failures; service account email unrelated to VM name.
Final Answer:
The service account lacks the necessary IAM permissions for Cloud Storage -> Option D
Quick Check:
Missing IAM permissions cause access failure [OK]
Hint: Check IAM roles on service account first [OK]
Common Mistakes:
Assuming external IP is required for access
Blaming code imports without error evidence
Confusing service account email with VM name
5. You want to deploy a serverless application on Cloud Run that accesses a Cloud SQL database securely. Which approach correctly uses a service account to grant least privilege access?
hard
A. Assign the Cloud Run service account the Storage Admin role to access Cloud SQL
B. Use the default Compute Engine service account with Owner role for Cloud Run
C. Create a service account with only Cloud SQL Client role and assign it to the Cloud Run service
D. Create a user account with Cloud SQL Admin role and embed its credentials in the app
Solution
Step 1: Identify least privilege principle
Grant only the permissions needed. For Cloud SQL access, the Cloud SQL Client role is sufficient.
Step 2: Assign correct service account to Cloud Run
Create a dedicated service account with Cloud SQL Client role and assign it to the Cloud Run service to avoid over-permission.
Step 3: Eliminate insecure or excessive options
Using default service account with Owner role is too broad; Storage Admin role is unrelated; embedding user credentials is insecure.
Final Answer:
Create a service account with only Cloud SQL Client role and assign it to the Cloud Run service -> Option C
Quick Check:
Least privilege: Cloud SQL Client role on service account [OK]
Hint: Use least privilege role on dedicated service account [OK]