Skip to content

Terraform Service Account

We use Terraform service acccounts for applying our Terraform configurations.

Troubleshooting

There is a TODO ticket for this problem: Create a new minimal permissions custom role for Terraform SA to fix 403 on KMS IAM policies (https://app.clickup.com/t/86by0w774) Keywords: 1. Error applying IAM policy for KMS CryptoKey 2. Error setting IAM policy for KMS CryptoKey 3. Error 403: Permission 'cloudkms.cryptoKeys.setIamPolicy' denied on resource

│ Error: Error applying IAM policy for KMS CryptoKey "projects/attracs-logistics-nightly-6519/locations/europe-north1/keyRings/road-cc-keyring-nightly/cryptoKeys/road-cc-disk-cryptokey-nightly": Error setting IAM policy for KMS CryptoKey "projects/attracs-logistics-nightly-6519/locations/europe-north1/keyRings/road-cc-keyring-nightly/cryptoKeys/road-cc-disk-cryptokey-nightly": googleapi: Error 403: Permission 'cloudkms.cryptoKeys.setIamPolicy' denied on resource 'projects/attracs-logistics-nightly-6519/locations/europe-north1/keyRings/road-cc-keyring-nightly/cryptoKeys/road-cc-disk-cryptokey-nightly' (or it may not exist)., forbidden
│ 
│   with google_kms_crypto_key_iam_member.road_cc_disk,
│   on create-kms.tf line 21, in resource "google_kms_crypto_key_iam_member" "road_cc_disk":
│   21: resource "google_kms_crypto_key_iam_member" "road_cc_disk" {

Fix

Give the Terraform service account roles/iam.securityadmin role to fix this issue. TODO create a new role with only the minimal permissions (probably cloudkms.cryptoKeys.setIamPolicy is enough)