Edge for Private Cloud v. 4.17.09
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:
- Verifique se você adicionou todos os usuários do Edge, incluindo administradores do sistema, ao SAML o IdP.
- Verifique se você testou por completo a autenticação SAML na UI e no Gerenciamento de borda API.
- Se você também estiver usando o API BaaS, configure e teste o SAML na API BaaS. Consulte Como ativar o SAML para o API BaaS.
- Se você estiver usando o portal de serviços para desenvolvedores, configure e teste o SAML no portal para garantir que o portal possa se conectar ao Edge. Consulte Como configurar o o portal Developer Services para usar SAML na comunicação 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 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 <ssoserver> 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 <BasicAuthEnabled>true</BasicAuthEnabled> 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 <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 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.
- Faça login em qualquer nó do Edge ZooKeeper.
- 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 <<EOFset /system/securityprofile <SecurityProfile></SecurityProfile>sairEOF
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... - Reativar a autenticação básica e do SAML:
> curl -H "Content-Type: application/xml"
Você poderá 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>'