Description デフォルトセキュリティ定義を NeoShowcaseAuth のみに制限し、一般ユーザー向けエンドポイントの認証を個別定義化
解決したい課題と設計意図
課題 : 現在の openapi.yaml のルートレベル(グローバル)セキュリティ定義は、一般の認証Cookie(EmailVerifiedSession)と認証プロキシ経由の信頼済みユーザー認証(NeoShowcaseAuth)の双方が許容されています。これにより、新設されたAPIエンドポイントが個別の security 定義を忘れた場合、自動的に最も緩い認証レベル(一般の認証Cookie)が継承されてしまうリスクがあります。
設計意図 :
設計思想としての「Secure by Default(デフォルトで安全)」を徹底するため、最も制約の厳しい NeoShowcaseAuth(認証プロキシ経由のアクセス)のみをルートレベルのセキュリティ定義とし、デフォルトで最高のセキュリティ境界を強制します。
一方で、一般の認証Cookie(EmailVerifiedSession)のアクセスを正しく許容すべきエンドポイントについては、個別にローカル security 定義でオーバーライドし、明示的かつ厳格に管理するアプローチへとリファクタリングします。
達成したい要件
グローバルデフォルトセキュリティの制限 :
openapi.yaml のルートレベルの security 定義から EmailVerifiedSession を削除し、NeoShowcaseAuth(および CsrfTokenHeader)のみを要求するように修正します。
一般ユーザー向け状態変更エンドポイントのセキュリティ個別定義(オーバーライド) :
既存でデフォルトのセキュリティをそのまま継承している一般ユーザー向け状態変更エンドポイントに対し、個別に EmailVerifiedSession または NeoShowcaseAuth(それぞれに CsrfTokenHeader を付与)の双方を許容する security 定義を追加します。
POST /me/customer
PATCH /me/customer
POST /me/invoices
全エンドポイントのセキュリティ適合性検証 :
グローバルセキュリティの変更後、openapi.yaml 内に存在するすべてのエンドポイント の security 設定が本来の仕様通りに機能しているか(意図しないアクセス拒否や過剰な権限付与が発生していないか)を一つずつ精査・検証し、完全な整合性を保証します。
Reactions are currently unavailable
You can’t perform that action at this time.
デフォルトセキュリティ定義を NeoShowcaseAuth のみに制限し、一般ユーザー向けエンドポイントの認証を個別定義化
解決したい課題と設計意図
openapi.yamlのルートレベル(グローバル)セキュリティ定義は、一般の認証Cookie(EmailVerifiedSession)と認証プロキシ経由の信頼済みユーザー認証(NeoShowcaseAuth)の双方が許容されています。これにより、新設されたAPIエンドポイントが個別のsecurity定義を忘れた場合、自動的に最も緩い認証レベル(一般の認証Cookie)が継承されてしまうリスクがあります。NeoShowcaseAuth(認証プロキシ経由のアクセス)のみをルートレベルのセキュリティ定義とし、デフォルトで最高のセキュリティ境界を強制します。EmailVerifiedSession)のアクセスを正しく許容すべきエンドポイントについては、個別にローカルsecurity定義でオーバーライドし、明示的かつ厳格に管理するアプローチへとリファクタリングします。達成したい要件
openapi.yamlのルートレベルのsecurity定義からEmailVerifiedSessionを削除し、NeoShowcaseAuth(およびCsrfTokenHeader)のみを要求するように修正します。EmailVerifiedSessionまたはNeoShowcaseAuth(それぞれにCsrfTokenHeaderを付与)の双方を許容するsecurity定義を追加します。POST /me/customerPATCH /me/customerPOST /me/invoicesopenapi.yaml内に存在するすべてのエンドポイントのsecurity設定が本来の仕様通りに機能しているか(意図しないアクセス拒否や過剰な権限付与が発生していないか)を一つずつ精査・検証し、完全な整合性を保証します。