Least privilege for Terraform service accounts
📖 Scenario: You are setting up a Terraform service account in a cloud environment. To keep your cloud secure, you want to give this service account only the permissions it absolutely needs. This is called the principle of least privilege.Imagine you have a janitor who only needs keys to the rooms they clean, not the whole building. Similarly, your Terraform service account should only have access to the resources it manages.
🎯 Goal: Build a Terraform configuration that creates a service account with the minimum required permissions to manage compute instances. You will define the service account, assign a role with limited permissions, and output the service account email.
📋 What You'll Learn
Create a Terraform resource for a service account named
terraform_sa with the account ID terraform-service-account.Create a Terraform resource to bind the role
roles/compute.instanceAdmin.v1 to the service account.Output the service account email as
service_account_email.💡 Why This Matters
🌍 Real World
Cloud engineers often create service accounts with minimal permissions to automate infrastructure deployment securely.
💼 Career
Understanding how to assign least privilege roles to service accounts is essential for cloud security and compliance roles.
Progress0 / 4 steps