SSSD-IDP(5)

NAME
sssd-idp - Поставщик данных IdP SSSD

ОПИСАНИЕ

На этой справочной странице представлено описание настройки поставщика данных IdP для sssd(8). Подробные сведения о синтаксисе доступны в разделе “ФОРМАТ ФАЙЛА” справочной страницы sssd.conf(5).

Провайдер IdP — это бэкэнд, используемый для подключения к поставщику данных (IdP), основанному на OAuth 2.0 и REST. Поскольку различные продукты могут иметь индивидуальную реализацию REST API для получения атрибутов пользователей и групп, может потребоваться специализированный код. Подробности см. в описании параметра “idp_type”.

IdP обычно не предоставляют атрибуты POSIX, например, идентификатор пользователя (UID) или домашний каталог. Провайдер IdP SSSD автоматически сгенерирует необходимые атрибуты. Алгоритм по умолчанию для генерации идентификаторов пользователей (UID) и групповых идентификаторов (GID) направлен на создание воспроизводимых идентификаторов в разных системах. Недостатком может стать то, что алгоритм назначает один и тот же идентификатор разным объектам, и только первый, запрошенный через SSSD, будет доступен.

ПАРАМЕТРЫ КОНФИГУРАЦИИ

Сведения о конфигурации домена SSSD доступны в разделе “РАЗДЕЛЫ ДОМЕНА” справочной страницы sssd.conf(5).

idp_type (строка)
    Обязательная опция, которая указывает продукт IdP. В настоящее время поддерживаются Entra ID (entra_id) и Keycloak (keycloak).

    В зависимости от используемого продукта IdP, за именем могут следовать дополнительные параметры, специфичные для платформы, разделенные двоеточием (:) . Например, для Keycloak необходимо указать базовый URI для REST API пользователей и групп. Для Entra ID это не требуется, так как для всех арендаторов существует универсальная конечная точка.

    По умолчанию: не задано (обязательно)

idp_client_id (строка)
    Идентификатор клиента IdP, используемый SSSD для аутентификации пользователей и в качестве клиента для поиска атрибутов пользователей и групп. Этот клиент должен предлагать авторизацию устройства в соответствии с RFC-8628 и иметь разрешения на поиск и чтение атрибутов пользователей и групп.

    По умолчанию: не задано (обязательно)

idp_client_secret (строка)
    Пароль клиента IdP. Пароль требуется при использовании id_provider. Если используется только как auth_provider, необходимость в пароле зависит от конфигурации сервера на стороне сервера.

    По умолчанию: не задано

idp_token_endpoint (строка)
    Конечная точка IdP для запроса токенов доступа.

    По умолчанию: не задано (обязательно)

idp_device_auth_endpoint (строка)
    Конечная точка IdP для авторизации устройства согласно RFC-8628. Требуется для аутентификации пользователя.

    По умолчанию: не задано

idp_userinfo_endpoint (строка)
    Конечная точка IdP userinfo для запроса атрибутов пользователя после успешной аутентификации пользователя. Требуется для аутентификации.

    По умолчанию: не задано

idp_id_scope (строка)
    Область, необходимая для поиска атрибутов пользователей и групп с помощью REST API. Области используются сервером для определения того, какие атрибуты/инструкции следует возвращать стороне, со стороны которой произошел вызов.

    По умолчанию: не задано

idp_auth_scope (строка)
    Область, требуемая во время аутентификации. Область используется сервером для определения того, какие атрибуты/инструкции будут возвращены процессу, которым был совершен вызов.

    В настоящее время токены, возвращаемые во время аутентификации пользователя, не используются в других целях, поэтому единственной важной инструкцией является идентификатор темы «sub», используемый для проверки того, является ли аутентифицированный пользователь именно тем, кто пытается войти в систему. Это может измениться в будущих версиях.

    По умолчанию: не задано

idp_request_timeout (целое число)
    Тайм-аут в секундах для отдельного запроса к IdP.

    По умолчанию: 10

idmap_range_min (целое число)
    Указывает нижнюю (включительно) границу диапазона POSIX-идентификаторов, используемых для сопоставления пользователей и групп поставщика удостоверений (IdP) с POSIX-идентификаторами. Это первый POSIX-идентификатор, который может быть использован для сопоставления.

    The interval between “idmap_range_min” and “idmap_range_max” will be split into smaller ranges of size “idmap_range_size” which will be used by an individual IdP domain.

    По умолчанию: 200000

idmap_range_max (целое число)
    Указывает верхнюю (исключительно) границу диапазона POSIX-идентификаторов, используемых для сопоставления пользователей и групп поставщика удостоверений (IdP) с POSIX-идентификаторами. Это первый POSIX-идентификатор, который больше не будет использоваться для сопоставления.

    По умолчанию: 2000200000

idmap_range_size (целое число)
    Указывает количество POSIX-идентификаторов, доступных для одного домена IdP.

    По умолчанию: 200000

ПРИМЕР

    [domain/entra_id]
    id_provider = idp
    idp_type = entra_id
    idp_client_id = 12345678-abcd-0101-efef-ba9876543210
    idp_client_secret = YOUR-CLIENT-SCERET
    idp_token_endpoint = https://login.microsoftonline.com/TENNANT-ID/oauth2/v2.0/token
    idp_userinfo_endpoint = https://graph.microsoft.com/v1.0/me
    idp_device_auth_endpoint = https://login.microsoftonline.com/TENNANT-ID/oauth2/v2.0/devicecode
    idp_id_scope = https%3A%2F%2Fgraph.microsoft.com%2F.default
    idp_auth_scope = openid profile email

    [domain/keycloak]
    idp_type = keycloak:https://master.keycloak.test:8443/auth/admin/realms/master/
    id_provider = idp
    idp_client_id = myclient
    idp_client_secret = YOUR-CLIENT-SCERET
    idp_token_endpoint = https://master.keycloak.test:8443/auth/realms/master/protocol/openid-connect/token
    idp_userinfo_endpoint = https://master.keycloak.test:8443/auth/realms/master/protocol/openid-connect/userinfo
    idp_device_auth_endpoint = https://master.keycloak.test:8443/auth/realms/master/protocol/openid-connect/auth/device
    idp_id_scope = profile
    idp_auth_scope = openid profile email

СМ. ТАКЖЕ

sssd(8), sssd.conf(5), sssd-ldap(5), sssd-ldap-attributes(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-idp(5), sssd-sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(1), sss_ssh_knownhosts(1), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5)

AUTHORS

Восходящий источник («апстрим») SSSD — https://github.com/SSSD/sssd/