Отключить базовую аутентификацию на Edge

После включения SAML или LDAP на Edge вы можете отключить базовую аутентификацию. Однако прежде чем отключить базовую аутентификацию :

  • Убедитесь, что вы добавили всех пользователей Edge, включая системных администраторов, в свой IDP .
  • Убедитесь, что вы тщательно протестировали аутентификацию IDP в пользовательском интерфейсе Edge и API управления Edge.
  • Если вы используете портал Apigee Developer Services (или просто портал ), настройте и протестируйте на портале своего внешнего IDP, чтобы убедиться, что портал может подключаться к Edge. См. Настройка портала для внешних IDP .

Просмотр текущего профиля безопасности

Вы можете просмотреть профиль безопасности Edge, чтобы определить текущую конфигурацию и определить, включены ли в данный момент базовая проверка подлинности и внешний IDP. Используйте следующий вызов API управления Edge на сервере Edge Management Server, чтобы просмотреть текущий профиль безопасности, используемый Edge:

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

Если вы еще не настроили внешнего IDP, ответ будет таким, как показано ниже, что означает, что базовая аутентификация включена:

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

Если вы уже включили внешний IDP, в ответе должен появиться элемент <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>

Обратите внимание, что версия с включенным внешним IDP также отображает <BasicAuthEnabled>true</BasicAuthEnabled> , что означает, что базовая проверка подлинности все еще включена.

Отключить базовую аутентификацию

Используйте следующий вызов API управления Edge на Edge Management Server, чтобы отключить базовую аутентификацию.

Чтобы отключить базовую аутентификацию, вы передаете объект XML, возвращенный в предыдущем разделе, в качестве полезных данных. Единственное отличие состоит в том, что для <BasicAuthEnabled> установлено значение false , как показано в следующем примере:

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>'

После отключения базовой аутентификации любой вызов API управления Edge, который передает учетные данные базовой аутентификации, возвращает следующую ошибку:

<Error>
    <Code>security.SecurityProfileBasicAuthDisabled</Code>
    <Message>Basic Authentication scheme not allowed</Message>
    <Contexts/>
</Error>

Повторно включите базовую аутентификацию.

Если по какой-либо причине вам необходимо повторно включить базовую аутентификацию, необходимо выполнить следующие действия:

  1. Войдите в любой узел Edge ZooKeeper.
  2. Запустите следующий bash-скрипт, чтобы отключить всю безопасность:
    #! /bin/bash
    /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF
    set /system/securityprofile <SecurityProfile></SecurityProfile>
    quit
    EOF

    Вы увидите вывод в форме:

    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. Повторно включите базовую аутентификацию и аутентификацию внешнего IDP:
    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>'

Теперь вы снова можете использовать обычную аутентификацию. Обратите внимание, что базовая проверка подлинности не работает, если включен интерфейс New Edge.