【要約】OCI APIGW と Functions と Object Storage で 静的なHTML を公開してみる。(Oracle Cloud Infrastructure) [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
- ・PAR(事前認証済みリクエスト)の脆弱性。
- ・PARのURLが判明した場合、API Gatewayをバイパスして直接アクセスが可能。
- ・直接アクセスを完全に防ぐことが困難。
// Approach
1.Object StorageへHTMLや画像ファイルをアップロード。
2.Pythonを用いたFunctionsを作成。
- ・
oci.auth.signers.get_resource_principals_signer()を使用。 - ・リソース・プリンシパルによるセキュアな認証を実現。
- ・
mimetypes.guess_type()でContent-Typeを自動判別。
3.API Gatewayのデプロイメント設定。
- ・Pathに
/{file*}を指定。 - ・Backend Typeに Oracle Functions を選択。
// Result
- ・API Gateway経由での安全な静的コンテンツ配信を実現。
- ・PARを使用せず、Functionsによる制御下での公開が可能。
Senior Engineer Insight
> セキュリティ向上と引き換えに、レイテンシが増大する構成。Functionsのコールドスタートが、ユーザー体験に影響する懸念あり。単純な静的配信には、OCI Content Delivery Network等の利用が合理的。ただし、リクエストヘッダーに基づいた動的な認可が必要な場合は、本構成が極めて強力な選択肢となる。運用コストは、Functionsの実行回数に依存する点に注意。