Wyłączanie podstawowego uwierzytelniania na urządzeniu Edge

Edge for Private Cloud w wersji 4.18.05

Po włączeniu SAML w Edge możesz wyłączyć uwierzytelnianie podstawowe. Zanim wyłączysz uwierzytelnianie podstawowe:

  • Upewnij się, że do dostawcy tożsamości SAML dodano wszystkich użytkowników Edge, w tym administratorów systemowych.
  • Upewnij się, że w interfejsie użytkownika i interfejsie API zarządzania Edge zostało dokładnie przetestowane uwierzytelnianie SAML.
  • Jeśli korzystasz z portalu usług Apigee dla programistów (lub po prostu portalu), skonfiguruj i przetestuj SAML w portalu, aby mieć pewność, że portal może połączyć się z Edge. Zapoznaj się z artykułem Konfigurowanie portalu do używania protokołu SAML do komunikacji z Edge.

Wyświetlanie bieżącego profilu zabezpieczeń

Możesz wyświetlić profil zabezpieczeń Edge, aby określić bieżącą konfigurację i sprawdzić, czy uwierzytelnianie podstawowe i SAML są obecnie włączone. Aby wyświetlić bieżący profil zabezpieczeń używany przez Edge, na serwerze zarządzania Edge wykonaj to wywołanie interfejsu API do zarządzania Edge:

curl -H "accept:application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord

Jeśli nie masz jeszcze skonfigurowanego SAML, odpowiedź ma postać przedstawioną poniżej, co oznacza, że uwierzytelnianie podstawowe jest włączone:

<SecurityProfile enabled="true" name="securityprofile">
    <UserAccessControl enabled="true">
    </UserAccessControl>
</SecurityProfile>

Jeśli usługa SAML jest już włączona, w wyjściu zobaczysz tag <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 SAML zawiera również element <BasicAuthEnabled>true</BasicAuthEnabled>, co oznacza, że uwierzytelnianie podstawowe jest nadal włączone.

Wyłącz uwierzytelnianie podstawowe

Aby wyłączyć uwierzytelnianie podstawowe, użyj tego wywołania interfejsu Edge Management API na serwerze Edge Management. Pamiętaj, że jako ładunek przesyłasz obiekt XML zwrócony w poprzedniej sekcji. Jedyną różnicą jest to, że ustawiasz parametr <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>'

Po wyłączeniu uwierzytelniania podstawowego każde wywołanie interfejsu API do zarządzania Edge, które przekazuje poświadczenia uwierzytelniania podstawowego, 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, musisz wykonać te czynności:

  1. Zaloguj się na dowolnym węźle Edge ZooKeeper.
  2. 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 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...
  3. Ponownie włącz uwierzytelnianie podstawowe i uwierzytelnianie 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>'

    Możesz teraz ponownie używać uwierzytelniania podstawowego.