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

Edge для частного облака v4.18.05

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

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

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

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

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

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

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

Если вы уже включили SAML, вы увидите тег <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>

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

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

Используйте следующий вызов API управления Edge на Edge Management Server, чтобы отключить базовую аутентификацию. Обратите внимание, что в качестве полезных данных вы передаете объект XML, возвращенный в предыдущем разделе. Единственное отличие состоит в том, что вы устанавливаете <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>'

После отключения базовой аутентификации любой вызов 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. Повторно включите базовую аутентификацию и аутентификацию 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>'

    Теперь вы снова можете использовать базовую аутентификацию.