Po włączeniu SAML lub LDAP w Edge możesz wyłączyć uwierzytelnianie podstawowe. Zanim jednak wyłączysz uwierzytelnianie podstawowe:
- Sprawdź, czy do dostawcy tożsamości dodano wszystkich użytkowników Edge, w tym administratorów systemu.
- Sprawdź, czy uwierzytelnianie dostawcy tożsamości zostało dokładnie przetestowane w interfejsie użytkownika Edge i interfejsie Edge Management API.
- Jeśli korzystasz z portalu Apigee Developer Services (lub portalu), skonfiguruj i przetestuj w nim zewnętrznego dostawcę tożsamości, aby upewnić się, że portal może połączyć się z Edge. Zobacz Konfigurowanie portalu na potrzeby zewnętrznych dostawców tożsamości.
Wyświetl bieżący profil zabezpieczeń
Możesz wyświetlić profil zabezpieczeń brzegowych, aby określić bieżącą konfigurację i określić, 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 Edge Management API na serwerze zarządzania brzegowym:
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ź wygląda 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łączony zewnętrzny dostawca 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>
Zwróć uwagę, że wersja z włączonym zewnętrznym dostawcą tożsamości wyświetla też wartość <BasicAuthEnabled>true</BasicAuthEnabled>, co oznacza, że uwierzytelnianie podstawowe jest nadal włączone.
Wyłącz uwierzytelnianie podstawowe
Aby wyłączyć uwierzytelnianie podstawowe, użyj podanego niżej wywołania interfejsu Edge Management API na serwerze zarządzania brzegowym.
Aby wyłączyć uwierzytelnianie podstawowe, przekaż jako ładunek obiekt XML zwrócony w poprzedniej sekcji. Jedyną różnicą jest ustawienie <BasicAuthEnabled>
na false
, jak pokazano 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 podstawowe dane uwierzytelniające, zwraca ten błąd:
<Error> <Code>security.SecurityProfileBasicAuthDisabled</Code> <Message>Basic Authentication scheme not allowed</Message> <Contexts/> </Error>
Włącz ponownie uwierzytelnianie podstawowe
Jeśli z jakiegoś powodu musisz ponownie włączyć uwierzytelnianie podstawowe, wykonaj te czynności:
- Zaloguj się w dowolnym węźle Edge ZooKeeper.
- 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 wyświetlą się w formacie:
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...
- Włącz ponownie uwierzytelnianie podstawowe i uwierzytelnianie 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 z powrotem korzystać z uwierzytelniania podstawowego. Pamiętaj, że uwierzytelnianie podstawowe nie działa, gdy włączone jest nowe środowisko Edge.