Edge para nuvem privada v. 4.17.09
Depois de ativar o SAML no Edge, é possível 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, incluindo administradores do sistema, ao IDP SAML.
- Verifique se você testou minuciosamente a autenticação SAML na interface do Edge e na API de gerenciamento do Edge.
- Se você também estiver usando a API BaaS, configure e teste o SAML nela. Consulte Como ativar o SAML para a API BaaS.
- Se você estiver usando o portal de serviços para desenvolvedores, configure e teste o SAML no portal para garantir que ele possa se conectar ao Edge. Consulte Como configurar o portal de serviços para desenvolvedores para usar o SAML para se comunicar com o Edge.
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 de gerenciamento da Apigee no servidor de gerenciamento da Apigee para visualizar o perfil de segurança atual usado pela Apigee:
> curl -H "accept:application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWordSe você ainda não tiver configurado o SAML, a resposta será 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á tiver ativado o SAML, a tag <ssoserver> vai aparecer na saída:
<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>Observe que a versão com SAML ativado também mostra <BasicAuthEnabled>true</BasicAuthEnabled>, o que significa que a autenticação básica ainda está ativada.
Desativar autenticação básica
Use a seguinte chamada da API de gerenciamento da Edge no servidor de gerenciamento da Edge para desativar a autenticação básica. Observe que você transmite como payload o objeto XML retornado na seção anterior. A única diferença é que você define <BasicAuthEnabled>false</BasicAuthEnabled>:
> 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 de desativar a autenticação básica, qualquer chamada de API de gerenciamento do Edge que transmita 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:
Atenção: como parte da reativação da autenticação básica, é necessário desativar temporariamente todas as autenticações no Edge, incluindo SAML.
- Faça login em qualquer nó do ZooKeeper do Edge.
- Execute o seguinte script bash para desativar toda a segurança:
Cuidado: esta etapa desativa toda a autenticação no Edge, incluindo SAML.
#! /bin/bash
/opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOFset /system/securityprofile <SecurityProfile></SecurityProfile>quitEOF
Você vai ver uma saída no formato:
Connecting to localhost:2181
Welcome to ZooKeeper!
O suporte ao JLine está ativado
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… - Reative a autenticação básica e a autenticação SAML:
> curl -H "Content-Type: application/xml"
Agora você pode usar a autenticação básica novamente.
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>'