Po włączeniu SAML lub LDAP w Edge możesz wyłączyć uwierzytelnianie podstawowe. Jednak zanim wyłączysz uwierzytelnianie podstawowe:
- Upewnij się, że wszyscy użytkownicy Edge, w tym administratorzy systemu, zostali dodani do IDP.
- Upewnij się, że uwierzytelnianie dostawcy tożsamości zostało dokładnie przetestowane w interfejsie Edge i interfejsie API zarządzania Edge.
- Jeśli używasz portalu usług dla programistów Apigee (lub po prostu portalu), skonfiguruj i przetestuj zewnętrznego dostawcę tożsamości w portalu, aby upewnić się, że portal może połączyć się z Edge. Zobacz Konfigurowanie portalu dla zewnętrznych dostawców tożsamości.
Wyświetlanie bieżącego profilu zabezpieczeń
Możesz wyświetlić profil zabezpieczeń Edge, aby sprawdzić bieżącą konfigurację i ustalić, czy uwierzytelnianie podstawowe i zewnętrzny dostawca tożsamości są obecnie włączone. Aby wyświetlić bieżący profil zabezpieczeń używany przez Edge, użyj tego wywołania interfejsu API zarządzania Edge na serwerze zarządzania Edge:
curl -H "accept:application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord
Jeśli nie masz jeszcze skonfigurowanego zewnętrznego dostawcy tożsamości, odpowiedź będzie wyglądać tak, jak poniżej, co oznacza, że uwierzytelnianie podstawowe jest włączone:
<SecurityProfile enabled="true" name="securityprofile">
<UserAccessControl enabled="true">
</UserAccessControl>
</SecurityProfile>Jeśli masz już włączonego zewnętrznego dostawcę tożsamości, w odpowiedzi powinien pojawić się element <ssoserver>:
<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>Zauważ, że wersja z włączonym zewnętrznym dostawcą tożsamości zawiera też element <BasicAuthEnabled>true</BasicAuthEnabled>, co oznacza, że uwierzytelnianie podstawowe jest nadal włączone.
Wyłączanie uwierzytelniania podstawowego
Aby wyłączyć uwierzytelnianie podstawowe, użyj na serwerze zarządzania Edge tego wywołania interfejsu Edge Management API.
Aby wyłączyć uwierzytelnianie podstawowe, przekaż obiekt XML zwrócony w poprzedniej sekcji jako ładunek. Jedyną różnicą jest to, że ustawiasz <BasicAuthEnabled> na false, jak w tym przykładzie:
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>'Po wyłączeniu uwierzytelniania podstawowego każde wywołanie interfejsu Edge Management API, które przekazuje dane uwierzytelniania podstawowego, zwraca ten błąd:
<Error>
<Code>security.SecurityProfileBasicAuthDisabled</Code>
<Message>Basic Authentication scheme not allowed</Message>
<Contexts/>
</Error>Ponowne włączanie uwierzytelniania podstawowego
Jeśli z jakiegoś powodu musisz ponownie włączyć uwierzytelnianie podstawowe, wykonaj te czynności:
- Zaloguj się w dowolnym węźle ZooKeeper Edge.
- Uruchom ten skrypt bash, aby wyłączyć wszystkie zabezpieczenia:
#! /bin/bash /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF set /system/securityprofile <SecurityProfile></SecurityProfile> quit EOF
Dane wyjściowe będą miały taką postać:
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...
- Ponownie włącz uwierzytelnianie podstawowe i uwierzytelnianie za pomocą zewnętrznego dostawcy tożsamości:
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>'
Możesz teraz ponownie używać uwierzytelniania podstawowego. Pamiętaj, że uwierzytelnianie podstawowe nie działa, gdy włączone jest nowe środowisko Edge.