4

Bigquery と Cloud Storage サービスを利用して分析ツールを実装したいと考えています。このツールは App Engine で実行し、REST インターフェースを公開して、すべてのリクエストがそのインターフェースを通過し、その後 Bigquery に転送されるようにする必要があります。Bigquery へのアクセスの承認は、App Engine サービス アカウント(App Identity API)に基づいて行う必要があります。ただし、ツール クライアントも認証する必要があります。クライアントは常に別のアプリまたはサービスであるため、OAuth 2.0 および Web ブラウザー ベースの認証は受け入れられません。このような認証を実装し、それを Cloud Storage ACL の Bigquery にバインドする方法はありますか?

次のように状況を検討してください。私たちのドメインの Google アカウントがクライアントに与えられました。REST インターフェースにリクエストを送信し、資格情報 (電子メールとパスワード) にその他の詳細を提供します。このツールはクライアントを認証し、代わりにリクエストを Bigquery(または Cloud Storage)に送信します。クライアントが適切な権限 (Bigquery/Cloud Storage ACL によって設定) なしでデータセット (Bigquery) またはバケット/エンティティ (Cloud Storage) にアクセスしようとすると、アクセスは禁止されます。

4

1 に答える 1

2

これについては、もっと詳細が必要だと思います。どのように資格情報をクライアントに発行していますか? サービスに対してクライアントを認証するために、クライアントのオペレーターがドメインのユーザー名/パスワードを知っていると思いますか?

1 つのオプションとして、クライアントに OAuth 2.0 更新トークンを発行し、その更新トークンを (安全に) アプリ構成に入れるか、アプリをダウンロードするときに自動的にバンドルすることができます。リフレッシュ トークンは、取り消されない限り無期限に有効です。

次に、OAuth 2.0 更新トークンをアプリ エンジン アプリを介して直接 BigQuery / Google Cloud Storage に渡します。すべての ACL(どのクライアントが何に対して権限を持っているか)は、Cloud Storage / BigQuery でネイティブに処理できます。

資格情報を持っている場合は、Web ブラウザーでトークン自体を取得することもできます。これは、アプリケーションのセットアップ時に 1 回行うだけで済み、トークンはアプリによって保存されます。インストール済みアプリケーションでの OAuth 2.0 の使用に関するガイドの詳細: https://developers.google.com/accounts/docs/OAuth2InstalledApp

于 2012-10-20T22:15:31.817 に答える