После включения SAML или LDAP в Edge вы можете отключить базовую аутентификацию. Однако прежде чем отключить базовую аутентификацию:
- Убедитесь, что вы добавили всех пользователей Edge, включая системных администраторов, в IDP.
- Убедитесь, что вы тщательно протестировали аутентификацию поставщика идентификационной информации в Edge UI и Edge Management API.
- Если вы используете портал Apigee Developer Services (или просто портал), настройте и протестируйте внешний поставщик идентификационной информации на портале, чтобы убедиться, что портал может подключиться к Edge. Подробнее о том, как настроить портал для внешних поставщиков идентификационной информации…
Посмотреть текущий профиль безопасности
Вы можете посмотреть профиль безопасности Edge, чтобы определить текущую конфигурацию и узнать, включены ли базовая аутентификация и внешний поставщик идентификационной информации. Чтобы посмотреть текущий профиль безопасности, используемый Edge, выполните следующий вызов Edge Management API на сервере управления Edge:
curl -H "accept:application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord
Если вы ещё не настроили внешний поставщик идентификационной информации, ответ будет выглядеть так, как показано ниже. Это означает, что базовая аутентификация включена.
<SecurityProfile enabled="true" name="securityprofile">
<UserAccessControl enabled="true">
</UserAccessControl>
</SecurityProfile>Если вы уже включили внешний поставщик идентификационной информации, в ответе должен появиться элемент <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>Обратите внимание, что в версии с включенным внешним поставщиком идентификационной информации также отображается <BasicAuthEnabled>true</BasicAuthEnabled>, что означает, что базовая аутентификация по-прежнему включена.
Отключить базовую аутентификацию
Чтобы отключить базовую аутентификацию, используйте следующий вызов Edge Management API на сервере 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>'После отключения базовой аутентификации любой вызов Edge Management API, который передает учетные данные базовой аутентификации, возвращает следующую ошибку:
<Error>
<Code>security.SecurityProfileBasicAuthDisabled</Code>
<Message>Basic Authentication scheme not allowed</Message>
<Contexts/>
</Error>Как повторно включить базовую аутентификацию
Если по какой-либо причине вам нужно снова включить базовую аутентификацию, выполните следующие действия:
- Войдите в любой узел ZooKeeper в Edge.
- Запустите следующий скрипт 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...
- Повторно включите базовую аутентификацию и аутентификацию с помощью внешнего поставщика идентификационной информации:
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>'
Теперь вы снова можете использовать базовую аутентификацию. Обратите внимание, что базовая аутентификация не работает, если включен новый интерфейс Edge.