temporal icon indicating copy to clipboard operation
temporal copied to clipboard

Archival Fails Due to Missing `storage.buckets.get` Permission in GCP Objectstore Binding

Open shankarkc opened this issue 11 months ago • 1 comments

Expected Behavior

As a Temporal user, I should be able to utilize a GCP Objectstore bucket for archival with the permissions provided by the GCP Objectstore service. These permissions allow content creation within the bucket.

Actual Behavior

Archival fails with a "permission denied" error because the necessary storage.buckets.get permission for the bucket itself is not included in the Objectstore binding.

[email protected] does not have storage.buckets.get access to the Google Cloud Storage bucket. Permission 'storage.buckets.get' denied on resource (or it may not exist)., forbidden"

Steps to Reproduce the Problem

Create a service account with below IAMRoles and try to use that serviceAccount to temporal archival

  • storage.objects.create
  • storage.objects.get
  • storage.objects.delete
  • storage.objects.list

Specifications

NA, All versions

shankarkc avatar Apr 15 '25 08:04 shankarkc

The gcp archiver implementation verifies if the bucket exists or not both at archive time and also when archival configuration is updated for a new/existing namespace. https://github.com/temporalio/temporal/blob/main/common/archiver/gcloud/history_archiver.go#L277

Is adding storage.buckets.get permission not an option for you?

This is not a priority for us now unfortunately. Happy to take a contribution if this is important and adding permission is not an option.

yycptt avatar May 09 '25 22:05 yycptt

Closing this due to lack of interest.

bergundy avatar Jun 26 '25 22:06 bergundy