Google Cloud Storage の認証エラーを解決 — NetDrive

読了目安 5 分 troubleshooting google-cloud-storage
Kai
KaiJunior Engineer
NetDrive で Google Cloud Storage にサインインできない、またはバケットが表示されない場合は、IAM ロール、取り消された Google のアクセス権、古い認証情報を確認して再接続します。

レンダーノードが数週間ずっと Google Cloud Storage のバケットを G:\ として読み取ってきたのに、今朝からドライブが再接続できません。あるいは、新しいチームメンバーが NetDrive にバケットを追加してサインインに成功したのに、一覧が空です。どちらも NetDrive の不具合に見えますが、原因はたいてい Google 側にあります。サインインしたアカウントに許可されている操作か、NetDrive が保持する認可を Google がまだ有効と見なしているかどうかです。

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 の認証問題は 2 つに分かれ、それぞれ対処が異なります。

  • サインイン自体が失敗する、または拒否される。 ドライブに認証エラーが表示されるか、ブラウザーでのサインインが完了しません。取り消された認可、Google アカウントのパスワードやセキュリティ変更、古い保存済み認証情報を疑います。
  • サインインできるがバケットが表示されない、またはアクセスが拒否される。 Google はアカウントを受け付けましたが、そのアカウントにバケットへの権限がありません。NetDrive ではなく IAM の問題です。

何かを変更する前に、どちらに当たるかを確認してください。ドライブを再接続しても足りない IAM ロールは補えず、IAM を編集しても取り消された認可は復旧しません。

接続済みドライブの状態を表示する NetDrive Drive Manager

確認 1: バケットに対するアカウントのロール

Google Cloud コンソールでバケットを所有するプロジェクトを開き、サインインに使ったアカウントの IAM ロールを確認します。Windows 向け Google Cloud Storage セットアップガイドで説明したとおり、読み取り専用なら Storage Object Viewer で十分で、書き込みには Storage Object Admin が必要です。

次の 2 つの状況でつまずきがちです。

  1. アカウントにプロジェクトのロールはあるが特定のバケットには無い、またはバケットが独自のアクセス設定を使っている。
  2. ドライブを最初に設定した後でロールが変更され、先月まで動いていた書き込みが失敗する。

サインイン成功後に NetDrive がバケットを 1 つも表示しない場合は、まずここを確認してください。無人運用のマシンでは、マウントが特定の個人のログインに依存しないよう、専用のサービスアカウントを使います。

確認 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 認証エラーの多くは、NetDrive ではなく Google 側が原因です。バケットをカバーしていないロール、または Google がもはや有効と見なさない認可です。症状を切り分け、ロールを確認し、アカウントの状態を点検してから、Drive Manager で再接続してください。他のプロバイダーでの同様のサインイン問題は、Azure File Storage の認証エラーを解決と Backblaze B2 の認証エラーを解決を参照してください。

— Kai, NetDrive