RabbitMQ LDAP на плагине управления - PullRequest
0 голосов
/ 21 мая 2019

Я новичок в RabbitMQ. У меня он установлен на Windows 10 Enterpise для целей разработки. У нас работает Active Directory. Попытка настроить LDAP для плагина управления, чтобы любой пользователь с правильным паролем мог войти в систему как администратор.

Мой последний конфиг:

[
{
    rabbit,
    [
        {
            auth_backends, [
                {rabbit_auth_backend_ldap, rabbit_auth_backend_internal},
                rabbit_auth_backend_internal
            ]
        }
    ]
},
{
  rabbitmq_auth_backend_ldap,
  [
    {   
        servers, [
            "WLNC0DS23N.na.mycompany.com","WBRD0DS21N.na.mycompany.com"
        ]
    },
    {
        dn_lookup_attribute, "userPrincipalName"
    },
    {
        dn_lookup_base, "DC=na,DC=mycompany,DC=com"
    },
    {
        user_dn_pattern, "${username}@mycompany.com"
    },
    {
        use_ssl, false
    },
    {
        port, 389
    },          
    {
        log, true
    },
    {
        vhost_access_query, {in_group_nested, "CN=NA_WHS,OU=GroupsAndContacts,OU=Exchange,DC=na,DC=mycompany,DC=com","member"}
    },
    {
        resource_access_query, {in_group_nested, "CN=NA_WHS,OU=GroupsAndContacts,OU=Exchange,DC=na,DC=mycompany,DC=com","member"}
    },
    {
        topic_access_query, {in_group_nested, "CN=NA_WHS,OU=GroupsAndContacts,OU=Exchange,DC=na,DC=mycompany,DC=com","member"}
    },
    {
        tag_queries, [
            {
                administrator, {in_group_nested,"CN=NA_WHS,OU=GroupsAndContacts,OU=Exchange,DC=na,DC=mycompany,DC=com","member"}
            }
        ]
    }
  ]
}

].

К сожалению, хотя LDAP, кажется, проверяет меня нормально, я не могу войти в систему и получить эту ошибку в журнале:

2019-05-28 16:04:14.662 [info] <0.678.0> LDAP CHECK: login for perryda
2019-05-28 16:04:14.663 [info] <0.678.0>         LDAP filling template "${username}@mycompany.com" with
        [{username,<<"perryda">>}]
2019-05-28 16:04:14.663 [info] <0.678.0>         LDAP template result: "perryda@mycompany.com"
2019-05-28 16:04:14.750 [info] <0.317.0>     LDAP bind succeeded: xxxx
2019-05-28 16:04:14.750 [info] <0.317.0>         LDAP filling template "${username}@mycompany.com" with
        [{username,<<"perryda">>}]
2019-05-28 16:04:14.751 [info] <0.317.0>         LDAP template result: "perryda@mycompany.com"
2019-05-28 16:04:14.753 [info] <0.317.0>     LDAP DN lookup: perryda -> CN=Perry\, David,OU=Users,OU=WLNC-Wilmington,OU=OC,OU=IT-SD,DC=na,DC=mycompany,DC=com
2019-05-28 16:04:14.753 [info] <0.317.0>     LDAP CHECK: does perryda have tag administrator?
2019-05-28 16:04:14.753 [info] <0.317.0>     LDAP evaluating query: {in_group_nested,"CN=NA_WHS,OU=GroupsAndContacts,OU=Exchange,DC=na,DC=mycompany,DC=com","member"}
2019-05-28 16:04:14.753 [info] <0.317.0>     LDAP evaluating query: {in_group_nested,"CN=NA_WHS,OU=GroupsAndContacts,OU=Exchange,DC=na,DC=mycompany,DC=com","member",subtree}
2019-05-28 16:04:14.754 [info] <0.317.0>         LDAP filling template "CN=NA_WHS,OU=GroupsAndContacts,OU=Exchange,DC=na,DC=mycompany,DC=com" with
        [{username,<<"perryda">>},{user_dn,"CN=Perry\\, David,OU=Users,OU=WLNC-Wilmington,OU=OC,OU=IT-SD,DC=na,DC=mycompany,DC=com"}]
2019-05-28 16:04:14.754 [info] <0.317.0>         LDAP template result: "CN=NA_WHS,OU=GroupsAndContacts,OU=Exchange,DC=na,DC=mycompany,DC=com"
2019-05-28 16:04:14.759 [info] <0.317.0>     LDAP DECISION: does perryda have tag administrator? true
2019-05-28 16:04:14.759 [info] <0.678.0> LDAP DECISION: login for perryda: ok
2019-05-28 16:04:14.759 [warning] <0.678.0> HTTP access denied: user 'perryda' - invalid credentials

У кого-нибудь есть подсказка, в чем проблема и как ее исправить?

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Попытка настроить его так, чтобы пользователи AD принадлежали к определенной группе AD. просто мгновенно вошли в систему, когда они получают доступ к плагину управления от IE или Edge.

Пользовательский интерфейс управления не поддерживает это. Вам нужно будет ввести имя пользователя и пароль для входа в систему с использованием учетных данных AD.


ПРИМЕЧАНИЕ: команда RabbitMQ отслеживает список рассылки rabbitmq-users и только иногда отвечает на вопросы по StackOverflow.

0 голосов
/ 30 мая 2019

Этот ответ опубликовал Даниил Федотов в RabbitMQ Google Group. Работало отлично!

Привет

Ваша строка конфигурации бэкэнда auth "{rabbit_auth_backend_ldap, rabbit_auth_backend_internal}" означает, что бэкэнд LDAP используется только для аутентификации (проверка того, что пользователь существует), но не для авторизации (проверки того, что пользователь имеет доступ к ресурсам) и внутреннего бэкенда используется для авторизации. Это означает, что у вас должны быть разрешения и теги, настроенные для внутреннего пользователя. Если вы хотите, чтобы авторизация проходила через LDAP, вы должны заменить этот кортеж: "{rabbit_auth_backend_ldap, rabbit_auth_backend_internal}" на: "rabbit_auth_backend_ldap". Или создайте пользовательские разрешения во внутренней базе данных, но я думаю, что это не то, чего вы пытаетесь достичь.

...