Управление утверждениями
Для работы с утверждениями (claims) используется группа подкоманд claim.
Общие сведения
Утверждение (claim) — атрибут из профиля пользователя/компьютера в каталоге, который транслируется в билеты, выдаваемые центром распространения ключей Kerberos (KDC).
В билете Kerberos атрибуты пользователя/компьютера, которые настроены и используются в качестве утверждений, добавляются в отдельный раздел, содержащий информацию о пользователе/компьютере и его привилегиях (Privilege Attribute Certificate, PAC).
Список атрибутов для добавления в виде утверждений задается в отдельном контейнере в каталоге — CN=Claim Types,CN=Claims Configuration,CN=Services,CN=Configuration,DC=domain,DC=name.
На основании значений этих атрибутов может производиться расширенная аутентификация/авторизация в приложениях, поддерживающих утверждения в билетах.
Также в домене могут быть настроены правила доступа к ресурсам и правила аутентификации, основанные на утверждениях (см. подробнее о политиках аутентификации и работе с ними в разделе «Управление политиками аутентификации»).
В Эллес реализована базовая поддержка утверждений в виде трансляции настроенных атрибутов в билеты, выдаваемые KDC, а также возможность задания ограниченного набора значений для утверждений.
Получение списка типов утверждений
Формат вызова:
samba-tool domain claim claim-type list -H <URL> [options]
Подкоманда выводит простой список типов утверждений, доступных в контейнере CN=Claim Types,
CN=Claims Configuration, CN=Services, либо (при передаче параметра --json) подробную информацию по каждому из настроенных типов утверждений в формате JSON.
Получение информации о типе утверждений
Формат вызова:
samba-tool domain claim claim-type view -H <URL> [options]
Подкоманда выводит атрибуты типа утверждений с указанным отображаемым именем (--name) в формате JSON.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— адрес сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--name=NAME(обязательный) — отображаемое имя типа утверждений, информацию о котором требуется вывести.
Примеры
Пример получения информации о типе утверждений с отображаемым именем department:
samba-tool domain claim claim-type view \
--name=cn \
-H ldap://DC1.samdom.example.com \
--use-kerberos=required
{
"Enabled": true,
"cn": "ad://ext/cn:26f6a0f2915d7299",
"description": "Common-Name",
"displayName": "cn",
"distinguishedName": "CN=ad://ext/cn:26f6a0f2915d7299,CN=Claim Types,CN=Claims Configuration,CN=Services,CN=Configuration,DC=samdom,DC=example,DC=com",
"dn": "CN=ad://ext/cn:26f6a0f2915d7299,CN=Claim Types,CN=Claims Configuration,CN=Services,CN=Configuration,DC=samdom,DC=example,DC=com",
"instanceType": 4,
"msDS-ClaimAttributeSource": "CN=Common-Name,CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com",
"msDS-ClaimIsSingleValued": true,
"msDS-ClaimSourceType": "AD",
"msDS-ClaimTypeAppliesToClass": [
"CN=User,CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com",
"CN=Computer,CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com"
],
"msDS-ClaimValueType": 3,
"name": "ad://ext/cn:26f6a0f2915d7299",
"objectCategory": "CN=ms-DS-Claim-Type,CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com",
"objectClass": [
"top",
"msDS-ClaimTypePropertyBase",
"msDS-ClaimType"
],
"objectGUID": "5c9f991e-ce10-437c-ad06-b6b58559195b"
}
Создание типа утверждений
Формат вызова:
samba-tool domain claim claim-type create -H <URL> [options]
Подкоманда создает в справочнике Claim Types в каталоге новый тип утверждений на основе указанного атрибута (--attribute) для указанного класса объектов (--class) с переданными дополнительными атрибутами.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— адрес сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--attribute=ATTRIBUTE_NAME(обязательный) — атрибут профиля пользователя или компьютера, для которого создается тип утверждений; -
--class=CLASS_NAMES(обязательный) — класс или классы объектов, к которым применим тип утверждений (например:--class=computer,--class=user); -
--name=NAME— отображаемое имя для типа утверждений; если не задано, в качестве отображаемого имени используется имя атрибута;Для одного и того же атрибута может быть создано несколько типов утверждений с разными отображаемыми именами. -
--description=DESCRIPTION— описание для типа утверждений; если не указано, используется описание из атрибута; -
доступность типа утверждений для использования — одно из значений:
-
--disable— тип утверждений недоступен для использования; -
--enable— тип утверждений доступен для использования (по умолчанию);
-
-
защита типа утверждений от удаления — одно из значений:
-
--protect— запрет на удаление типа утверждений; -
--unprotect— снятие запрета на удаление типа утверждений;
-
-
ограничение списка возможных значений — одно из значений:
-
--restrict-values— ограничение списка возможных значений для типа утверждений списком значений из параметра--suggested-values; -
--unrestrict-values— разрешение на использование для типа утверждений значений вне списка, заданного в параметре--suggested-values;
-
-
--suggested-values— возможные значения, которые будут предлагаться для выбора пользователю при использовании данного типа утверждений; пример задания значения:--suggested-values '[{"ValueDisplayName":"Full-Time","ValueDescription":"Full-time employee","Value":"FTE"}]'.
Примеры
Пример создания типа утверждений на основе атрибута employeetype:
samba-tool domain claim claim-type create \
--attribute=employeeType \
--name='Employee type' \
--description='Employment type (full-time, intern, etc.)' \
--class=user \
--suggested-values '[{"ValueDisplayName":"Full-Time","ValueDescription":"Full-time employee","Value":"FTE"}]' \
-H ldap://DC1.samdom.example.com \
--use-kerberos=required
Изменение типа утверждений
Формат вызова:
samba-tool domain claim claim-type modify -H <URL> [options]
Подкоманда изменяет атрибуты типа утверждений с указанным отображаемым именем (--name) в соответствии с переданными значениями.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— адрес сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--name=NAME(обязательный) — отображаемое имя типа утверждений, значения атрибутов которого требуется изменить; -
--class=CLASS_NAMES— класс или классы объектов, к которым применим тип утверждений (например:--class=computer,--class=user); -
--description=DESCRIPTION— описание для типа утверждений; -
доступность типа утверждений для использования — одно из значений:
-
--disable— тип утверждений недоступен для использования; -
--enable— тип утверждений доступен для использования (по умолчанию);
-
-
защита типа утверждений от удаления — одно из значений:
-
--protect— запрет на удаление типа утверждений; -
--unprotect— снятие запрета на удаление типа утверждений;
-
-
ограничение списка возможных значений — одно из значений:
-
--restrict-values— ограничение списка возможных значений для типа утверждений списком значений из параметра--suggested-values; -
--unrestrict-values— разрешение на использование для типа утверждений значений вне списка, заданного в параметре--suggested-values;
-
-
--suggested-values— возможные значения, которые будут предлагаться для выбора пользователю при использовании данного типа утверждений; пример задания значения:--suggested-values '[{"ValueDisplayName":"Full-Time","ValueDescription":"Full-time employee","Value":"FTE"}]'
Удаление типа утверждений
Формат вызова:
samba-tool domain claim claim-type delete -H <URL> [options]
Подкоманда удаляет тип утверждений с указанным отображаемым именем (--name), если для него не установлен атрибут --protect. Если при вызове команды передается параметр --force, выполняется принудительное удаление типа утверждений.
Получение списка типов значений утверждений
Формат вызова:
samba-tool domain claim value-type list -H <URL> [options]
Подкоманда выводит простой список типов значений, доступных в контейнере CN=Value Types,
CN=Claims Configuration, CN=Services, либо (при передаче параметра --json) подробную информацию по каждому из настроенных типов значений в формате JSON.
Типы значений группируются по отображаемому имени.
Получение информации о типе значений утверждений
Формат вызова:
samba-tool domain claim claim-type view -H <URL> [options]
Подкоманда выводит атрибуты типа значений с указанным отображаемым именем (--name) в формате JSON.