# v3.4.7 時点の仕様

- [aws.js](https://github.com/weseek/growi/blob/d64662c7844eaba877506ef522ffbed549fc09eb/src/server/service/file-uploader/aws.js#L80) により、アップロード時に `ACL: 'public-read'` が付加された状態でアップロードされる
    - [アクセスコントロールリスト (ACL) の概要](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/acl-overview.html#canned-acl)

## 問題点

- `public-read` はパブリックアクセスを許可するため、S3 の当該URLを知っている物は誰でもインターネット経由でファイルにアクセスできてしまう
    - https://github.com/weseek/growi/issues/705
    - 後述のバケットポリシーを設定しなければ回避できない

# 回避策

## 1. バケットポリシーで明示的にブロックする

### 前提知識

- [【AWS】S3のBucket-ACLとObject-ACLとバケットポリシーどれが強いのか？](https://qiita.com/chokuzin/items/9637a6ce48c0ebb10b31)


### 方法

- [特定の IP アドレスへのアクセスの制限](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-3)
- 上記を参考に、GROWI サーバーからの読み取りのみ許可するように設定する

## 2. AWS 以外のファイルアップロード方法を利用する

- `FILE_UPLOAD` 環境変数で変更できるアップロード先を AWS 以外に設定する
    - `mongodb`, `local` 等はシステム管理者以外アクセスできないリソースなので手軽にアップロードファイルに対するセキュリティを高められる
- **副作用: ただしそれまでアップロード・参照されていたファイルは閲覧できなくなる**

---

## Page Navigation

- Canonical URL: https://dev.growi.org/資料/外部仕様/S3のACL設定
- Permalink: https://dev.growi.org/5d091f611fe336003eec5bfd
- Parent: [外部仕様](/5f9996b89d9ead0049f0ab65.md)
- Children: 0 total
- Total descendants: 0
- Siblings: 35 total
  - [Audit Log Bulk Export](/68b694cdabc93bd7957d265c.md)
  - [G2G Transfer](/6346925ae4791185c5e853e0.md)
  - [LDAPグループ同期](/646d5637019e02272a42cf86.md)
  - [Page Bulk Export](/6555604cc364daae3a0a0946.md)
  - [WIP ページ](/65699af6f32b6358c8efa636.md)
  - [audit-log](/61d6ecdae1ae10d6e19f891f.md)
  - [growi-database-plugin](/634784884b3568aa883bfe05.md)
  - [お知らせ機能](/650d5e7f1647c0285cbb8ae0.md)
  - [アンカーによるページのScroll](/60262e7f15f624004857eb4b.md)
  - [アンケート機能](/6385912d1632aa30f4dae840.md)
  - [インストールプロセス](/600908ded3b38b00486b4b8e.md)
  - [インラインコメント機能](/6503fa29ccf8a72c114fd223.md)
  - [ゲストユーザーが取得できる情報](/5fa395329d8cee004846bb2b.md)
  - [コンテキスト別表示条件一覧](/5fabddf8bbeb1a0048bcb9e9.md)
  - [コンテンツ多言語対応](/6915d04fbdc3b77cabf237ec.md)
  - [サイドバー](/64f551e3bd1b000bf8acccdd.md)
  - [タグに関する仕様](/61713f737000780eeb72f0c8.md)
  - [タグの更新](/5f97e26eb269d70048a2bdc8.md)
  - [ビルトインエディタでの同時多人数編集](/651a6f4a008fee2f99187431.md)
  - [ファイルアップローダー管理画面での操作](/5f99a08e9d9ead0049f0ab80.md)
  - [ページ&ユーザーグループv5](/61b2cdabaa330ce7d8152844.md)
  - [ページの削除](/62271ba808e08bfffd17d07e.md)
  - [ページの移動・リネーム](/6260ff12175c306030e8748f.md)
  - [ページへの複数グループ紐付け](/65253f66b8492a62fc75865f.md)
  - [ページ新規作成時に添付ファイルをアップロードした時の挙動](/645cb75e97cc638e5f3d43f0.md)
  - [ユーザーAPI](/5fd7466a31d89500488248e3.md)
  - [ワークフロー機能](/64d1ee0d67e9a7482fe87ca5.md)
  - [一括削除ボタン、一括削除機能の追加](/625d4ed354f617fa1264d2a3.md)
  - [子孫ページの権限をまとめて更新](/635a314eac6bcd85cbf359fc.md)
  - [検索v5](/619b61e74f3f92073de6964b.md)
  - [検索結果ページのコメント表示](/621ca4cfd9a9f09266ad1503.md)
  - [権限修正が可能なページのアラート](/626f59d70e471e40b93c736a.md)
  - [添付ファイル内全文検索](/69f2e686317cd5dede8898fc.md)
  - [環境変数によるファイルアップローダー設定](/5f9a4106431b5c0048050a2a.md)
  - [複数グループが紐づいたページの操作](/656745fa52eafe1cf1879508.md)
- Last updated: 2024-05-14T06:18:55.327Z by yuki
- Full page listing (all children regardless of count): https://dev.growi.org/_api/v3/page-listing/children?id=5d091f611fe336003eec5bfd
