growi icon indicating copy to clipboard operation
growi copied to clipboard

imprv: Add config to toggle ACL between public_read and private on PutObject when using S3 with FileUploader

Open ToshihitoKon opened this issue 2 months ago • 1 comments

ref: https://github.com/weseek/growi/discussions/8747#discussioncomment-9182746

概要

FileUploaderのバックエンドにS3を利用する際にPutObjectのオプションでACLをpublic_read固定からprivateに切り替えられるよう設定を追加しました。 crowi:aws:S3PutObjectを設定することで切り替えられます、 デフォルトは後方互換をもつためpublic_readです。

動作確認

Growi,mongoを手元で建て、AWS S3 BucketとIAMアクセスキーを指定して以下の動作を確認しました

  • public_read指定時、ACL有効のS3 Bucketをバックエンドで画像アップロードに成功すること
  • public_read指定時、ACL無効のprivateなS3 Bucketに画像をアップロードしようとすると失敗すること
  • private指定時、ACL無効のS3 Bucketに画像のアップロードに成功すること

このPRで対応しないこと

オプションの変更方法に関して、自分の理解が浅いこと、PRを小さくしたいことからこのPRでは対応していません

確認してほしい点

  • オプションの変更方法の追加に関しての対応要望をコードにコメントで追加したほうがよいか
  • Configcrowi:aws:S3PutObjectの命名は適切か
    • Crowiから引き継いだと思われるConfigに新規で追加するのは不適切かもしれない

ToshihitoKon avatar Apr 30 '24 16:04 ToshihitoKon