Edge for Private Cloud v4.18.05
Une fois que vous avez activé SAML sur Edge, vous pouvez désactiver l'authentification de base. Toutefois, avant de désactiver l'authentification de base :
- Assurez-vous d'avoir ajouté tous les utilisateurs Edge, y compris les administrateurs système, à votre IdP SAML.
- Assurez-vous d'avoir testé minutieusement l'authentification SAML sur l'interface utilisateur Edge et l'API de gestion Edge.
- Si vous utilisez le portail Apigee Developer Services (ou simplement le portail), configurez et testez SAML sur le portail pour vous assurer qu'il peut se connecter à Edge. Consultez la section Configurer le portail pour qu'il utilise SAML pour communiquer avec Edge.
Afficher le profil de sécurité actuel
Vous pouvez afficher le profil de sécurité Edge pour déterminer la configuration actuelle et savoir si l'authentification de base et SAML sont actuellement activés. Utilisez l'appel d'API de gestion Edge suivant sur le serveur de gestion Edge pour afficher le profil de sécurité actuellement utilisé par Edge :
curl -H "accept:application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord
Si vous n'avez pas encore configuré SAML, la réponse est la suivante, ce qui signifie que l'authentification de base est activée :
<SecurityProfile enabled="true" name="securityprofile">
<UserAccessControl enabled="true">
</UserAccessControl>
</SecurityProfile>Si vous avez déjà activé SAML, le tag <ssoserver> s'affiche dans le résultat :
<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>Notez que la version avec SAML activé affiche également <BasicAuthEnabled>true</BasicAuthEnabled>, ce qui signifie que l'authentification de base est toujours activée.
Désactiver l'authentification de base
Utilisez l'appel d'API Management Edge suivant sur le serveur de gestion Edge pour désactiver l'authentification Basic Auth. Notez que vous transmettez l'objet XML renvoyé dans la section précédente en tant que charge utile. La seule différence est que vous définissez <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>'Après avoir désactivé l'authentification de base, tout appel d'API de gestion Edge qui transmet des identifiants d'authentification de base renvoie l'erreur suivante :
<Error>
<Code>security.SecurityProfileBasicAuthDisabled</Code>
<Message>Basic Authentication scheme not allowed</Message>
<Contexts/>
</Error>Réactiver l'authentification de base
Si, pour une raison quelconque, vous devez réactiver l'authentification de base, procédez comme suit :
- Connectez-vous à n'importe quel nœud Edge ZooKeeper.
- Exécutez le script bash suivant pour désactiver toutes les mesures de sécurité :
#! /bin/bash /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF set /system/securityprofile <SecurityProfile></SecurityProfile> quit EOF
Le résultat s'affiche sous la forme suivante :
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...
- Réactivez l'authentification de base et l'authentification SAML :
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>'
Vous pouvez à nouveau utiliser l'authentification de base.