Size: a a a

ClickHouse не тормозит

2021 February 10

DG

Denis Glazachev in ClickHouse не тормозит
Ну опять таки, все сводится к поддержке подстановок с заданием аттрибута из под bind_dn
источник

D

Dj in ClickHouse не тормозит
Denis Glazachev
Ну опять таки, все сводится к поддержке подстановок с заданием аттрибута из под bind_dn
у вас сводится к тому что bind_dn можно сконструировать используя username.
это не так
источник

DG

Denis Glazachev in ClickHouse не тормозит
т.е.
либо bind_dn (как сейчас)
либо bind_dn_base + bind_dn_attribute
источник

DG

Denis Glazachev in ClickHouse не тормозит
и поддержку подстановок {bind_dn:attr}
источник

AS

Alexey Shcherbakov in ClickHouse не тормозит
Dj
у вас сводится к тому что bind_dn можно сконструировать используя username.
это не так
+1 именно в этом проблема, нет возможности его сконструировать, от слова совсем. https://github.com/ClickHouse/ClickHouse/issues/20253 вот тут собственно прописал по сути схожее с тем, что предложили тут https://t.me/clickhouse_ru/203635
источник

D

Dj in ClickHouse не тормозит
Denis Glazachev
Ну опять таки, все сводится к поддержке подстановок с заданием аттрибута из под bind_dn
юзер может логинится в LDAP используя
bind_dn, userPrincipalName, samAccountName, и что угодно что можно наконфигурить...
т.е.
username=ivanov3443
bind_dn =CN=IVAN IVANOVICH IVANOV, OU=USERS, DC=ALTINITY, DC=COM
источник

DG

Denis Glazachev in ClickHouse не тормозит
Alexey Shcherbakov
+1 именно в этом проблема, нет возможности его сконструировать, от слова совсем. https://github.com/ClickHouse/ClickHouse/issues/20253 вот тут собственно прописал по сути схожее с тем, что предложили тут https://t.me/clickhouse_ru/203635
Там другое описано.
источник

D

Dj in ClickHouse не тормозит
Denis Glazachev
и поддержку подстановок {bind_dn:attr}
поддержка подстановок не нужна уже вроде
источник

D

Dj in ClickHouse не тормозит
Denis Glazachev
т.е.
либо bind_dn (как сейчас)
либо bind_dn_base + bind_dn_attribute
достаточно отделить logonname/username от bind_dn
источник

AS

Alexey Shcherbakov in ClickHouse не тормозит
Denis Glazachev
Там другое описано.
ну да, там через сервисного юзера, если взять вариант предложеный DJ, то отпадает лишь этап проверки пароля пользователя, остальное остается
источник

DG

Denis Glazachev in ClickHouse не тормозит
Dj
поддержка подстановок не нужна уже вроде
нужна вроде, мы же хотим s.v.petrov в кликхаусе а не `Петров Сергей Владимирович`-а
источник

D

Dj in ClickHouse не тормозит
а мы в КХ же создаем пользователей, да? тогда да, нужно userNameAttribute добавить
источник

DG

Denis Glazachev in ClickHouse не тормозит
Dj
а мы в КХ же создаем пользователей, да? тогда да, нужно userNameAttribute добавить
нет, юзер нейм фиксированный, и тот, который указали при инициации сессии в кликхаусе. Менять его не надо. А вот под какое поле подставить при создании bind_dn - это да, нужно указать. Вот декомпозицию bind_dn может не стоит делать, т.е. только {bind_dn:attr} должно хватить
источник

D

Dj in ClickHouse не тормозит
Denis Glazachev
нет, юзер нейм фиксированный, и тот, который указали при инициации сессии в кликхаусе. Менять его не надо. А вот под какое поле подставить при создании bind_dn - это да, нужно указать. Вот декомпозицию bind_dn может не стоит делать, т.е. только {bind_dn:attr} должно хватить
тогда фильтр не нужен, КХ может сам генерить

<username>DOMAIN\{user_name}</username>
<usernameAttribute>samAccountName</usernameAttribute>
источник

DG

Denis Glazachev in ClickHouse не тормозит
фильтр поиска нужен по-любому
источник

D

Dj in ClickHouse не тормозит
Denis Glazachev
фильтр поиска нужен по-любому
ну если не хардкодить то:
<username>DOMAIN\{user_name}</username>
<usernameAttribute>samAccountName</usernameAttribute>
<user_filter>(&(objectClass=person)(samAccountName={user_name}))</user_filter>
источник

DG

Denis Glazachev in ClickHouse не тормозит
Dj
ну если не хардкодить то:
<username>DOMAIN\{user_name}</username>
<usernameAttribute>samAccountName</usernameAttribute>
<user_filter>(&(objectClass=person)(samAccountName={user_name}))</user_filter>
несовсем:

<bind_dn>DOMAIN\{user_name}</bind_dn>

….

<base_dn>dc=domain,dc=tld</base_dn>
<search_filter>(&amp;(objectClass=groupOfNames)(member=CN={bind_dn:CN}))<search_filter>
источник

AS

Alexey Shcherbakov in ClickHouse не тормозит
Denis Glazachev
несовсем:

<bind_dn>DOMAIN\{user_name}</bind_dn>

….

<base_dn>dc=domain,dc=tld</base_dn>
<search_filter>(&amp;(objectClass=groupOfNames)(member=CN={bind_dn:CN}))<search_filter>
<search_filter>(&amp;(objectClass=groupOfNames)(member={bind_dn:DN}))<search_filter>
тоже валидно?
источник

D

Dj in ClickHouse не тормозит
Denis Glazachev
несовсем:

<bind_dn>DOMAIN\{user_name}</bind_dn>

….

<base_dn>dc=domain,dc=tld</base_dn>
<search_filter>(&amp;(objectClass=groupOfNames)(member=CN={bind_dn:CN}))<search_filter>
а как вы DN пользователя вернете?
источник

DG

Denis Glazachev in ClickHouse не тормозит
Alexey Shcherbakov
<search_filter>(&amp;(objectClass=groupOfNames)(member={bind_dn:DN}))<search_filter>
тоже валидно?
ну наверно да, если DN от DOMAIN\{user_name} будет реальный DN который мы сегодня так и не увидели 🙂
источник