我的目标是运行谷歌应用引擎应用程序,只需最少的资源访问权限。在我的情况下,应用程序将访问项目中的数据存储(这是golang示例教程,使用源代码git checkout origin / part4-usingdatastore来自https://github.com/GoogleCloudPlatform/appengine-guestbook-go.git)
我做了以下
我不了解app引擎中的服务帐户。使用这些服务帐户的应用引擎是不是可以访问项目资源?当服务帐户没有允许访问数据存储的策略时,为什么应用程序可以访问数据存储?
答案 0 :(得分:0)
"我的目标是运行谷歌应用引擎应用程序,只需极少量访问所需的资源。"
在没有更多上下文的情况下解压缩是很冒险的。您尝试实现的目标是什么,超出了App Engine的默认行为?
我的经验是,如果一个人在不了解基础知识的情况下开始改变角色,那么事情就会横向发展(或者是南方,西方,或者是梨形,取决于你所处的位置)。所以我怀疑你在第三颗子弹中射中了自己。
答案 1 :(得分:0)
当您从浏览器访问您的应用时,您使用自己的用户凭据,而不是应用的服务帐户。如果您使用这些凭据创建了应用,那么您的用户凭据可能正好是应用所有者/管理员凭据。例如,请参阅app.yaml handler login: admin option not effective on standard env python GAE app?
确保您从应用中退出,或尝试从隐身浏览器窗口或使用哑(呃)实用程序访问该应用,以防止意外/不需要的凭据泄露。
该应用的服务帐户可让您的应用在与其他服务/应用互动时识别自己。来自Understanding Service Accounts:
服务帐户是属于的特殊类型的Google帐户 您的应用程序或虚拟机(VM),而不是 个人最终用户。您的申请assumes the identity of the service account to call Google APIs,以便用户不会 直接参与。服务帐户可以有零个或多个 服务帐户密钥,用于向Google进行身份验证。