配置内容安全政策

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

配置门户中所有页面的内容安全政策 (CSP),以防御跨站点脚本攻击 (XSS) 和其他代码注入攻击。CSP 定义脚本、样式和图片等内容的可信来源。配置政策后,浏览器会屏蔽从不受信任的来源加载的内容。

CSP 作为 Content-Security-Policy HTTP 响应标头添加到门户中的所有页面,如下所示:

Content-Security-Policy: policy

您可以使用 W3C 网站上内容安全政策指令中定义的指令来定义政策。

如果启用 CSP 标头,则会默认定义以下 CSP 指令:

default-src 'unsafe-eval' 'unsafe-inline' * data:

default-src 指令会为没有已配置指令的资源类型配置默认政策。

下表介绍了默认指令中定义的政策。

政策 有访问权限的应用
'unsafe-inline' 内嵌资源,例如内嵌 <script> 元素、javascript: 网址、内嵌事件处理脚本和内嵌 <style> 元素。注意:您必须使用英文单引号将政策括起。
'unsafe-eval' 不安全的动态评估,例如 JavaScript eval() 和用于通过字符串创建代码的类似方法。注意:您必须使用英文单引号将政策括起。
* (wildcard) data:blob:filesystem: 架构以外的任何网址。
data: 通过数据结构加载的资源(例如,Base64 编码的图片)。

下面提供了配置 CSP 以限制特定资源类型的示例。

政策 有访问权限的应用
default-src 'none' 没有配置指令的资源类型没有访问权限。
img-src * 来自任意来源的图片网址。
media-src https://example.com/ 来自 example.com 网域且使用 HTTPS 协议的视频或音频网址。
script-src *.example.com example.com 的子网域执行任何脚本。
style-src 'self' css.example.com 来自网站源站或 css.example.com 网域的任何样式的应用。

如需配置内容安全政策,请执行以下操作:

  1. 选择发布 > 门户,然后选择您的门户。
  2. 在顶部导航栏的下拉菜单中选择设置
  3. 或者,点击门户着陆页上的设置
  4. 点击 Security(安全)标签。
  5. 点击启用内容安全政策
  6. 配置 CSP 或保留默认值。
  7. 点击保存

您可以随时点击恢复默认值来恢复默认的 CSP 政策。