3

サービス レベル アカウントを有効にしてインスタンスを起動しました。たとえば、storage-rw が設定されています。インスタンスにそれらがあることを確認しました。インスタンス内から gsutil ls gs://my_bucket を実行するたびに、次のエラーが表示されます。

gcloud 認証リストが返す

Credentialed accounts:
 - xxxx@developer.gserviceaccount.com (active)

gcutil と gsutil 以外のコンポーネントが必要なため、インスタンスから gcloud sdk を使用する必要があります。

したがって、私の質問は、gcloud が xxxx@developer.gserviceaccount.com アカウントを使用することを承認する方法です。したがって、インスタンスでのみ指定された権限であり、すべてに対する完全な権限を持つ個人ユーザー アカウントではありません。

4

2 に答える 2

6

gcloud CLI は、Google Compute Engine サービス アカウントを確実に処理します。実行したときに「(アクティブ)」と表示されれば$ gcloud auth list、それで十分です。

ここで 2 つの問題が発生する可能性があります。

  1. 間違った gsutil を使用しています。

    Google Cloud SDK をインストールすると、 が作成google-cloud-sdk/bin/gsutilされます。これを実行します。$ which gsutilダブルチェックを行います。を実行している場合google-cloud-sdk/platform/gsutil/gsutil、それは間違ったものであり、gcloud が伝えられることは何もわかりません。

  2. このアカウントには、検査しようとしているバケットにアクセスする権限がありません。バケットの所有者に、そのバケットを所有するプロジェクトに追加するよう依頼する必要があります。

出典: Google Cloud SDK のエンジニア

于 2014-03-05T20:43:04.497 に答える