Управление OIDC

Платформа поддерживает протокол OIDC (OpenID Connect), позволяя администраторам платформы входить в систему с использованием сторонних аккаунтов после добавления конфигурации OIDC. Администраторы платформы также могут обновлять и удалять настроенные сервисы OIDC.

Содержание

Обзор OIDC

OIDC (OpenID Connect) — это стандартный протокол аутентификации личности, основанный на протоколе OAuth 2.0. Он использует сервер авторизации OAuth 2.0 для предоставления аутентификации пользователя сторонним клиентам и передачи соответствующей информации об аутентификации личности клиенту.

OIDC позволяет всем типам клиентов (включая серверные, мобильные и JavaScript-клиенты) запрашивать и получать аутентифицированные сессии и информацию о конечном пользователе. Этот набор спецификаций расширяем, что позволяет участникам использовать дополнительные функции, такие как шифрование данных личности, обнаружение OpenID Provider и управление сессиями, когда это имеет смысл. Для получения дополнительной информации обратитесь к официальной документации OIDC.

Добавление OIDC

Добавив OIDC, вы сможете использовать сторонние аккаунты платформы для входа в платформу.

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

Порядок действий

  1. В левой навигационной панели нажмите Users > IDPs.

  2. Нажмите Add OIDC.

  3. Настройте параметры Basic Information.

  4. Настройте параметры OIDC Server Configuration:

    • Identity Provider URL: URL издателя, который является адресом доступа к провайдеру идентификации OIDC.

    • Client ID: идентификатор клиента для OIDC клиента.

    • Client Secret: секретный ключ для OIDC клиента.

    • Redirect URI: адрес обратного вызова после входа в стороннюю платформу, который представляет собой URL издателя dex + /callback.

    • Logout URL: адрес, который посещает пользователь после выполнения операции Logout. Если пусто, адрес выхода будет начальной страницей входа платформы.

  5. В области IDP Service Configuration Validation введите Username и Password действительной учетной записи OIDC для проверки конфигурации.

    Совет: Если имя пользователя и пароль неверны, при добавлении будет выдана ошибка с указанием недействительных учетных данных, и OIDC не сможет быть добавлен.

  6. Нажмите Create.

Добавление OIDC через YAML

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

Пример: настройка OIDC коннектора

Следующий пример демонстрирует, как настроить OIDC коннектор для интеграции с сервисами аутентификации личности OIDC. Этот пример конфигурации подходит для следующих сценариев:

  1. Необходима интеграция OIDC в качестве сервера аутентификации личности.

  2. Требуется поддержка синхронизации информации о группах пользователей.

  3. Нужно настроить адрес перенаправления после выхода из системы.

  4. Нужно настроить конкретные OIDC scopes.

  5. Требуется кастомизация сопоставления claims.

apiVersion: dex.coreos.com/v1
kind: Connector
# Connector basic information
id: oidc               # Connector unique identifier
name: oidc             # Connector display name
type: oidc             # Connector type is OIDC
metadata:
  annotations:
    cpaas.io/description: "11"  # Connector description
  name: oidc
  namespace: cpaas-system
spec:
  config:
    # OIDC server configuration
    # Configure server connection information, including server address, client credentials, and callback address
    issuer: http://auth.com/auth/realms/master               # OIDC server address
    clientID: dex                                            # Client ID
    # Service account secret key, valid when creating Connector resources for the first time
    clientSecret: xxxxxxx
    redirectURI: https://example.com/dex/callback            # Callback address, must match the address registered by the OIDC client

    # Security configuration
    # Configure SSL verification and user information acquisition method
    insecureSkipVerify: true                                # Whether to skip SSL verification, it is recommended to set to false in a production environment
    getUserInfo: false                                      # Whether to obtain additional user information through the UserInfo endpoint

    # Logout configuration
    # Configure the redirect address after user logout
    logoutURL: https://test.com                            # Logout redirect address, can be customized to the page jumped after user logout

    # Scope configuration
    # Configure the required authorization scope, ensure that the OIDC server supports these scopes
    scopes:
      - openid                                             # Required, used for OIDC basic authentication
      - profile                                            # Optional, used to obtain user basic information
      - email                                              # Optional, used to obtain user email

    # Claim mapping configuration
    # Configure the mapping relationship between OIDC returned claims and platform user attributes
    claimMapping:
      email: email                                         # Email mapping, used for user unique identification
      groups: groups                                       # User group mapping, used for organization structure
      phone: ""                                            # Phone mapping, optional
      preferred_username: preferred_username               # Username mapping, used for display name

    # User group configuration
    # Configure user group synchronization related parameters, ensure that the token contains group information
    groupsKey: groups                                      # Specify the key name of group information
    insecureEnableGroups: false                           # Whether to enable group synchronization function

Соответствующие операции

Вы можете нажать на справа на странице списка или нажать Actions в правом верхнем углу на странице деталей, чтобы при необходимости обновить или удалить OIDC.

ОперацияОписание
Обновить OIDCОбновить добавленную конфигурацию OIDC. После обновления информации конфигурации OIDC исходные пользователи и методы аутентификации будут сброшены и синхронизированы в соответствии с текущей конфигурацией.
Удалить OIDCУдалить OIDC, который больше не используется платформой. После удаления OIDC все пользователи, синхронизированные с платформой через этот OIDC, получат статус Invalid (связь между пользователями и ролями сохраняется), и они не смогут войти в платформу. После повторной интеграции пользователи могут быть активированы путем успешного входа в платформу.

Совет: После удаления IDP, если необходимо удалить пользователей и группы пользователей, синхронизированные с платформой через OIDC, отметьте флажок Clean IDP Users and User Groups под всплывающим окном.