OpenLDAP: ACL с использованием имени сокета и DN?

В OpenLDAP (2.4.45, на FreeBSD) я пытаюсь ограничить доступ DN к атрибуту, предоставляя доступ DN только тогда, когда соединение выполняется через разъем; но безуспешно.

Я пытаюсь использовать

olcAccess: to attrs=userPassword
  by dn.base="uid=pwreset,ou=service,dc=example,dc=edu" 
     sockname.exact="/var/run/openldap/ldapi"
  write

(идея состоит в том, что DN pwreset может использоваться сценарием автоматического сброса пароля, но этот DN будет иметь только этот доступ когда сценарий выполняется на том же компьютере, что и сервер LDAP).

Эта фраза по , похоже, соответствует продукту в разд. 8.3 из документации по управлению доступом OpenLDAP , и замечание в slapd.access (5) о том, что элементы в поле «могут быть указаны в комбинации». И действительно, никаких синтаксических предупреждений не генерируется. Я предполагаю, что комбинация подразумевает И , а не ИЛИ - в документации это явно не указано. Я не могу найти примеров, раскрывающих это, ни в документации OpenLDAP, ни в Интернете.

Этот раздел работает, когда элемент sockname отсутствует, что говорит о том, что в остальном конфигурация работает так, как я ожидал.

Когда Я пытаюсь записать атрибут userPassword , используя это DN, я получаю ошибку ldap_modify: Недостаточный доступ (50) .

В документации OpenLDAP нет. Эти пользователи добавляют элементы невыполненной работы и видят ход работы над подчиненными элементами (например, задачами). Старый ...

У нас (исторически сложилось) около 50 «локальных» учетных записей на старом сервере для внешних пользователей.
Эти пользователи добавляют элементы невыполненной работы и наблюдают за ходом работы над подчиненными элементами (например, задачами).

Старая версия Windows Server 2008 R2 с SQL 2014 и TFS 2017.
Новый Windows Server 2016 с SQL 2017 и TFS 2018.
Оба сервера присоединены к одному домену.

Я планирую перенести эти учетные записи пользователей в нашу Active Directory и сопоставить этих пользователей AD с новым сервером TFS 2018.

Есть ли способ сопоставить новых пользователей AD на сервере новый сервер, чтобы новые пользователи видели соответствующие элементы / задачи невыполненной работы и т. д.?

На этапе миграции мы хотели бы это протестировать. Таким образом, обе системы (старая с локальными пользователями и новая с пользователями AD) должны работать параллельно.

1
задан 17 March 2018 в 08:16
1 ответ

Сценарий, который вы хотели бы выполнить, невозможен. Вы можете отображать пользователей из одного домена или рабочей группы в другой, только если целевой пользователь не известен в TFS. Таким образом, ваше желание иметь возможность запускать новых и старых пользователей одновременно, технически невозможно.

Невозможно объединить двух существующих пользователей, известных TFS.

Единственный вариант - сделать это как часть процедуры миграции / обновления и возможно только до тех пор, пока новые идентификаторы не известны TFS в вашем случае, это означает, что целевые пользователи не могут быть частью Active Directory до миграции и должен быть частью активного каталога после миграции TFS.

После того, как вы полностью выключили TFS (обычно после удаления уровня приложений для более старой версии), вы можете использовать следующую команду для сопоставления существующего идентификатора с new и неизвестный идентификатор сервера, который должен существовать после миграции:

TfsConfig identities /change /fromdomain:<D1> /todomain:<D2>
                           [/account:<N1> [/toaccount:<N2>]]
                           [/sqlInstance:<sqlInstance>
                            /databaseName:<databaseName>]

Вам может потребоваться выполнить эту команду для каждой отдельной учетной записи. fromdomain может быть именем сервера, на котором размещены текущие локальные пользователи.

После завершения сопоставления создайте точно таких же пользователей в активном каталоге и перезапустите / установите + запустите (новый) Уровень приложения. Во время этапов обслуживания эти пользователи теперь должны быть синхронизированы с Active Directory, и все их «владения» в TFS должны быть перенесены на нового пользователя.

Примечание : Убедитесь, что у вас есть резервная база данных, которая еще не знает целевых пользователей, чтобы вы могли выполнить этот шаг несколько раз, если у вас не получится с первого раза.

Примечание : эта процедура, вероятно, вызовет некоторое время простоя во время обновления и потребует синхронизированных действий между администратором TFS и людьми из домена. К сожалению, так оно и есть.

1
ответ дан 3 December 2019 в 23:18

Теги

Похожие вопросы