2017-08-11 8 views
1

ノードアプリケーションからファイアベースストレージにファイルをアップロードしています。私はキーで新しいサービスアカウントユーザーを作成しました。アップロードは完璧ですが、Firebase Adminパネルからファイルをダウンロードすることはできません。エラー応答を取得:私は私の主なGmailアカウントでログインしていFirebaseストレージにアクセスできない、管理パネルからファイルをダウンロードできない

{ 
    "error": { 
    "code": 401, 
    "message": "Unauthorized. Could not perform this operation. " 
    } 
} 

(つまりFirebaseの所有者である)私はそれがすべてのリソースへのアクセス権を持っていなければならないと思いました。それらの

service firebase.storage { 
    match /b/{bucket}/o { 
    match /{allPaths=**} { 
     allow read, write: if request.auth != null; 
    } 
    } 
} 

service firebase.storage { 
    match /b/{bucket}/o { 
    match /{allPaths=**} { 
     allow read, write: if true; 
    } 
    } 
} 

service firebase.storage { 
    match /b/{bucket}/o { 
    match /{allPaths=**} { 
     allow read, write; 
    } 
    } 
} 

なしは私が許可を得る助けない: これらは私が試してみました私の許可設定です。

+0

アップロードしてダウンロードするコードは何ですか? –

+0

私はコードを使用していません。上で述べたように、問題はFirebaseコンソール(管理パネル)からデータをダウンロードすることです。アップロードは完璧に機能します(ここではアップロードコードは小さなnodejsアプリとは関係ありません)、ファイルを見ることができます。アクセスできません。そして、私はアカウントの所有者であり、最高の許可を持っているので、それは変です。 – somerandomusername

答えて

1

Firebaseコンソールを介してファイルをダウンロードすると、開発者としてのGCSバケットのアクセス権に依存しますが、ルールではFirebase認証で認証されたユーザとしてのみアクセスが指定されます。

GCS bucket permissionsを確認できます。不足しているアクセス権がある場合は、Storage Adminロールを自分自身に付与できます。

プロジェクトの所有権はありますが、バケットの権限はない可能性があります。バケットにアクセス権を追加できないというメッセージが表示された場合でも、IAM & AdminページからプロジェクトレベルでStorage Adminを自分自身に許可することで回避できます。

これにより、Firebaseコンソールでファイルをダウンロードしたり、バケットの権限を編集できるようになります。役割とアクセス許可の詳細については docs on IAM access controlをご覧ください。

関連する問題