【问题标题】:How to grant read access to a ServiceAccount如何授予对 ServiceAccount 的读取权限
【发布时间】:2017-10-07 13:56:42
【问题描述】:

我想仔细检查或考虑其他方法来设置我对此文件的权限。

我已经尝试过 IAM(身份和访问管理)管理员权限(它具有编辑权限)并且我正在使用 GAE(Google App Engine)和 Firebase 管理员(对于完全权限的情况,Firebase 规则应该无关紧要)。

我的文件也在 /WEB-INF/ 下。

这是 StackDriver 上的错误

java.security.AccessControlException:访问被拒绝(“java.io.FilePermission”“/WEB-INF/project-blah-firebase-adminsdk-blah-blah.json”“读取”)

补充说明

  1. 我已经尝试过 Servlet 类的 Post 和 Get 方法的代码
  2. 我试过 getApplicationDefault()
  3. 我应该考虑 OAuth 2.0 吗?如果是,我应该将应用程序 ID 放在哪里?

其他参考

https://cloud.google.com/solutions/mobile/firebase-app-engine-android-studio?authuser=1#adding_firebase_iam_permissions_for_the_service_account

【问题讨论】:

  • 使 URL 成为绝对的,而不是相对的。所以:WEB-INF/[PRIVA.....ETC
  • 如果我尝试绝对像“C:..// 它不会工作。它说文件丢失。通过相对操作是识别它的唯一方法。
  • 我说的是代码图片

标签: java google-app-engine servlets backend firebase-admin


【解决方案1】:

我有一个类似的 GAE 项目,我使用 Maven 来管理/部署我的项目。这是我的工作:

  1. 将json文件放到src/main/resources目录下。
  2. 加载文件如下:

InputStream stream = getClass().getClassLoader().getResourceAsStream("service_account.json");

【讨论】:

    猜你喜欢
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多