* fix(s3): use URL-safe secret keys for admin dashboard users and service accounts
The dashboard's generateSecretKey() used base64.StdEncoding which produces
+, /, and = characters that break S3 signature authentication. Reuse the
IAM package's GenerateSecretAccessKey() which was already fixed in #7990.
Fixes#8898
* fix: handle error from GenerateSecretAccessKey instead of ignoring it