Skip to main content
Version: Indeed Access Manager 9.3

FreeIPA

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

Добавление разрешений, привилегий, ролей

  1. Войдите в веб-версию FreeIPA по адресу https://<dns_имя_сервера>/ipa/ui/# под учетной записью администратора в формате admin@<dns_имя_сервера>.

  2. Перейдите на вкладку IPA Server и в выпадающем списке Role-Based Access Control выберите Permissions и нажмите Add.

    Чтение и поиск пользователей
    • Permission name — укажите имя разрешения, например am-user-read.
    • Granted Rights — выберите read, search.
    • Subtree — введите имя домена в формате Distinguished name, например cn=users,cn=accounts,dc=test,dc=realm.
    • Extra target filter(objectClass=person).
    • Effective attributes — укажите каждый атрибут по одному в отдельной строке:
      • cn
      • entryDN
      • entryUUID
      • givenName
      • initials
      • ipaNTSecurityIdentifier
      • jpegPhoto
      • krbCanonicalName
      • krbLastFailedAuth
      • krbLoginFailedCount
      • krbPrincipalExpiration
      • krbPrincipalName
      • krbPwdPolicyReference
      • mail
      • memberOf
      • nsAccountLock
      • photo
      • sn
      • telephoneNumber
      • uid
    Чтение и поиск групп
    • Permission name — укажите имя разрешения, например am-group-read.
    • Granted Rights — выберите read, search.
    • Subtree — введите имя домена в формате Distinguished name, например cn=groups,cn=accounts,dc=test,dc=realm.
    • Extra target filter(objectClass=ipaUserGroup).
    • Effective attributes — укажите каждый атрибут по одному в отдельной строке:
      • cn
      • entryDN
      • entryUUID
      • ipaNTSecurityIdentifier
      • member
      • memberOf
    Чтение и поиск контейнеров
    • Permission name — укажите имя разрешения, например am-container-read.
    • Granted Rights — выберите read, search.
    • Subtree — введите имя домена в формате Distinguished name, например dc=test,dc=realm.
    • Extra target filter(|(objectClass=nsContainer)(objectClass=domain)).
    • Effective attributes — укажите каждый атрибут по одному в отдельной строке:
      • cn
      • entryDN
      • entryUUID
      • ipaNTSecurityIdentifier
      • member
      • memberOf
    Чтение и поиск политик паролей
    • Permission name — укажите имя разрешения, например am-password-policy-read.
    • Granted Rights — выберите read, search.
    • Subtree — введите имя домена в формате Distinguished name, например cn=TEST.REALM,cn=kerberos,dc=test,dc=realm.
    • Extra target filter(objectClass=krbPwdPolicy).
    • Effective attributes — укажите каждый атрибут по одному в отдельной строке:
      • krbPwdLockoutDuration
      • krbPwdMaxFailure
      • krbPwdMinDiffChars
      • krbPwdMinLength
      • objectClass
    Смена пароля
    • Permission name — укажите имя разрешения, например am-user-password-change.
    • Granted Rights — выберите write.
    • Subtree — введите имя домена в формате Distinguished name, например cn=users,cn=accounts,dc=test,dc=realm.
    • Extra target filter(objectClass=person).
    • Effective attributes — укажите каждый атрибут по одному в отдельной строке:
      • krbPrincipalKey
    Чтение истории паролей

    Выдайте права на чтение истории паролей, если у вас настроена смена пароля пользователя под сервисной учетной записью, а также в политиках паролей FreeIPA настроена проверка истории паролей.

    • Permission name — укажите имя разрешения, например am-user-password-read.
    • Granted Rights — выберите read.
    • Subtree — введите имя домена в формате Distinguished name, например cn=users,cn=accounts,dc=test,dc=realm.
    • Extra target filter(objectClass=person).
    • Effective attributes — укажите каждый атрибут по одному в отдельной строке:
      • passwordHistory
  3. В выпадающем списке Role-Based Access Control выберите Privileges и нажмите Add.

    Чтение объектов
    • Privilege name — укажите имя разрешения, например am-read.
    • В созданное разрешение добавьте am-user-read, am-group-read, am-container-read, am-password-policy-read.
    Смена пароля пользователя
    • Privilege name — укажите имя разрешения, например am-password-change.
    • В созданное разрешение добавьте am-user-password-read, am-user-password-change.
  4. В выпадающем списке Role-Based Access Control выберите Roles и нажмите Add.

    Роль сервисной учетной записи
    • Role name — укажите имя разрешения, например am-server.
    • В созданное разрешение добавьте am-read, am-password-change.

Создание сервисной учетной записи

Чтобы создать сервисную учетную запись для работы с каталогом пользователей:

  1. На вкладке IdentityUsers нажмите Add.
  2. В поле User login задайте имя пользователя, например am-server.
  3. В полях First name, Last name, Password укажите имя, фамилию и задайте пароль для новой учетной записи.
  4. Добавьте пользователю роль am-server.
Важно

Чтобы срок действия паролей для системных учетных записей игнорировался:

  1. Создайте политику для администраторов FreeIPA, если эта политика не была создана ранее.
  2. Добавьте системную учетную запись для подключения к каталогу пользователей Core Server в эту политику.
  3. В поле Приоритет задайте значение, которое будет ниже приоритета, установленного в парольной политике для группы всех пользователей.
  4. В поле Grace login limit установите значение -1.

Политика паролей

Чтобы настроить блокировку входа после истечения срока действия пароля, перейдите в раздел Политика→Политики паролей и установите значение Grace login limit.

Параметр Grace login limit определяет, сколько раз пользователь может войти в систему после истечения срока действия своего пароля, прежде чем его учетная запись будет заблокирована. Этот параметр является частью политик паролей пользователей в каталоге FreeIPA и позволяет пользователям с устаревшим паролем войти в систему и сменить пароль, вместо немедленной блокировки учетной записи.

Возможные значения для параметра Grace login limit:

  • -1 (значение по умолчанию) — пользователь может неограниченно входить в систему даже с истекшим паролем, срок действия пароля игнорируется;
  • 0 (рекомендуемое значение) — пользователь не может войти в систему после истечения срока действия своего пароля;
  • 1 — пользователь может войти в систему с истекшим паролем один раз;
  • 2 — пользователь может войти в систему с истекшим паролем два раза.

Диапазон значений: от -1 до 2147483647.

Смена пароля пользователя FreeIPA в User Console

Если пользователь FreeIPA самостоятельно меняет пароль в Indeed User Console, дата окончания срока действия пароля по умолчанию устанавливается на текущую дату. Для корректной настройки срока действия пароля необходимо выполнить следующие изменения на каждом сервере FreeIPA:

  1. Создайте файл /tmp/passSyncManagersDNs со следующим содержимым:

    dn: cn=ipa_pwd_extop,cn=plugins,cn=config
    changetype: modify
    add: passSyncManagersDNs
    passSyncManagersDNs: uid=my-am-admin,cn=users,cn=accounts,dc=test,dc=realm

    Для параметра passSyncManagersDNs укажите значение соответствующего DN сервисной учетной записи, используемой в Core Server.

  2. В терминале выполните команду:

    ldapmodify -x -D "cn=Directory Manager" -W -H LDAPS://ipa.test.realm:636 -f /tmp/passSyncManagersDNs

Атрибуты пользователей FreeIPA

Атрибут пользователяОписание
entryUUIDУниверсальный уникальный идентификатор записи
entryDNУникальное имя записи в каталоге
uidИдентификатор пользователя
mailАдрес электронной почты
telephoneNumberТелефон
givenNameИмя
snФамилия
cnОбщее имя
krbPrincipalNameИмя участника-пользователя Kerberos (UPN)
krbCanonicalNameКаноническое имя учетной записи Kerberos
ipaNTSecurityIdentifierАтрибут, хранящий идентификатор безопасности SID
photoФото
userPasswordПароль
krbPasswordExpirationАтрибут, хранящий дату и время истечения срока действия текущего пароля