秘密情報・鍵・環境分離(Stripe test/live・権限を絞った鍵・環境ごとの DB)を決める
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- nuxtjs, typescript
Línea de trabajo
Empieza revisando nuxt.config.ts y sus entradas de runtimeConfig para databaseUrl y stripeSecretKey; después, lee los issues relacionados #23 y #17. Compara el entorno indicado, el modo de Stripe, el alcance de las claves y las opciones de rotación sin asumir detalles del despliegue. La tarea se considera completada cuando las políticas de separación y rotación estén documentadas, y los pasos específicos del despliegue estén marcados como provisionales cuando falte información.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
背景
nuxt.config.ts の runtimeConfig(databaseUrl / stripeSecretKey)で秘密情報を受けるが、本番/検証の環境分離、Stripe の test/live 分離、鍵の権限範囲・ローテーションは未決。#23 は起動時の存在検証までを扱う。
なぜ今決めるか
Stripe のオブジェクト ID は test/live で非互換なので、テストモードでデータを投入した DB を live に流用できず、環境ごとに DB を分ける前提が要る。ここを曖昧にすると本番 DB にテストデータが混入する不可逆事故や、鍵とモードの不一致による署名検証の恒久的失敗を招く。混ざった後の分離は極めて高くつく。
論点・選択肢
- 環境分離: 本番/検証で (API キー, webhook シークレット, DATABASE_URL) を 1 セットとして分ける。live 鍵が dev/CI に混入しないガード。
- 鍵の権限: フルアクセスの secret key ではなく、必要リソース(invoices, customers, prices, products, webhooks)に絞った restricted key にするか。漏洩時の被害範囲を狭める。
- ローテーション: 鍵・webhook シークレットを無停止で回せる構造(旧新 2 本の並行受理)を前提にするか。
- 配置: NeoShowcase の secret 機構への配置と、
runtimeConfigが環境ごとに注入される前提の明文化。
受け入れ条件
- 環境分離・test/live 分離・鍵の権限範囲・ローテーション方針が決まっている。
- 運用基盤の機能に依存する具体(配置手順等)は情報不足なら暫定とし、分離の要件は今確定する。
関連
#23(起動時シークレット検証)の拡張。#17(webhook シークレット)と接続する。
- Lenguaje dominante
- TypeScript
- Estrellas
- 0
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de traPtitech/Checkin
-
bug documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
traPtitech/Checkin#87 ·
-
documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
traPtitech/Checkin#64 ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
traPtitech/Checkin#59 ·
-
documentation enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
traPtitech/Checkin#95 ·
-
bug
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
traPtitech/Checkin#92 ·
Todos los issues de traPtitech/Checkin
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
CopilotKit/openmuse#215 ·
Los mantenedores suelen responder en 3 días
-
b:minor bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
software-mansion/argent#1698 ·
Los mantenedores suelen responder en 1 día
-
e2e-failure ready-to-code
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
redhat-developer/rhdh-plugin-export-overlays#4624 · 1 comentario ·
Los mantenedores suelen responder en 1 día