Desativar a autenticação básica no Edge

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

  • Verifique se você adicionou todos os usuários do Edge, inclusive os administradores do sistema, ao IDP.
  • Verifique se você testou completamente a autenticação do IdP na IU do Edge e na API de gerenciamento do Edge.
  • Se você estiver usando o portal de serviços para desenvolvedores da Apigee (ou simplesmente o portal), configure e teste seu IdP externo no portal para garantir que ele possa se conectar ao Edge. Consulte Como configurar o portal para IdPs externos.

Ver o perfil de segurança atual

É possível consultar o perfil de segurança de borda para determinar a configuração atual e se a autenticação básica e um IdP externo estão ativados. Use a seguinte chamada de API de gerenciamento de borda no servidor de gerenciamento de borda 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 tiver configurado um IdP externo, a resposta será a mostrada abaixo, o que significa que a autenticação básica está ativada:

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

Se você já ativou um IdP externo, o elemento <ssoserver> 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 um IdP externo ativado também mostra <BasicAuthEnabled>true</BasicAuthEnabled>, o que significa que a autenticação básica ainda está ativada.

Desativar a autenticação básica

Use esta chamada de API de gerenciamento de borda no servidor de gerenciamento de borda para desativar a autenticação básica.

Para desativar a autenticação básica, você passa o objeto XML retornado na seção anterior como o payload. A única diferença é que você define <BasicAuthEnabled> como false, conforme o exemplo a seguir:

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 passar por credenciais de autenticação básica retornará 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:

  1. Faça login em qualquer nó do Edge ZooKeeper.
  2. Execute o seguinte script bash para desativar toda a segurança:
    #! /bin/bash
    /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF
    set /system/securityprofile <SecurityProfile></SecurityProfile>
    quit
    EOF

    O resultado será exibido no formato:

    Connecting to localhost:2181
    Welcome to ZooKeeper!
    JLine support is enabled
    WATCHER::
    WatchedEvent state:SyncConnected
    type:None path:null
    [zk: localhost:2181(CONNECTED) 0]
    set /system/securityprofile <SecurityProfile></SecurityProfile>
    cZxid = 0x89
    ...
    [zk: localhost:2181(CONNECTED) 1] quit
    Quitting...
  3. Reative a autenticação básica e a do IdP externo:
    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>true</BasicAuthEnabled>
      <PublicKeyEndPoint>/token_key</PublicKeyEndPoint>
      <ServerUrl>http://35.197.37.220:9099</ServerUrl>
      </SSOServer>
      </UserAccessControl>
      </SecurityProfile>'

Agora você pode usar a autenticação básica novamente. Observe que a autenticação básica não funciona quando a nova experiência do Edge está ativada.