AWS Amplify Storageのアクセスレベルprotected
を実装しようと思いましたが、他ユーザのcognito identity id
取得方法が提供されていないようです。
今回は調べた内容の情報共有です。
前回の記事でAWS Amplify Storageのprivate
を取り扱っています。
ファイルアクセスレベル
前回も記載しましたが、Amplifyが提供しているStorage(S3)へのアクセスには、3つのアクセスレベルがあります。
今回はprotected
について扱っています。
レベル | 説明 | ファイル格納先 |
---|---|---|
public | 全ユーザがアクセス可能 | public/ |
protected | 全ユーザがアクセスできるが、書き込みは自分のフォルダのみ | protected/{cognito identity id}/ |
private | アクセスできるのは自分のみ | private/{cognito identity id}/ |
実装を試みたが。。。
実装を試みましたが、自身以外のcognito identity id
の取り方ってどうするんだろうか。。。
AWS Amplify APIを参照するが、他ユーザのcognito identity id
の取り方がわからなかった。
そこで、AWS Amplifyのissueを確認していたところ、以下のissueを発見しました。
How to get protected data from S3 Storage?
このやり取りによると、「現在他のユーザ情報を取得する方法はありません」とのこと、質問者はDynamoDBにidentity id
を登録し他のユーザの情報を取得できるように対応しているようです。
また、このやり取りの中で、以下のissueへのリンクがあり、こちらでもidentity id
をどうやって入手するのかが議論されており、回避方法についても話されていますが、SDKによるサポートを受けるのが正しい在り方だと平行線のままで、約1年OPENのままとなっています。
How to find the bidirectional map between Cognito identity ID and Cognito user information?
ECMAScript,Javaを扱います。
最近は、vue.jsなどフロントエンドの技術に興味あり!
中日ドラゴンズを応援してます。
コメント