https://cloud.google.com/solutions/authentication-in-http-cloud-functions
このドキュメントでは、Google Cloud Storageバケットを設定することを提案しています。次に、サービスアカウントの権限「storage.buckets.get」をバケットに設定します。
次に、この権限を使用して、http Google Cloud Functionsへのアクセスを認証します。
HTTPクラウド機能の認証について話しますが、Google Cloud Storageから許可を借りています。これはハッキングの解決策だと私には思えます。
Google Cloud Consoleを介して各クラウド機能で権限を設定することができれば、それは素晴らしいことです。
上記のドキュメントでGoogleが提案した認証ソリューションを使用していますか?または、より良いアプローチがありますか?
「 "storage.buckets.get"をセットアップするには、サービスアカウントに "ストレージオブジェクトビューアー"権限を付与するということですか?
あなたがここに持ってきた link で提案された解決策は確かに方法の1つです。実際、他のGoogle Cloud Platform製品(ストレージバケットだけでなく)を使用して、選択したアカウントのアクセス許可を確認できます。
有効な代替手段は次のとおりです。
'Authorization'
ヘッダーを取得します。url = "https://www.googleapis.com/oauth2/v1/tokeninfo?fields=email&access_token
=" + token_from_the_request_header;
Cloud Functionsを使用するには、モジュールをバケットに入れる必要があります。アカウントに「storage.buckets.get」権限をバケットに付与すると、HTTPクラウド機能をトリガーするための許可がサービスアカウントに付与されます。同様に、別のサービスアカウントから「storage.buckets.get」権限を削除して承認を取り消します。
'storage.buckets.get'許可 を設定するには、標準のロールで「Storage Admin」を選択するか、レガシーのロールから「storage.legacyBucketReader」/「storage.legacyBucketWriter」を選択する必要があります- カスタムロールを定義する 'storage.buckets.get'権限。