Como desativar a autenticação básica no Edge

Edge para nuvem privada v4.18.01

Depois de ativar o SAML no Edge, você pode desativar a autenticação básica. No entanto, antes de desativar a autenticação básica:

Como visualizar o perfil de segurança atual

É possível visualizar o perfil de segurança do Edge para determinar a configuração atual e saber se A autenticação básica e o SAML estão ativados. Use a seguinte chamada da API Edge Management na borda Management Server para visualizar o perfil de segurança atual usado pelo Edge:

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

Se você ainda não configurou o SAML, veja abaixo a resposta que indica que a Autenticação básica é ativado:

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

Se você já tiver ativado o SAML, a tag &lt;ssoserver&gt; vai aparecer na resposta:

<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>

A versão com SAML ativado também mostra &lt;BasicAuthEnabled&gt;true&lt;/BasicAuthEnabled&gt; significa que a Autenticação básica é ainda ativado.

Desativar a autenticação básica

Use a seguinte chamada da API de gerenciamento de borda no servidor de gerenciamento de borda para desativar a edição Basic Autenticação Observe que você transmite como payload o objeto XML retornado na seção anterior. O único a diferença é que você define &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>'

Depois que você desativar a autenticação básica, qualquer chamada da API de gerenciamento de borda que transmita as credenciais dessa autenticação retorna o seguinte erro:

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

Reativar a autenticação básica

Se, por algum motivo, você precisar reativar a autenticação básica, siga estas etapas:

Cuidado: como parte da reativação da autenticação básica, você precisa desativar temporariamente todas as autenticações no Edge, inclusive SAML.

  1. Faça login em qualquer nó do Edge ZooKeeper.
  2. Execute o seguinte script bash para desativar toda a segurança:
    Cuidado: esta etapa desativa todas as autenticações no Edge, inclusive no SAML.

    #! /bin/bash
    /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF
    set /system/securityprofile &lt;SecurityProfile&gt;&lt;/SecurityProfile&gt;
    sair
    EOF

    Você verá a saída no formato:
    Como se conectar a localhost:2181
    Bem-vindo ao ZooKeeper!
    O suporte para JLine está ativado
    ASSISTENTE::

    WatchedEvent state:SyncConnected type:None path:null
    [zk: localhost:2181(CONECTADO) 0] defina /system/securityprofile <SecurityProfile></SecurityProfile>
    cZxid = 0x89 (link em inglês)
    ...
    [zk: localhost:2181(CONNECTED) 1] sair
    Saindo...
  3. Reativar a autenticação básica e do SAML:

    &gt; curl -H "Content-Type: 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>'

    Você poderá usar a autenticação básica novamente.