修复 Google Cloud Storage 身份验证错误 — NetDrive

阅读时间 4 分钟 troubleshooting google-cloud-storage
Kai
KaiJunior Engineer
NetDrive 无法登录 Google Cloud Storage,或看不到任何存储桶?检查 IAM 角色、被撤销的 Google 访问权限和过期凭据,然后重新连接驱动器。

一台渲染节点已经连续数周通过 G:\ 读取 Google Cloud Storage 存储桶,今天早上驱动器却无法重新连接。或者,新同事在 NetDrive 中添加了存储桶,登录成功,却看到一个空列表。两种情况看起来都像是 NetDrive 的故障,但通常都源于 Google 一侧:已登录账号被允许做什么,或者 Google 是否仍承认 NetDrive 持有的授权。

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

让 GCS 存储桶保持挂载并可访问

NetDrive 让 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 和 macOS 上显示为本地驱动器 — 无需同步,无需完整下载。

  • 将 Google Cloud Storage 存储桶挂载为盘符或卷
  • Drive Manager 显示每个驱动器的连接状态
  • 重新连接驱动器而无需更改其挂载点
WindowsmacOS
下载 NetDrive →

免费试用。提供终身与订阅方案。

先判断症状

GCS 的身份验证问题分为两类,每一类的解决方法不同。

  • 登录本身失败或被拒绝。 驱动器显示身份验证错误,或浏览器登录始终无法完成。应怀疑授权被撤销、Google 账号的密码或安全设置发生变更,或保存的凭据已过期。
  • 登录成功,但存储桶缺失或访问被拒绝。 Google 接受了该账号,但账号对存储桶没有权限。这是 IAM 问题,而不是 NetDrive 的问题。

在修改任何内容之前,先确认属于哪一类。重新连接驱动器无法补上缺失的 IAM 角色,编辑 IAM 也无法修复被撤销的授权。

显示已挂载驱动器连接状态的 NetDrive Drive Manager

检查 1:账号对存储桶的角色

在 Google Cloud 控制台中打开拥有该存储桶的项目,查看你登录所用账号的 IAM 角色。正如我们的 Windows 上 Google Cloud Storage 设置指南所述,只读访问有 Storage Object Viewer 就够了,写入则需要 Storage Object Admin。

有两种情况容易让人踩坑:

  1. 账号在项目上有角色,但在具体存储桶上没有,或者该存储桶使用独立的访问设置。
  2. 有人在驱动器首次设置之后更改了角色,导致上个月还能写入的操作现在失败。

如果登录成功后 NetDrive 没有列出任何存储桶,首先应查看这里。对于无人值守的机器,请使用专用的服务账号,这样挂载就不依赖某一个人的登录。

检查 2:Google 账号本身的状态

修改密码、因可疑登录标记被强制退出,或对已连接应用的审查,都可能使现有授权失效。请在浏览器中登录 Google 账号,查看第三方访问设置。如果 NetDrive 的条目已经消失,说明访问被撤销,重新连接即可解决。

刷新驱动器身份验证后检查挂载状态

在 NetDrive 中重新连接驱动器

重新连接会用全新的授权替换已存储的凭据。挂载点和其他驱动器设置保持不变。

  1. 打开 NetDrive,在 Drive Manager 中找到 Google Cloud Storage 驱动器。
  2. 打开驱动器设置,选择 re-authenticate 或 reconnect。
  3. 在浏览器中完成 Google 登录并批准访问。
  4. 点击 Test,确认 NetDrive 能够访问存储桶。
  5. 在 Drive Manager 中再次挂载该驱动器。

如果这样仍无法清除错误,请从 Drive Manager 中移除该驱动器并重新添加。这会强制获取全新的授权,而不是刷新已损坏的授权。

身份验证不是问题时

如果 Test 通过,但之后文件看起来不对,说明原因已经超出登录环节。文件夹列表看起来过时,可通过手动刷新解决;参见在 NetDrive 中强制刷新文件夹。如果只在写入时失败,请回到上面的 IAM 角色。

总结

NetDrive 中大多数 GCS 身份验证错误来自 Google 而非 NetDrive:角色未覆盖存储桶,或者 Google 不再承认某项授权。先判断症状,检查角色,确认账号状态,然后通过 Drive Manager 重新连接。其他提供商的类似登录问题,请参见修复 Azure File Storage 身份验证错误和修复 Backblaze B2 身份验证错误。

— Kai, NetDrive