S3 Cross Account 사용 시 ACL 설정 관련 문제

0

안녕하세요.

현재 상황은 아래와 같습니다.

Account A - Bucket Owner

Account B - Object Writer/Reader

Account C - Object Writer/Reader

현재 Bucket은 Object Writer가 Owner가 되도록 설정이 되있는 상태로, 별도 설정없이 Account B에서 업로드 시 Account A/C에서 파일 접근이 불가능한 상황입니다. 그래서 Account A의 경우 파일 업로드 시 --acl bucket-owner-full-control 파라미터로 해결이 가능했습니다.

이제 Account C에서 Account B가 생성한 파일을 접근하려고 하는데, 동일한 ACL 설정 문제로 접근이 되지 않는 것 같고, 이를 해결하기 위해서는 별도 ACL 설정이 필요한 것 같았습니다. 결국 파일 생성을 할 때마다 ACL 관련 Grantee로 Account C를 매번 설정해야하는 것일까요?

Bucket 전체로 Account A와 Account C ACL을 설정해도, 결국 Account B가 생성한 파일은 Account B의 ACL 적용을 받기 때문에, Bucket에 적용한 ACL Policy는 적용이 되지 않는 것 같네요.

결국 현재 제가 제안하는 방법은 파일 업로드 시 ACL에 Account A, C를 명시하는 방법입니다만, 더 좋은 방법이 있을지 궁금합니다.

1 Antwort
1
Akzeptierte Antwort

안녕하세요? 문의하신 내용은 모두 ACL 을 사용하기 때문에 고려해야하는 항목으로 언급하신 방법이외에 좀 더 편리한 2가지 옵션이 있을 수 있습니다.

옵션 1. 가장 간단한 방법으로 S3 Bucket 의 Object Ownership 옵션을 "ACLs disabled (recommended)" 하시면 S3 Bucket 에 업로드되는 모든 파일의 Ownership 이 강제로 Bucket Owner 로 변경되게되므로(Bucket owner enforced) 파일 업로드 시마다 ACL 을 명시할 필요 없이 Bucket Policy 만으로 파일에 대한 공유 설정이 가능합니다.

옵션 2. 반드시 ACL Enabled 상태로 사용해야 하는 요구 사항이 있다면 ACL Enabled 상태에서 세부 옵션을 "Bucket owner preferred" 로 선택하시는 방법도 가능합니다. 이 경우 아래에 설명된 것과 같이 파일 별로 별도로 Object 접근 권한을 명시하지 않더라도 파일 업로드 시 bucket-owner-full-control canned ACL 만 명시하면 자동으로 해당 파일에 대한 Ownership 은 Bucket Owner 로 바뀌게 됩니다.

If new objects written to this bucket specify the bucket-owner-full-control canned ACL, they are owned by the bucket owner. Otherwise, they are owned by the object writer.

감사합니다.

profile pictureAWS
beantwortet vor einem Jahr
  • 현재 위 Bucket은 Security Measure 때문에 옵션 1로는 불가능한 상황입니다. 옵션 2의 경우도 결국 Account C에게 추가 권한 부여가 필요해서 SDK 내에서 권한 부여 후 Put하는 방향으로 진행했습니다. 전 옵션에 대해서 자세히 설명해주셔서 감사합니다.

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen