Google cloud storage 授权GCE访问GCS

Google cloud storage 授权GCE访问GCS,google-cloud-storage,google-compute-engine,google-cloud-platform,Google Cloud Storage,Google Compute Engine,Google Cloud Platform,我有一个django应用程序在我的谷歌计算引擎中运行,它需要将视频文件上传到我在谷歌云存储中的存储桶中。在搜索身份验证方法时,我发现。在设置实例的服务范围帐户访问部分,它说我需要在创建VM时在设置中启用云平台访问。我想知道这是否是必须的,是否有其他方法可以从计算引擎中的应用程序访问我的云存储桶。因为创建新VM和设置环境非常耗时。如有任何意见,将不胜感激。提前感谢。如上所述,要从Google Compute Engine到Google云存储进行身份验证,您有几个选项: 使用VM作用域:这必须在创

我有一个django应用程序在我的谷歌计算引擎中运行,它需要将视频文件上传到我在谷歌云存储中的存储桶中。在搜索身份验证方法时,我发现。在设置实例的服务范围帐户访问部分,它说我需要在创建VM时在设置中启用云平台访问。我想知道这是否是必须的,是否有其他方法可以从计算引擎中的应用程序访问我的云存储桶。因为创建新VM和设置环境非常耗时。如有任何意见,将不胜感激。提前感谢。

如上所述,要从Google Compute Engine到Google云存储进行身份验证,您有几个选项:

  • 使用VM作用域:这必须在创建VM之前设置,因为一旦创建VM,作用域是不可变的。如果希望只读访问,则需要添加作用域
    devstorage.read_only
    (缩写)或
    https://www.googleapis.com/auth/devstorage.read_only
    (完整路径)。如果您想要读写访问,您应该使用作用域
    devstorage.read\u write
    (缩写)或
    https://www.googleapis.com/auth/devstorage.read_write
    (完整路径)

    注意:还有一个在运行时更新GCE VM作用域的功能

  • 使用作用域的另一种替代方法是使用JSON身份验证令牌,例如可用于连接到Google云存储的via


非常感谢您的回答。但是你能解释一下VM作用域吗?任何项目和帐户的URL是否相同?我一开始没有设置它们,但我仍然通过gcloud auth login编写了GCS,然后credentials=GoogleCredentials.get\u application\u default()。所以我对google的身份验证机制感到困惑。@JFreebird-VM作用域允许您在VM环境中自动填充凭据,这样您就可以避免从VM本身运行
gcloud auth login
。换句话说,如果在VM上启用GCS作用域,则可以使用Google API客户端库,它们将自动获取身份验证令牌,而无需为您做任何额外的工作。如果没有合适的作用域,则需要进行身份验证或手动提供带有auth令牌的JSON文件。