在边缘上停用基本身份验证

适用于私有云的 Edge v4.18.01

在 Edge 上启用 SAML 后,您可以停用基本身份验证。不过,在开始之前, 停用基本身份验证

  • 确保您已将所有 Edge 用户(包括系统管理员)添加到您的 SAML 中 IDP。
  • 确保您已在 Edge 界面和 Edge 管理中对 SAML 身份验证进行了全面测试 API。
  • 如果您还使用 API BaaS,请在 API BaaS 上配置和测试 SAML。请参阅为 API BaaS 启用 SAML
  • 如果您使用的是 Developer Services 门户,请在该门户上配置和测试 SAML,以 确保门户可以连接到 Edge。请参见配置 使用 SAML 与 Edge 通信的开发者服务门户

查看当前安全配置文件

您可以查看 Edge 安全配置文件以确定当前配置,从而确定 基本身份验证和 SAML 已启用。在 Edge 上使用以下 Edge Management API 调用 管理服务器,用于查看 Edge 当前使用的安全配置文件:

> curl -H "accept:application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord

如果您尚未配置 SAML,则响应如下所示,表示基本身份验证已 已启用:

<SecurityProfile enabled="true" name="securityprofile">
    <UserAccessControl enabled="true">
    </UserAccessControl>
</SecurityProfile>

如果您已启用 SAML,则会在输出中看到 &lt;ssoserver&gt; 标记:

<SecurityProfile enabled="true" name="securityprofile">
    <UserAccessControl enabled="true">
        <SSOServer>
            <BasicAuthEnabled>true</BasicAuthEnabled>
            <PublicKeyEndPoint>/token_key</PublicKeyEndPoint>
            <ServerUrl>http://35.197.37.220:9099</ServerUrl>
        </SSOServer>
    </UserAccessControl>
</SecurityProfile>

请注意,启用了 SAML 的版本也显示了 &lt;BasicAuthEnabled&gt;true&lt;/BasicAuthEnabled&gt; 表示“基本身份验证”现为 但仍然处于启用状态

停用基本身份验证

在边缘管理服务器上使用以下 Edge Management API 调用来停用基本版 身份验证。请注意,您将上一部分返回的 XML 对象作为负载进行传递。唯一 区别在于 &lt;BasicAuthEnabled&gt;false&lt;/BasicAuthEnabled&gt;:

> curl -H "Content-Type: application/xml"
http://localhost:8080/v1/securityprofile  -u sysAdminEmail:pWord -d
 '<SecurityProfile enabled="true" name="securityprofile">
  <UserAccessControl enabled="true">
    <SSOServer>
      <BasicAuthEnabled>false</BasicAuthEnabled>
      <PublicKeyEndPoint>/token_key</PublicKeyEndPoint>
      <ServerUrl>http://35.197.37.220:9099</ServerUrl>
  </SSOServer>
 </UserAccessControl>
</SecurityProfile>'

停用基本身份验证后,传递基本身份验证凭据的任何 Edge Management API 调用 会返回以下错误:

<Error>
    <Code>security.SecurityProfileBasicAuthDisabled</Code>
    <Message>Basic Authentication scheme not allowed</Message>
    <Contexts/>
</Error>

重新启用基本身份验证

如果您因任何原因需要重新启用基本身份验证,则必须执行以下步骤:

注意:在重新启用基本身份验证的过程中,您必须暂时停用 Edge 上的所有身份验证,包括 SAML。

  1. 登录任意 Edge ZooKeeper 节点。
  2. 运行以下 bash 脚本以关闭所有安全设置:
    注意:此步骤会在 Edge 上停用所有身份验证,包括 SAML。

    #!/bin/bash
    /opt/apigee/apigee-zookeeper/bin/zkCli.sh -服务器 localhost:2181 <<EOF
    设置 /system/securityprofile &lt;SecurityProfile&gt;&lt;/SecurityProfile&gt;
    退出
    终止期限

    您将看到采用以下格式的输出:
    连接到 localhost:2181
    欢迎使用 ZooKeeper!
    JLine 支持已启用
    WATCHER

    WatchedEvent state:SyncConnected 类型:无 path:null
    [zk: localhost:2181(CONNECTED) 0] 设置 /system/securityprofile <SecurityProfile></SecurityProfile>
    cZxid = 0x89
    ...
    [zk: localhost:2181(CONNECTED) 1] 退出
    正在退出...
  3. 重新启用基本身份验证和 SAML 身份验证:

    &gt;curl -H "内容类型: application/xml&quot;
    http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord -d
    '<SecurityProfile enabled="true"name=&quot;securityprofile&quot;&gt;

    <UserAccessControl enabled="true">
    &lt;SSOServer&gt;
    &lt;BasicAuthEnabled&gt;true&lt;/BasicAuthEnabled&gt;
    &lt;PublicKeyEndPoint&gt;/token_key&lt;/PublicKeyEndPoint&gt;
    &lt;ServerUrl&gt;http://35.197.37.220:9099&lt;/ServerUrl&gt;
    &lt;/SSOServer&gt;
    </UserAccessControl>
    </SecurityProfile>”

    您 现在可以再次使用基本身份验证。