Skip to content

Commit

Permalink
Support redirects in gcs storage with default credentials (#4295)
Browse files Browse the repository at this point in the history
  • Loading branch information
milosgajdos committed Mar 11, 2024
2 parents 663b430 + de450c9 commit d9815da
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 4 additions & 0 deletions docs/content/storage-drivers/gcs.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,8 @@ An implementation of the `storagedriver.StorageDriver` interface which uses Goog

{{< hint type=note >}}
Instead of a key file you can use [Google Application Default Credentials](https://developers.google.com/identity/protocols/application-default-credentials).

To use redirects with default credentials assigned to a virtual machine you have to enable "IAM Service Account Credentials API" and grant `iam.serviceAccounts.signBlob` permission on the used service account.

To use redirects with default credentials from Google Cloud CLI, in addition to the permissions mentioned above, you have to [impersonate the service account intended to be used by the registry](https://cloud.google.com/sdk/gcloud/reference#--impersonate-service-account).
{{< /hint >}}
4 changes: 0 additions & 4 deletions registry/storage/driver/gcs/gcs.go
Original file line number Diff line number Diff line change
Expand Up @@ -785,10 +785,6 @@ func (d *driver) Delete(ctx context.Context, path string) error {
// RedirectURL returns a URL which may be used to retrieve the content stored at
// the given path, possibly using the given options.
func (d *driver) RedirectURL(r *http.Request, path string) (string, error) {
if d.privateKey == nil {
return "", nil
}

if r.Method != http.MethodGet && r.Method != http.MethodHead {
return "", nil
}
Expand Down

0 comments on commit d9815da

Please sign in to comment.