2017-08-11 58 views
1

我正在将文件从我的节点应用程序上传到Firebase存储。我使用密钥创建了新的服务帐户用户。上传工作完美,但我无法从Firebase管理控制台下载任何文件。获取错误响应:Firebase存储的权限问题,无法从管理面板下载文件

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

我与我的主要Gmail帐户登录(即火力地堡的所有者)我认为它应该有访问所有资源。 这些是我已经尽了权限设置:

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。如果您看到权限缺失,则可以授予您自己的存储管理员角色。

您可能拥有项目所有权,但没有权限。如果存储桶说您无法添加权限,您仍然可以通过IAM & Admin页面授予您项目级别的存储管理员权限来解决此问题。

这将允许您在Firebase控制台中下载文件,并让您编辑存储区权限。有关角色和权限的更多信息,请参阅查看docs on IAM access control