spomeni/scripts/set-bucket-policy.js
2026-06-20 18:17:30 +02:00

34 lines
928 B
JavaScript

const { S3Client, PutBucketPolicyCommand } = require("@aws-sdk/client-s3");
const client = new S3Client({
endpoint: process.env.S3_ENDPOINT,
region: process.env.S3_REGION || "eu-2",
credentials: {
accessKeyId: process.env.S3_ACCESS_KEY_ID,
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
},
forcePathStyle: true,
});
const bucket = process.env.S3_BUCKET_NAME || "monuments-images";
const policy = {
Version: "2012-10-17",
Statement: [
{
Sid: "PublicReadGetObject",
Effect: "Allow",
Principal: { AWS: ["*"] },
Action: ["s3:GetObject"],
Resource: [`arn:aws:s3:::${bucket}/*`],
},
],
};
client
.send(new PutBucketPolicyCommand({ Bucket: bucket, Policy: JSON.stringify(policy) }))
.then(() => console.log("Bucket policy set successfully:", bucket))
.catch((err) => {
console.error("Failed to set bucket policy:", err.message);
process.exit(1);
});