5.4. コンテンツセキュリティーポリシー (CSP)
ConsolePluginSpec
ファイルの contentSecurityPolicy
フィールドを使用して、動的プラグインのコンテンツセキュリティーポリシー (CSP) ディレクティブを指定できます。このフィールドは、スクリプト、スタイル、イメージ、フォントなどのコンテンツの取得を許可するソースを指定することにより、潜在的なセキュリティーリスクを軽減するのに役立ちます。外部ソースからリソースをロードする必要がある動的プラグインの場合、カスタム CSP ルールを定義することで、Red Hat OpenShift Service on AWS への安全な統合が保証されます。
現在、コンソールは Content-Security-Policy-Report-Only
レスポンスヘッダーを使用しています。そのため、ブラウザーの Web コンソールで CSP 違反について警告されるだけであり、CSP ポリシーの適用は限られています。CSP 違反はブラウザーのコンソールに記録されますが、関連する CSP ディレクティブは適用されません。この機能は feature-gate
の背後にあるため、手動で有効にする必要があります。
5.4.1. コンテンツセキュリティーポリシー (CSP) の概要 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツセキュリティーポリシー (CSP) は、Content-Security-Policy-Report-Only
レスポンスヘッダーでブラウザーに配信されます。ポリシーは、一連のディレクティブと値の形で指定します。ディレクティブタイプによって果たす目的が異なります。各ディレクティブには、許可されるソースを表す値のリストを含めることができます。
5.4.1.1. contentSecurityPolicy の主な機能 リンクのコピーリンクがクリップボードにコピーされました!
ディレクティブタイプ
サポートされているディレクティブタイプには、DefaultSrc
、ScriptSrc
、StyleSrc
、ImgSrc
、FontSrc
があります。これらのディレクティブを使用すると、プラグインにさまざまな種類のコンテンツを読み込むための有効なソースを指定できます。ディレクティブタイプによって果たす目的が異なります。たとえば、ScriptSrc
は有効な JavaScript ソースを定義し、ImgSrc
はイメージを読み込む場所を制御します。
値
各ディレクティブには、許可されるソースを表す値のリストを含めることができます。たとえば、ScriptSrc
では複数の外部スクリプトを指定できます。これらの値は 1024 文字に制限されており、空白、コンマ、セミコロンを含めることはできません。また、一重引用符で囲まれた文字列とワイルドカード文字 (*
) は使用できません。
ポリシーの統合
Red Hat OpenShift Service on AWS Web コンソールは、すべての有効な ConsolePlugin
カスタムリソース (CR) にわたる CSP ディレクティブを集約し、独自のデフォルトポリシーとマージします。結合されたポリシーは、Content-Security-Policy-Report-Only
HTTP レスポンスヘッダーによって適用されます。
検証ルール
- 各ディレクティブには最大 16 個の一意の値を設定できます。
- ディレクティブ全体の値の合計サイズが、8192 バイト (8 KB) を超えないようにする必要があります。
- 各値は一意である必要があります。また、引用符、スペース、コンマ、またはワイルドカード記号が使用されていないことを確認する追加の検証ルールが適用されます。