7.4. 内容安全策略 (CSP)
您可以使用 ConsolePluginSpec
文件中的 contentSecurityPolicy
字段为动态插件指定 Content Security Policy (CSP) 指令。此字段有助于通过指定允许获取内容(如脚本、样式、镜像和字体)来降低潜在的安全风险。对于需要从外部源加载资源的动态插件,定义自定义 CSP 规则可确保集成到 OpenShift Container Platform 控制台。
控制台目前使用 Content-Security-Policy-Report-Only
响应标头,因此浏览器将只警告 web 控制台中的 CSP 违反情况,并会限制 CSP 策略的强制。CSP 违反情况将记录在浏览器控制台中,但不会强制相关的 CSP 指令。这个功能位于功能门
的后面,因此您需要手动启用它。
如需更多信息,请参阅使用 Web 控制台启用功能集。
7.4.1. 内容安全策略 (CSP) 概述 复制链接链接已复制到粘贴板!
内容安全策略 (CSP) 传送到 Content-Security-Policy-Report-Only
响应标头中的浏览器。策略被指定为一系列指令和值。每个指令类型提供不同的目的,每个指令都可以具有代表允许源的值列表。
7.4.1.1. contentSecurityPolicy 的主要功能 复制链接链接已复制到粘贴板!
指令类型
支持的指令类型包括 DefaultSrc
,ScriptSrc
,StyleSrc
,ImgSrc
, 和 FontSrc
。这些指令允许您指定有效的源来为插件加载不同类型的内容。每个指令类型满足不同的目的。例如,ScriptSrc
定义有效的 JavaScript 源,而 ImgSrc
控制可以从中加载镜像的位置。
值
每个指令可以有一个代表允许的源的值列表。例如,ScriptSrc
可以指定多个外部脚本。这些值限制为 1024 个字符,且不能包含空格、逗号或分号。另外,不允许使用单引号字符串和通配符字符 (*
)。
统一策略
OpenShift Container Platform Web 控制台聚合了所有启用的 ConsolePlugin
自定义资源 (CR) 中的 CSP 指令,并将其与自己的默认策略合并。然后,combined 策略应用于 Content-Security-Policy-Report-Only
HTTP 响应标头。
验证规则
- 每个指令最多可有 16 个唯一的值。
- 跨指令的所有值的总大小不能超过 8192 字节 (8KB)。
- 每个值都必须是唯一的,并且有额外的验证规则,以确保不使用引号、空格、逗号或通配符符号。