Insufficient Permission
から登場 gcsfuse がバケットに対して十分な権限を持っていないというデバッグ出力のエラー。おそらく読み取り専用アクセスです。
gcsfuse の資格情報のドキュメントを必ずお読みください。特に、GCE VM でサービス アカウントを使用している場合は、必ず storage-full
で VM をセットアップしてください。 アクセス範囲。
あなたの問題は権限の不足に起因していますが、そうではありません この問題を解決するには、別のスコープで VM を破棄して再作成する必要があります。本番システムにより適した別のアプローチを次に示します。
<オール>最後に、コマンド ラインから gcsfuse を呼び出すときに、サービス アカウント資格情報へのパスを含む環境変数を定義します。
GOOGLE_APPLICATION_CREDENTIALS=/root/credentials/service_credential_file.json gcsfuse bucket_name /my/mount/point
key_file
を使用 fstab
で同じことを達成するためのオプション .これらのオプションは両方とも、gcsfuse 資格情報のドキュメントに記載されています。 (編集:このオプションは文書化されていますが、私には機能しません。)
興味深いことに、環境変数または key_file
を使用する必要があります 以下を使用して VM でサービス アカウントを構成した場合でも、オプションを選択できます:
gcloud auth activate-service-account --key-file /root/credentials/service_credential_file.json
何らかの理由で、gcsfuse は有効な認証済みアカウントを無視します。
storage-full
の使用 VM を作成するときのスコープは、その VM が同じプロジェクトに属するすべてのバケットに完全にアクセスできるため、セキュリティと安定性に影響します。ファイル ストレージ サーバーは、ロギング バケット内のログを上書きしたり、別のバケット内のデータベース バックアップを読み取ったりできる必要がありますか?