s3 を使って画像を保存しています。
s3 は companies/{companyID}/users/{userID}/... という階層で管理しています。
Cognito による認証を利用しており、ログインユーザーは全員、custom:company_id
というカスタム属性を持っています。
ここで、ユーザーに付与されているカスタム属性 company_id
と同じ階層以下のデータのみアクセスを許可したい場合、どのようにバケットポリシーを書けば良いでしょうか。
(例: company_id=testCompany
をもつユーザーのみ companies/testCompany/...
のデータにアクセスできる)
principalTag を使う?ような英語の記事を見かけて、下記のように書いてみましたが、うまくいきませんでした。どなたがアドバイスいただけますと幸いです。
json
1{ 2 "Version": "2012-10-17", 3 "Statement": [ 4 { 5 "Effect": "Allow", 6 "Principal": "*", 7 "Action": "s3:getobject", 8 "Resource": 9 "arn:aws:s3:::app/companies/${aws:PrincipalTag/company_id}/*" 10 ] 11 } 12 ] 13}
> principalTag を使う?ような英語の記事を見かけて、
その記事のリンクを質問文に追記してもらうと、回答がつきやすいと思います。
