Wyłącz uwierzytelnianie podstawowe na brzegu sieci

Po włączeniu protokołu SAML lub LDAP w Edge możesz wyłączyć uwierzytelnianie podstawowe. Jednak zanim wyłączysz uwierzytelnianie podstawowe:

  • upewnij się, że do dostawcy tożsamości dodano wszystkich użytkowników Edge, w tym administratorów systemu IDP
  • upewnij się, że dokładnie przetestowano uwierzytelnianie dostawcy tożsamości w nowym interfejsie Edge i interfejsie Edge management API.

Wyświetlanie bieżącego profilu zabezpieczeń

Możesz wyświetlić profil zabezpieczeń Edge, aby sprawdzić 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 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, element <ssoserver> powinien pojawić się w odpowiedzi:

<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 zawiera też <BasicAuthEnabled>true</BasicAuthEnabled>, co oznacza, że uwierzytelnianie podstawowe jest nadal włączone.

Wyłączanie uwierzytelniania podstawowego

Aby wyłączyć uwierzytelnianie podstawowe, użyj tego wywołania interfejsu Edge Management API na serwerze zarządzania Edge:

Aby wyłączyć uwierzytelnianie podstawowe, przekaż jako ładunek obiekt XML zwrócony w poprzedniej sekcji. Jedyna różnica polega na tym, że ustawiasz wartość <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 dane logowania 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:

  1. Zaloguj się w dowolnym węźle Edge ZooKeeper.
  2. Aby wyłączyć wszystkie zabezpieczenia, uruchom ten skrypt powłoki:
    #! /bin/bash
    /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF
    set /system/securityprofile <SecurityProfile></SecurityProfile>
    quit
    EOF

    Zobaczysz dane wyjściowe w takiej postaci:

    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...
  3. Ponownie włącz 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 teraz ponownie używać uwierzytelniania podstawowego. Aby przełączyć nowy interfejs Edge z logowania jednokrotnego z powrotem na uwierzytelnianie podstawowe, ustaw AUTH_MODE=basic i MANAGEMENT_UI_SSO_ENABLED=n w pliku konfiguracyjnym nowego interfejsu Edge, a następnie uruchom /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f configFile i /opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart (lub uruchom polecenie /opt/apigee/apigee-setup/bin/setup.sh -p ue -f configFile).