비공개 S3에 객체 업로드가 작동하지 않습니다

대규모 조사를 해 보았지만, S3에 이미지를 프라이빗 ACL로 업로드하는 가이드를 찾지 못했습니다.

백업은 정상적으로 작동하지만, 이미지 업로드(uploadimg)는 작동하지 않는 이상한 현상을 겪고 있습니다.

이 문제를 버킷의 ACL 문제로 좁혔습니다(ACL 플래그를 지정하지 않고 SDK를 사용하면 파일을 업로드할 수 있다는 점을 확인하여 문제가 ACL임을 입증했습니다). 일부 경우에는 “공개 액세스 차단” 권한이 버킷 수준이 아닌 계정 수준에서 설정되어 있어, 버킷 설정에서 해당 체크박스를 비활성화해도 해결되지 않습니다.

S3 업로드 설정 코드가 업데이트되었음을 확인했는데, 이제 ACL이 매개변수에 기반하여 설정됩니다. 이 설정을 아래로 전달하는 방법이 있을까요? discourse/lib/file_store/s3_store.rb at tests-passed · discourse/discourse · GitHub

https://meta.discourse.org/t/secure-media-uploads/meta/140017 은 로그인한 사용자로 업로드를 제한하는 방법을 설명합니다. 이 정보가 도움이 될까요?

그렇게 해봤는데 이미지는 업로드되긴 하지만 대시보드에서 500 에러가 뜨고, 원인은 물론 로그도 전혀 없어서 막막합니다.

@mahcr ,

저도 같은 문제를 겪고 있습니다. 백업은 가능하지만, “The bucket does not allow ACLs” 오류로 인해 이미지를 업로드할 수 없습니다.

IAM에 AmazonS3FullAccess 정책을 연결했는데도 여전히 같은 오류가 발생합니다.

해결 방안이 있으신가요?

저도 같은 문제를 겪고 있습니다: 백업은 작동하지만 업로드는 작동하지 않습니다.

이 가이드는 구식이 되었습니다:

이 가이드는 CDN 부분에 대해서는 유용해 보이지만, 완전한 해결책은 아닙니다:

저도 같은 문제를 겪었습니다. 백업 업로드는 작동하지만 이미지 업로드 시 "The bucket does not allow ACLs"라는 오류가 발생했습니다.
IAM의 권한 1개와 버킷 설정 2개를 수정하여 해결했습니다.

먼저 Amazon에서 HeadBucket이 유효한 권한이 아니라고 했기 때문에 가이드의 IAM 권한을 "s3:HeadBucket"에서 "s3:ListBucket"으로 변경했습니다.

그 다음 버킷의 권한 페이지와 정확히 동일하도록 가이드를 따랐습니다.

그리고 가장 중요한 부분인 ACL 활성화입니다. 권한 탭의 'Edit Object Ownership’에서 ACL을 활성화하고 'object writer’로 설정하면 모든 문제가 해결되었습니다.

제 경험이 도움이 되길 바랍니다.