問題
現在、Chrome ExtensionからCloud Storageバケットへの直接アクセス時に、CORS(Cross-Origin Resource Sharing)制限により403エラーが発生する可能性があります。これは将来的な安定性に影響を与える可能性があります。
解決策
Cloud Storage bucketに適切なCORSポリシーを設定し、Chrome Extensionからの安全なアクセスを保証します。
実装内容
Terraform設定の追加
gcp/main.tfのCloud Storageバケット設定にCORS設定を追加:
resource "google_storage_bucket" "sheet_storage" {
name = "sheet-storage-${var.environment}"
location = var.gcp_region
cors {
origin = ["chrome-extension://*"]
method = ["GET", "HEAD"]
response_header = ["*"]
max_age_seconds = 3600
}
# 既存の設定...
}
CORS設定詳細
- Origin: Chrome Extension の URL スキーマ(
chrome-extension://*)
- Method: GET, HEAD(データ取得に必要な最小限のメソッド)
- Response Header: 必要なヘッダーの許可
- Max Age: プリフライトリクエストのキャッシュ時間(1時間)
Acceptance Criteria
影響を受けるファイル
gcp/main.tf
chrome-extension/src/adapters/beatmapDataSource/gcsBeatmapDataSource.ts
優先度
Medium - 現在の実装でも動作するが、将来的な安定性向上のため実装推奨
期待される効果
- Chrome Extension からの直接的なCloud Storageアクセスの安定化
- CORS関連エラーの解消
- ユーザビリティの向上
問題
現在、Chrome ExtensionからCloud Storageバケットへの直接アクセス時に、CORS(Cross-Origin Resource Sharing)制限により403エラーが発生する可能性があります。これは将来的な安定性に影響を与える可能性があります。
解決策
Cloud Storage bucketに適切なCORSポリシーを設定し、Chrome Extensionからの安全なアクセスを保証します。
実装内容
Terraform設定の追加
gcp/main.tfのCloud Storageバケット設定にCORS設定を追加:CORS設定詳細
chrome-extension://*)Acceptance Criteria
gcp/main.tfにCORS設定が追加されている影響を受けるファイル
gcp/main.tfchrome-extension/src/adapters/beatmapDataSource/gcsBeatmapDataSource.ts優先度
Medium - 現在の実装でも動作するが、将来的な安定性向上のため実装推奨
期待される効果