chore: set S3 bucket ACL to private

- Update AWS S3 adapter configuration to set the
  access control list (ACL) to private for both
  production and development environments.
- This ensures that the sitemap files are not publicly
  accessible and are only retrievable by authorized
  users or applications, improving security.
This commit is contained in:
songtianlun 2025-03-22 11:11:50 +08:00
parent 2e635972b2
commit c489c19467

View File

@ -36,6 +36,7 @@ class RefreshSitemapWorker
if Rails.env.production?
SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new(
ENV.fetch("AWS_BUCKET", Rails.application.credentials.dig(:s3, :bucket)),
acl: "private",
aws_access_key_id: ENV.fetch("AWS_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3, :access_key_id)),
aws_secret_access_key: ENV.fetch("AWS_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3, :secret_access_key)),
aws_region: ENV.fetch("AWS_REGION", Rails.application.credentials.dig(:s3, :region)),
@ -45,6 +46,7 @@ class RefreshSitemapWorker
else
SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new(
ENV.fetch("AWS_DEV_BUCKET", Rails.application.credentials.dig(:s3_dev, :bucket)),
acl: "private",
aws_access_key_id: ENV.fetch("AWS_DEV_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3_dev, :access_key_id)),
aws_secret_access_key: ENV.fetch("AWS_DEV_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3_dev, :secret_access_key)),
aws_region: ENV.fetch("AWS_DEV_REGION", Rails.application.credentials.dig(:s3_dev, :region)),