Llamé a s3 api por copyObject. Pero recibí el error 403 de acceso denegado.
Lo he configurado de la siguiente manera.
Configuración de IAM + CORS
IAM es S3FullAccess.
Se permite CORS.
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "http://localhost:3002" ], "ExposeHeaders": [] } ]No sé lo que me estoy perdiendo.
código:
import AWS from 'aws-sdk'; AWS.config.update({ accessKeyId: process.env.NEXT_PUBLIC_AWS_ACCESS_KEY_ID, secretAccessKey: process.env.NEXT_PUBLIC_AWS_SECRET_ACCESS_KEY, }) bucket = new AWS.S3({ params: { Bucket: 'bucket' }, region: 'ap-northeast-2', }); const params = { Bucket: 'bucket', CopySource: `advertisement_${i}.png`, Key: `advertisement_${i}_old.png`, }; await this.bucket.copyObject(params) .send((err => { if (err) { alert(err); } else { console.log(`advertisement_${i} is copied`); } }));