Дерево страниц

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12

Введение

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

В примерах используется название домена ipadomain0.ru и имя пользователя ipauser01.

Получение списка атрибутов пользователя

Список атрибутов пользователя доступен в web-интерфейсе FreeIPA при создании разрешений.

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

  1. Получить билет администратора домена:

    kinit admin

  2. Получить список пользователей:

    ipa user-find

  3. Получить информацию о пользователе:
    1. Краткая информация:

      ipa user-show <имя_пользователя>
      например:

      ipa user-show ipauser01

        Имя учётной записи пользователя: ipauser01
        Имя: ipa
        Фамилия: user
        Домашний каталог: /home/ipauser01
        Оболочка входа: /bin/bash
        Имя учётной записи: ipauser01@IPADOMAIN0.RU
        Псевдоним учётной записи: ipauser01@IPADOMAIN0.RU
        Адрес электронной почты: ipauser01@ipadomain0.ru
        UID: 672001
        ID группы: 672001
        Учётная запись отключена: False
        Пароль: True
        Участник групп: ipausers
        Доступные ключи Kerberos: True

    2. Имена основных атрибутов:

      ipa user-show <имя_пользователя> --raw
      например:

      ipa user-show ipauser01 --raw

        uid: ipauser01
        givenname: ipa
        sn: user
        homedirectory: /home/ipauser01
        loginshell: /bin/bash
        krbcanonicalname: ipauser01@IPADOMAIN0.RU
        krbprincipalname: ipauser01@IPADOMAIN0.RU
        mail: ipauser01@ipadomain0.ru
        uidnumber: 672001
        gidnumber: 672001
        nsaccountlock: FALSE
        has_password: TRUE
        has_keytab: TRUE

    3. Имена всех атрибутов пользователя:

      ipa user-show <имя_пользователя> --raw --all
      например:

        dn: uid=ipauser01,cn=users,cn=accounts,dc=ipadomain0,dc=ru
        uid: ipauser01
        givenname: ipa
        sn: user
        cn: ipa user
        initials: iu
        homedirectory: /home/ipauser01
        gecos: ipa user
        loginshell: /bin/bash
        krbcanonicalname: ipauser01@IPADOMAIN0.RU
        krbprincipalname: ipauser01@IPADOMAIN0.RU
        mail: ipauser01@ipadomain0.ru
        uidnumber: 672001
        gidnumber: 672001
        xaldusermacmin: 0
        xaldusermacmax: 0
        x-ald-user-mic-level: 63
        nsaccountlock: FALSE
        has_password: TRUE
        has_keytab: TRUE
        displayName: ipa user
        ipaUniqueID: 40ee7828-356c-11ec-af20-525400d1cf1b
        krbExtraData: AAKHaHZhcm9vdC9hZG1pbkBJUEFET01BSU4wLlJVAA==
        krbLastPwdChange: 20211025081919Z
        krbPasswordExpiration: 20211025081919Z
        memberof: cn=ipausers,cn=groups,cn=accounts,dc=ipadomain0,dc=ru
        mepManagedEntry: cn=ipauser01,cn=groups,cn=accounts,dc=ipadomain0,dc=ru
        objectClass: top
        objectClass: person
        objectClass: organizationalperson
        objectClass: inetorgperson
        objectClass: inetuser
        objectClass: posixaccount
        objectClass: krbprincipalaux
        objectClass: krbticketpolicyaux
        objectClass: ipaobject
        objectClass: ipasshuser
        objectClass: x-ald-user
        objectClass: x-ald-user-parsec14
        objectClass: x-ald-audit-policy
        objectClass: ipaSshGroupOfPubKeys
        objectClass: mepOriginEntry
        userPassword: e1NTSEE1MTJ9TUNKNnEralhaYWdLclUxM1J3WVdMWEUweHpWOGhXMk10MkJRQWMyVnZRRTFJUVdpRmg0c0gyU0ZKWWgxRng0Y21zUm5rYlFqWnJ1eUZiVVBRNzdWU3YyR0p3YjJwWW9u
        x-ald-aud-mask: 0x0:0x0
        x-ald-user-mac: 0:0x0:0:0x0

      ipa user-show ipauser01 --raw --all

        dn: uid=ipauser01,cn=users,cn=accounts,dc=ipadomain0,dc=ru
        uid: ipauser01
        givenname: ipa
        sn: user
        cn: ipa user
        initials: iu
        homedirectory: /home/ipauser01
        gecos: ipa user
        loginshell: /bin/bash
        krbcanonicalname: ipauser01@IPADOMAIN0.RU
        krbprincipalname: ipauser01@IPADOMAIN0.RU
        mail: ipauser01@ipadomain0.ru
        uidnumber: 672001
        gidnumber: 672001
        xaldusermacmin: 0
        xaldusermacmax: 0
        x-ald-user-mic-level: 63
        nsaccountlock: FALSE
        has_password: TRUE
        has_keytab: TRUE
        displayName: ipa user
        ipaUniqueID: 40ee7828-356c-11ec-af20-525400d1cf1b
        krbExtraData: AAKHaHZhcm9vdC9hZG1pbkBJUEFET01BSU4wLlJVAA==
        krbLastPwdChange: 20211025081919Z
        krbPasswordExpiration: 20211025081919Z
        memberof: cn=ipausers,cn=groups,cn=accounts,dc=ipadomain0,dc=ru
        mepManagedEntry: cn=ipauser01,cn=groups,cn=accounts,dc=ipadomain0,dc=ru
        objectClass: top
        objectClass: person
        objectClass: organizationalperson
        objectClass: inetorgperson
        objectClass: inetuser
        objectClass: posixaccount
        objectClass: krbprincipalaux
        objectClass: krbticketpolicyaux
        objectClass: ipaobject
        objectClass: ipasshuser
        objectClass: x-ald-user
        objectClass: x-ald-user-parsec14
        objectClass: x-ald-audit-policy
        objectClass: ipaSshGroupOfPubKeys
        objectClass: mepOriginEntry
        userPassword: e1NTSEE1MTJ9TUNKNnEralhaYWdLclUxM1J3WVdMWEUweHpWOGhXMk10MkJRQWMyVnZRRTFJUVdpRmg0c0gyU0ZKWWgxRng0Y21zUm5rYlFqWnJ1eUZiVVBRNzdWU3YyR0p3YjJwWW9u
        x-ald-aud-mask: 0x0:0x0
        x-ald-user-mac: 0:0x0:0:0x0

Создание администратора пользовательских атрибутов

Для создания администратора:

  1. Открыть web-браузер (например, firefox);
  2. Открыть страницу web-интерфейса контроллера домена FreeIPA. Адрес страницы: https://<имя_севера_FreeIPA>;
  3. Если будет выведено сообщение о непроверенном сертификате - подтвердить вход и продолжить;
  4. Ввести имя и пароль администратора домане и войти в управляющий web-интерфейс;

Создание разрешений

Для создания разрешений в управляющем web-интерфейсе:

  1. Перейти в закладку "IPA-сервер";
  2. Выбрать пункт "Управление доступом на основе ролей":
  3. В выпадающем меню выбрать пункт "Разрешения";
  4. Нажать кнопку "Добавить";
  5. В форме добавления разрешения указать:
    1. Название разрешения, например "UsersManagerPermission";
    2. Тип правила привязки "permission";
    3. Предоставленные права: "read"и "write";
    4. Тип "пользователь" (выбрать из выпадающего списка). При этом в части "Действующие атрибуты" появится список доступных пользовательских атрибутов;
    5. Отметить атрибуты, доступные пользователю для управления. Например, при работе в Astra Linux Special Edition для работы с мандатными атрибутами:
      1. для управления неиерархическим уровнем целостности выбрать атрибут x-ald-user-mic-level (максимальный неиерархический уровень целостности);
      2. для управления иерархическими уровнями конфиденциальности выбрать атрибуты:
        - xaldusermacmin (минимальный разрешенный пользователю иерархический уровень конфиденциальности);
        - xaldusermacmax (максимальный разрешенный пользователю иерархический уровень конфиденциальности);
        - x-ald-user-mac (классификационная метка пользователя, изменяется автоматически при изменении атрибутов xaldusermacmax и xaldusermacmin и не должна изменяться вручную):

        Изменение других мандатных атрибутов в ручном режиме недопустимо и может привести к нарушению работы СЗИ.
    6. Для сохранения введенных данных нажать кнопку "Добавить" внизу экранной формы;

Создание привилегии

  1. Перейти в закладку "IPA-сервер";
  2. Выбрать пункт "Управление доступом на основе ролей";
  3. В выпадающем меню выбрать пункт "Привилегии":
  4. Для создания новой привилегии:

    1. Нажать кнопку "Добавить":
    2. Ввести название и описание привилегии, например "UsersManagerPrivilege";
    3. Сохранить данные, нажав кнопку "Добавить"
  5. Выбрать существующую (ранее добавленную) привилегию;
  6. В открывшемся (возможно пустом) списке разрешений:
    1. Нажать кнопку "Добавить" для добавления существующего разрешения, например ранее созданное разрешение "UsersManagerPermission";
    2. Отметить добавляемые разрешения;
    3. Нажать кнопку "Стрелка вправо";
    4. Нажать кнопку "Добавить" для сохранения изменений.

Создание роли

  1. Перейти в закладку "IPA-сервер";
  2. Выбрать пункт "Управление доступом на основе ролей";
  3. В выпадающем меню выбрать пункт "Роли":
  4. Для создания новой роли:
    1. Нажать кнопку "Добавить";
    2. Ввести название и описание роли, например "UsersManagerRole";
    3. Сохранить данные, нажав кнопку "Добавить"
  5. Выбрать существующую (ранее добавленную) роль;
  6. В открывшемся (возможно пустом) списке пользователей:
    1. Нажать кнопку "Добавить" для назначения привилегии пользователям (например, ранее созданная привилегия "UsersManagerPrivilege"):
    2. Отметить добавляемых пользователей;
    3. Нажать кнопку "Стрелка вправо";
    4. Нажать кнопку "Добавить" для сохранения изменений;
  7. Перейти в закладку "Привилегии";
  8. В открывшемся (возможно пустом) списке привилегий:
    1. Нажать кнопку "Добавить" для назначения привилегии пользователям:
    2. Отметить добавляемые привилегии;
    3. Нажать кнопку "Стрелка вправо";
    4. Нажать кнопку "Добавить" для сохранения изменений;

Проверка

Для проверки можно использовать инструменты командной строки или web-интерфейс FreeIPA, войдя в него от имени пользователя, права которого проверяются.

  • Нет меток