Skip to content

Cloud Storage CORS設定の追加 #37

@ano333333

Description

@ano333333

問題

現在、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にCORS設定が追加されている
  • Chrome ExtensionからのGETリクエストが正常に動作する
  • プリフライトリクエスト(OPTIONS)が適切に処理される
  • 設定適用後もセキュリティが維持されている

影響を受けるファイル

  • gcp/main.tf
  • chrome-extension/src/adapters/beatmapDataSource/gcsBeatmapDataSource.ts

優先度

Medium - 現在の実装でも動作するが、将来的な安定性向上のため実装推奨

期待される効果

  • Chrome Extension からの直接的なCloud Storageアクセスの安定化
  • CORS関連エラーの解消
  • ユーザビリティの向上

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions