Calling getSignedUrl from the Node.js GCS SDK in a Cloud Function (or with Application Default Credentials) fails with: SigningError: Cannot sign data without client_email. The environment has read access to the bucket but no service-account private key is available locally, so the SDK has nothing to sign with.