🔖

Gen2がGAされた。S3のファイルアクセスパターン別 at Gen2

2024/05/07に公開

Amplify Gen2が ready for productionにった

2024年05月07日にやっと、2023年のaws re:Invent 2023で紹介された、amplify Gen2がReady for Productionになりました。

Previewモードだった時に、Storageは本番環境の利用では推奨しないということが出ていましたが、
利用できるようになったみたいです。

https://aws.amazon.com/jp/blogs/mobile/amplify-storage-now-with-fullstack-typescript-powered-by-amazon-s3/

S3で押さえておかないといけない3つのファイルアクセスパターン

  1. 誰でもアクセスできて、read/write。
  2. 自分のbucketだけ、read/write、別のuserは、read only。
  3. 自分のbucketだけ、read/write、別のuserが作成した、bucketはreadもできない。

詳しくは、下記のAccess definition rulesに記載してあります。

https://docs.amplify.aws/react/build-a-backend/storage/authorization/

調べようと思ったら公式に書いてありました。

amplify/storage/resource.ts
export const storage = defineStorage({
  name: 'myProjectFiles',
  access: (allow) => ({
    'public/*': [
      allow.guest.to(['read']),
      allow.authenticated.to(['read', 'write', 'delete']),
    ],
    'protected/{entity_id}/*': [
      allow.authenticated.to(['read']),
      allow.entity('identity').to(['read', 'write', 'delete'])
    ],
    'private/{entity_id}/*': [
      allow.entity('identity').to(['read', 'write', 'delete'])
    ]
  })
});

https://docs.amplify.aws/react/build-a-backend/storage/authorization/#for-gen-1-public-protected-and-private-access-pattern

PURPM MEDIA LAB Tech blog

Discussion