Google Cloud Storage: OAuth 2.0 クライアントに権限を付与

フローウー

REST を介して Google クラウド ドライブ バケットからファイルをダウンロードしようとしています。しかし、私が作成した oAuth 2.0 クライアントの access_token を使用すると、エラーとして「Insufficient Permission」が表示されます (これは私の googel アカウントのアクセストークンで機能します)。

では、クラウド プラットフォームのどこで、oAuth2 クライアントにファイルをダウンロードしたいバケットへのアクセスを許可できますか?

THX

タクデュード

TL;DR - OAuth2.0 アクセス トークンを要求するときに正しいスコープを要求するステップを見逃している可能性が高いです。Google Cloud Storage API でサポートされているスコープ確認してください通常、アクセス トークンは 60 分で有効期限が切れます。有効期限が切れたら、更新トークンを使用して新しいアクセス トークンを取得する必要があります。

詳細については、Google Cloud Storage の認証ページをお読みください

スコープ

承認は、認証された ID が指定された一連のリソースに対してどのようなアクセス許可を持っているかを決定するプロセスです。OAuth はスコープを使用して、認証された ID が承認されているかどうかを判断します。アプリケーションは、(ユーザー中心またはサーバー中心の認証フローから取得した) 資格情報を 1 つ以上のスコープと一緒に使用して、保護されたリソースにアクセスするためのアクセス トークンを Google 承認サーバーに要求します。

たとえば、read-onlyスコープ付きのアクセス トークンを持つアプリケーション A は読み取りのみが可能ですが、スコープ付きのアクセス トークンを持つアプリケーション B はread-writeデータの読み取りと変更が可能です。どちらのアプリケーションも、オブジェクトとバケットのアクセス制御リストを読み取ったり変更したりすることはできません。full-controlスコープを持つアプリケーションのみがこれを行うことができます。

GCPでの認証

GCP サービスは通常、次の 3 つの主要な認証モードを提供します。

  • エンド ユーザー アカウントの資格情報- ここでは、Google アカウントまたはOAuth 2.0アクセス トークンを使用して、エンド ユーザーとして直接認証します。場合は、アクセストークンを要求してあなたはスコープを提供する必要がありますそのアクセストークンを使用してクライアントにアクセス可能なAPIを決定します。

    OAuth2.0 クレデンシャル - 適切なスコープが付与されている場合、ユーザーのプライベート データにアクセスできます。さらに、Cloud IAM では、このユーザー アカウントにロールを付与することで、きめ細かい権限を制御できます

  • サービス アカウント- ここで、特定の GCP プロジェクトに関連付けられた (およびそれによってそのプロジェクトに課金される)サービス アカウント作成しますこれらは主に、コードまたは Compute Engine、App Engine、Cloud Functions などの Google Cloud サービスからの自動使用に使用されます。Google Cloud IAM を使用してサービス アカウントを作成できます。

    各サービス アカウントにはメール アドレスが関連付けられており (サービス アカウントの作成時に指定します)、Cloud Storage バケット/オブジェクトのこのメール アドレスに適切なロールを付与する必要があります。これらの資格情報は、適切なロールが付与されている場合、ユーザーの個人データにアクセスできます。

  • API キー- ここで、GCP プロジェクトに関連付けられている暗号化された文字列を取得します。ごく少数の Google Cloud API でのみサポートされており、API キーの範囲を制限することはできません (サービス アカウントや OAuth2.0 アクセス トークンとは異なります)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Google Cloud Storage ::制限

Google Cloud Storage WebUIの制限

Google Appengine Cloud Storage

PHP Google Cloud Storage

Google Cloud Storage Client

Google Cloud Storage

Google Cloud Storage - 不十分な権限

クライアント側でGCPプロジェクトにアクセスするための追加の権限を付与せずに、Google Cloud Endpoints Portalの使用を有効にすることは可能ですか?

Google Cloud Storageに最大2 GBをアップロードできません

GCP Cloud Storageでサービスアカウントstorage.buckets.create権限を付与するにはどうすればよいですか?

Oauth2-アクセストークンを取得し、サーバーがGoogle-Cloud-platformにアクセスします

Google Cloud OAuth認証エラー:このクライアントは組織内のユーザーに制限されています

Google Cloud Storage、Compute Engine、InsufficientPermissionエラー

Google Cloud Storage GoLang:エラー処理

Google Cloud Storage500内部サーバーエラー 'Google :: Cloud :: Storage :: SignedUrlUnavailable'

Google Cloud Storage Goクライアントの再試行ロジックはどこにありますか?

Google Cloud Storageは、pysparkから読み取るときにstorage.objects.create権限を必要とします

oAuth2を使用してサーバー間で通信する方法(Google Cloud Engine-> Google App Engine)

サービスアカウントにGoogle Cloud Storageのstorage.objects.getアクセス権がありません

Google Cloud Storageコールドライン:取得前にストレージクラスを変更する

Google コンタクト OAUTH2

Load big file from Google Cloud Storage into Google Cloud Functions?

在 Google Cloud Build 中使用 Google Cloud Storage

OAuth2:JWT認証付与とJWTクライアント認証を使用したクライアント資格情報付与の違いは何ですか?

Cloud FunctionからGoogle Cloud Storageに書き込む(Python)

Spring Cloud OAuth2クライアントの自動構成を上書きする方法は?

Google Cloud Storageでユーザー権限を処理する正しい方法は?

Google Cloud Storage returning wrong identity

What is the Google Cloud Storage public read uri?

TOP 一覧

  1. 1

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  2. 2

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  3. 3

    Ansibleで複数行のシェルスクリプトを実行する方法

  4. 4

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  5. 5

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  6. 6

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  7. 7

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  8. 8

    Chromeウェブアプリのウェブビューの高さの問題

  9. 9

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  10. 10

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  11. 11

    Reactでclsxを使用する方法

  12. 12

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  13. 13

    MLでのデータ前処理の背後にある直感

  14. 14

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  15. 15

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  16. 16

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  17. 17

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

  18. 18

    テキストフィールドの値に基づいて UIslider を移動します

  19. 19

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  20. 20

    PowerShellの分割ファイルへのヘッダーの追加

  21. 21

    ソートされた検索、ターゲット値未満の数をカウント

ホットタグ

アーカイブ