Problem with runner (Kubernetes) cache S3 driver

We have configured the S3 cache driver in our GitLab Runner (Kubernetes).

When the build step is complete and the runner tries to upload cache, we see the correct URL for uploading, however after that line a 403 Forbidden is returned.

The relevant lines are:

Saving cache
Creating cache install-composer_dependencies-master...
cms/.composer/: found 264 matching files and directories
cms/vendor/: found 11460 matching files and directories
Uploading cache.zip to https://<ENDPOINT>/<BUCKET-NAME>/runner/<PATH>
FATAL: received: 403 Forbidden
Failed to create cache

The (relevant part of the) toml config inside the runner (as generated by the Helm chart) is:

[runners.cache]
Type = "s3"
[runners.cache.s3]
  ServerAddress = "<ENDPOINT>"
  AccessKey = "<ACCESS-KEY>"
  SecretKey = "<SECRET-KEY>"
  BucketName = "<BUCKET-NAME>"
  BucketLocation = "eu"

GitLab: 13.3.1

Already tried: Interacting with the bucket through Cyberduck and s3cmd (listing objects, adding objects, removing said object, all work)

I’m looking for more information on why the upload step fails, or steps how I can further reproduce it manually / myself.