Если вместе с сервером Jazz Team Server планируется использовать реестр LDAP, Apache Tomcat или WebSphere Application Server необходимо настроить на использование реестра LDAP для идентификации пользователей.
| Параметр | Описание значения |
|---|---|
| Расположение реестра LDAP | URL, указывающий на сервер LDAP. ldap://ldap.example.com:389 |
| Имя пользователя | Имя пользователя для входа на сервер LDAP. Некоторые серверы LDAP разрешают анонимный вход. В этом случае значение этого параметра указывать не нужно. |
| Password | Пароль для имени пользователя. |
| Базовый DN пользователей | База поиска, определяющая место в иерархии, откуда будет начинаться поиск пользователей. Например, "o=company,l=your city,c=your country". |
| Преобразование имен свойств пользователя | Преобразование имен свойств пользователя Jazz в имена атрибутов записи реестра LDAP. Необходимо создать следующие преобразования:
Свойство userid содержит ИД пользователя для входа в систему. Свойство name содержит имя пользователя, которое будет показываться в пользовательском интерфейсе. Например, userId=mail,name=cn,emailAddress=mail |
| Базовый DN групп | База поиска, определяющая место в иерархии, откуда будет начинаться поиск групп (пример: ou=memberlist,ou=группы,o=example.com). |
| Преобразование групп Jazz в группы LDAP | Преобразование между группами Jazz и LDAP. Одна группа Jazz может ставиться в соответствие нескольким группам LDAP.
Группы LDAP должны разделяться точкой с запятой. Например,
JazzAdmins=LDAPAdmins1;LDAPAdmins2 ставит в соответствие группе JazzAdmins группы LDAPAdmins1 и LDAPAdmins2. Jazz Team Server определяет 5 групп для которых требуется преобразование:
|
| Свойство Имя группы | Это свойство LDAP представляет имя группы Jazz в реестре LDAP. Например, cn. Оно используется в запросе для извлечения группы LDAP. Для того чтобы извлечь группу LDAP, в запросе используется сочетание Базового DN групп и Свойства Имя группы. |
| Свойство Имя участника группы | Это свойство LDAP представляет участника группы в реестре LDAP. Например, uniquemember. |
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"
digest="SHA-1"
digestEncoding="UTF-8"/>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"
digest="SHA-1"
digestEncoding="UTF-8"/>
<Realm className="org.apache.catalina.realm.JNDIRealm"
debug="99"
connectionURL="ldap://ldap.company.com:389"
roleBase="cn=Groups,dc=company,dc=com"
roleSearch="(uniquemember={0})"
roleName="cn"
userBase="cn=Users,dc=company,dc=com"
userSearch="(uid={0})"/>
Добавьте следующий тег для
Microsoft® Active
Directory: <Realm className="org.apache.catalina.realm.JNDIRealm"
debug="99"
connectionURL="ldap://ldap.company.com:3268"
authentication="simple"
referrals="follow"
connectionName="cn=LDAPUser,ou=Service Accounts,dc=company,dc=com"
connectionPassword="VerySecretPassword"
userSearch="(sAMAccountName={0})"
userBase="dc=company,dc=com"
userSubtree="true"
roleSearch="(member={0})"
roleName="cn"
roleSubtree="true"
roleBase="dc=company,dc=com"/>
<web-app id="WebApp"> <servlet id="bridge"> <servlet-name>equinoxbridgeservlet</servlet-name> <display-name>Equinox Bridge Servlet</display-name> <description>Equinox Bridge Servlet</description> <servlet-class>org.eclipse.equinox.servletbridge.BridgeServlet</servlet-class> <init-param><!-- ... --></init-param> <!-- ... --> <load-on-startup>1</load-on-startup> <!-- Addendum Если имена групп LDAP совпадают с ролями Jazz по умолчанию, добавлять следующие теги не нужно --> <security-role-ref> <role-name>JazzAdmins</role-name> <role-link>[LDAP Group for Jazz admins]</role-link> </security-role-ref> <security-role-ref> <role-name>JazzDWAdmins</role-name> <role-link>[LDAP Group for Jazz admins]</role-link> </security-role-ref> <security-role-ref> <role-name>JazzGuests</role-name> <role-link>[LDAP Group for Jazz admins]</role-link> </security-role-ref> <security-role-ref> <role-name>JazzUsers</role-name> <role-link>[LDAP Group for Jazz admins]</role-link> </security-role-ref> <security-role-ref> <role-name>JazzProjectAdmins</role-name> <role-link>[LDAP Group for Jazz admins]</role-link> </security-role-ref> </servlet> <!-- ... --> </web-app>С помощью следующих тегов объявите группы LDAP ролями защиты:
<web-app id="WebApp"> <servlet id="bridge"> <!-- ... --> <security-role> <role-name>JazzAdmins</role-name> <role-name>JazzDWAdmins</role-name> <role-name>JazzGuests</role-name> <role-name>JazzUsers</role-name> <role-name>JazzProjectAdmins</role-name> <!-- Addendum Если имена групп LDAP совпадают с ролями Jazz по умолчанию, добавлять следующие теги не нужно --> <role-name>[LDAP Group for Jazz Admins]</role-name> <role-name>[LDAP Group for Jazz Data Warehouse Admins]</role-name> <role-name>[LDAP Group for Jazz Guests]</role-name> <role-name>[LDAP Group for Jazz Users]</role-name> <role-name>[LDAP Group for Jazz Project Admins]</role-name> <!-- End Addendum --> </security-role> <!-- ... --> </web-app>С помощью следующих тегов обновите раздел ограничений защиты:
<web-app id="WebApp"> <!-- ... --> <security-constraint> <web-resource-collection> <web-resource-name>secure</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>JazzUsers</role-name> <role-name>JazzAdmins</role-name> <role-name>JazzGuests</role-name> <role-name>JazzDWAdmins</role-name> <role-name>JazzProjectAdmins</role-name> <!-- Addendum Если имена групп LDAP совпадают с ролями Jazz по умолчанию, добавлять следующие теги не нужно --> <role-name>[LDAP Group for Jazz Admins]</role-name> <role-name>[LDAP Group for Jazz Data Warehouse Admins]</role-name> <role-name>[LDAP Group for Jazz Guests]</role-name> <role-name>[LDAP Group for Jazz Users]</role-name> <role-name>[LDAP Group for Jazz Project Admins]</role-name> <!-- End Addendum --> </auth-constraint> <user-data-constarint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> <!-- ... --> </web-app>Повторите то же добавление в каждом ограничении по защите, ссылающемся на группу Jazz:
<web-app id="WebApp"> <!-- ... --> <security-constraint> <web-resource-collection> <web-resource-name>adminsecure</web-resource-name> <url-pattern>/admin/cmd/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>JazzAdmins</role-name> <!-- Addendum --> <role-name>[LDAP Group for Jazz Admins]</role-name> <!-- End addendum --> </auth-constraint> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> <!-- ... --> </web-app>