Strategy ONE

配置 SameSite Cookies Library

从 MicroStrategy 2021 Update 7 开始,您可以管理 Workstation 中 Library 的 SameSite cookie。看Chrome v80 Cookie 行为及其对 MicroStrategy 部署的影响用于管理 MicroStrategy 2021 Update 6 及更早版本中的 SameSite cookie。

SameSite 阻止浏览器随跨站点请求发送 cookie。主要目标是减轻跨源信息泄露的风险。它还提供针对跨站点请求伪造攻击的保护。可能的值如下:

  • 松弛对于希望在用户从外部链接访问后维持用户登录会话的网站,在安全性和可用性之间提供合理的平衡。SameSite 的默认选项是松弛,包括未选择任何选项的情况。

  • 严格的阻止浏览器在所有跨站点浏览环境中将 cookie 发送到目标站点,即使是在遵循常规链接时也是如此。

  • 没有任何允许在所有跨站点浏览环境中使用 cookie。

HTTPS 连接是没有任何选择。如果 SameSite cookie 属性设置为没有任何,关联的 cookie 必须标记为安全。

SameSite 属性没有任何建议在以下场景使用:

  • 存在跨域兼容性问题。

  • Strategy网络和Strategy库部署在用户地址栏中显示的域以外的域中。

  • 您正在使用安全断言标记语言 (SAML)、OpenID Connect (OIDC) 和第三方身份验证。

Cookie 标志的变化取决于您的服务器:

由于应用服务器的限制,用户界面中的设置仅适用于 Tomcat 应用服务器上的 JSESSIONID cookie。

Tomcat Web 服务器

  1. 在 Workstation 中,连接到图书馆环境与管理员用户一起。

  2. 右键单击环境并选择特性

  3. 在左侧窗格中,单击图书馆并向下滚动到曲奇饼部分。

  4. 根据您的要求,选择适当的 SameSite 属性并单击好的。默认情况下未选择 SameSite 属性。

  5. 重新启动库服务器。

详细了解此对话框中的其他设置查看和编辑图书馆管理设置

WebLogic Web 服务器

  1. 在 Workstation 中,连接到图书馆环境与管理员用户一起。

  2. 右键单击环境并选择特性

  3. 在左侧窗格中,单击图书馆并向下滚动到曲奇饼部分。

  4. 根据您的要求,选择适当的 SameSite 属性并单击好的。默认情况下未选择 SameSite 属性。

  5. 在你的Strategy部署,导航至 MicroStrategyLibrary\WEB-INF\weblogic.xml

  6. 编辑 weblogic.xml 并添加以下代码:

    复制
    <wls:session-descriptor>
    <wls:cookie-path>/;SameSite=NONE</wls:cookie-path>
    </wls:session-descriptor>
  7. 点击节省并重新启动Web服务器。

JBoss Web 服务器

仅 JBoss 7.3.3 及更新版本支持将 JSessionID cookie 的 Samesite 设置为 None。以下步骤使用 JBoss 7.3.7 进行测试。

  1. 在 Workstation 中,连接到图书馆环境与管理员用户一起。

  2. 右键单击环境并选择特性

  3. 在左侧窗格中,单击图书馆并向下滚动到曲奇饼部分。

  4. 根据您的要求,选择适当的 SameSite 属性并单击好的。默认情况下未选择 SameSite 属性。

  5. 在 JBoss 中,导航到 jboss/standalone/configuration/standalone.xml

  6. 编辑 standalone.xml 并添加 <session-cookie http-only="true" secure="true"/> 如下所示,现有代码。

    复制
    <subsystem xmlns="urn:jboss:domain:undertow:10.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" default-security-domain="other" statistics-enabled="${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}">
                <buffer-cache name="default"/>
                <server name="default-server">
                    <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
                    <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
                    <host name="default-host" alias="localhost">
                        <location name="/" handler="welcome-content"/>
                        <http-invoker security-realm="ApplicationRealm"/>
                    </host>
                </server>
                <servlet-container name="default">
                    <jsp-config/>
                    <session-cookie http-only="true" secure="true"/>
                    <websockets/>
                </servlet-container>
                <handlers>
                    <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
                </handlers>
            </subsystem>
  7. 创建一个名为 undertow-handlers.conf 使用下面显示的代码并将其保存到 WEB-INF 文件夹Strategy库部署。

    复制
    samesite-cookie(mode=NONE)
  8. 重新启动 Web 服务器。