> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-postgresql-tls-support.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Настройка SAML SSO

> Как настроить SAML SSO для ClickHouse Cloud

export const EnterprisePlanFeatureBadge = ({feature = 'Эта возможность', support = false, linking_verb_are = false}) => {
  return <div className="enterprisePlanFeatureContainer">
            <div className="enterprisePlanFeatureBadge">
                Возможность тарифа Enterprise
            </div>
            <div>
                <p>{feature} {linking_verb_are ? 'доступны' : 'доступна'} в тарифе Enterprise. {support ? `Чтобы включить эту возможность, обратитесь в службу поддержки.` : 'Чтобы перейти на другой тариф, откройте страницу тарифных планов в облачной консоли.'}</p>
            </div>
        </div>;
};

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

ClickHouse Cloud поддерживает единый вход (SSO) через Security Assertion Markup Language (SAML). Это позволяет безопасно входить в свою организацию ClickHouse Cloud, проходя аутентификацию через провайдер идентификации (IdP).

Мы поддерживаем SSO, инициируемый поставщиком услуг, несколько организаций с использованием отдельных подключений, а также just-in-time provisioning. Мы также поддерживаем [SCIM provisioning](/ru/products/cloud/guides/security/cloud-access-management/scim-setup) в рамках закрытой предварительной версии с поддержкой Okta. Мы пока не поддерживаем сопоставление атрибутов.

Клиенты, включившие SAML-интеграции, также могут назначить роль по умолчанию, которая будет присваиваться новым пользователям, и настроить тайм-аут сеанса.

<div id="before-you-begin">
  ## Прежде чем начать
</div>

Вам потребуются права администратора в вашем IdP, возможность добавить TXT-запись в настройки DNS для вашего домена, а также роль **Admin** в вашей организации ClickHouse Cloud. Мы также рекомендуем настроить **прямую ссылку на вашу организацию** в дополнение к SAML-подключению, чтобы упростить вход. В каждом IdP это делается по-своему. Ниже описано, как это сделать для вашего IdP.

<div id="how-to-configure-your-idp">
  ## Как настроить IdP
</div>

<div id="steps">
  ### Порядок действий
</div>

<Steps>
  <Step>
    ### Откройте настройки организации

    Нажмите на название своей организации в нижнем левом углу и выберите Organization details.
  </Step>

  <Step>
    ### Включите единый вход через SAML

    Нажмите переключатель рядом с `Enable SAML single sign-on`. Оставьте этот экран открытым: в процессе настройки вам нужно будет несколько раз к нему возвращаться.

    <Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/mXojvHhEhDtRJeuO/images/cloud/security/saml-self-serve-1.webp?fit=max&auto=format&n=mXojvHhEhDtRJeuO&q=85&s=f751e65b3d4c27acda0d72094eceec71" size="lg" alt="Начало настройки SAML" force width="2136" height="1334" data-path="images/cloud/security/saml-self-serve-1.webp" />
  </Step>

  <Step>
    ### Создайте приложение в своём провайдере идентификации

    Создайте приложение в своём провайдере идентификации и скопируйте значения с экрана `Enable SAML single sign-on` в конфигурацию провайдера идентификации. Подробнее об этом шаге см. в разделе для вашего провайдера идентификации ниже.

    * [Настройка Okta SAML](#configure-okta-saml)
    * [Настройка Google SAML](#configure-google-saml)
    * [Настройка Azure (Microsoft) SAML](#configure-azure-microsoft-saml)
    * [Настройка Duo SAML](#configure-duo-saml)

    <Tip>
      ClickHouse не поддерживает вход, инициированный провайдером идентификации. Чтобы упростить пользователям доступ к ClickHouse Cloud, создайте для них закладку, используя URL для входа в следующем формате: `https://console.clickhouse.cloud/?connection={orgId}`, где `{orgID}` — идентификатор вашей организации на странице сведений об организации.
    </Tip>

    <Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/mXojvHhEhDtRJeuO/images/cloud/security/saml-self-serve-2.webp?fit=max&auto=format&n=mXojvHhEhDtRJeuO&q=85&s=2d27ed6f51f701de84ef597b7a78091e" size="lg" alt="Создание приложения провайдера идентификации" force width="2952" height="1744" data-path="images/cloud/security/saml-self-serve-2.webp" />
  </Step>

  <Step>
    ### Добавьте URL метаданных в конфигурацию SAML

    Получите `Metadata URL` у своего SAML-провайдера. Вернитесь в ClickHouse Cloud, нажмите `Next: Provide metadata URL` и вставьте URL в текстовое поле.

    <Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/mXojvHhEhDtRJeuO/images/cloud/security/saml-self-serve-3.webp?fit=max&auto=format&n=mXojvHhEhDtRJeuO&q=85&s=564062f1377e338036b66be4aa03b15f" size="lg" alt="Добавьте URL метаданных" force width="2962" height="1536" data-path="images/cloud/security/saml-self-serve-3.webp" />
  </Step>

  <Step>
    ### Получение кода для подтверждения домена

    Нажмите `Next: Verify your domains`. Введите свой домен в текстовое поле и нажмите `Check domain`. Система сгенерирует случайный код подтверждения, который нужно добавить в TXT-запись у вашего DNS-провайдера.

    <Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/mXojvHhEhDtRJeuO/images/cloud/security/saml-self-serve-4.webp?fit=max&auto=format&n=mXojvHhEhDtRJeuO&q=85&s=bb50709d2cac3ea00bd22e47cfdbe567" size="lg" alt="Добавьте домен для подтверждения" force width="2954" height="1530" data-path="images/cloud/security/saml-self-serve-4.webp" />
  </Step>

  <Step>
    ### Подтвердите свой домен

    Создайте TXT-запись у вашего DNS-провайдера. Скопируйте `TXT record name` в поле Name для TXT-записи у вашего DNS-провайдера. Скопируйте `Value` в поле Content у вашего DNS-провайдера. Нажмите `Verify and Finish`, чтобы завершить процесс.

    <Note>
      Обновление и подтверждение DNS-записи может занять несколько минут. Вы можете покинуть страницу настройки и вернуться позже, чтобы завершить процесс, не начиная его заново.
    </Note>

    <Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/mXojvHhEhDtRJeuO/images/cloud/security/saml-self-serve-5.webp?fit=max&auto=format&n=mXojvHhEhDtRJeuO&q=85&s=47dc04a2d5f32ae20909951bdffe0672" size="lg" alt="Подтвердите свой домен" force width="2962" height="1594" data-path="images/cloud/security/saml-self-serve-5.webp" />
  </Step>

  <Step>
    ### Обновите роль по умолчанию и тайм-аут сеанса

    После завершения настройки SAML вы можете задать роли по умолчанию, которые будут назначаться всем пользователям при входе в систему, а также настроить параметры тайм-аута сеанса. Список доступных системных ролей, которые можно назначить, см. в разделе [Роли и разрешения в консоли](/ru/products/cloud/reference/security/console-roles).
  </Step>

  <Step>
    ### Настройте своего пользователя с ролью Admin

    <Note>
      Пользователи, настроенные с другим методом аутентификации, сохранятся, пока администратор вашей организации не удалит их.
    </Note>

    Чтобы назначить своего первого пользователя с ролью Admin через SAML:

    1. Выйдите из [ClickHouse Cloud](https://console.clickhouse.cloud).
    2. В вашем провайдере идентификации назначьте пользователю с ролью Admin приложения ClickHouse.
    3. Попросите пользователя войти через [https://console.clickhouse.cloud/?connection=\{orgId}](https://console.clickhouse.cloud/?connection=\{orgId}) (короткий URL). Это можно сделать, например, через закладку, которую вы создали на предыдущих шагах. Пользователь не появится в ClickHouse Cloud до первого входа.
    4. Если роль SAML по умолчанию отличается от Admin, пользователю может потребоваться выйти и снова войти, используя исходный метод аутентификации, чтобы обновить роль нового SAML-пользователя.
       * Для учетных записей email + password используйте `https://console.clickhouse.cloud/?with=email`.
       * Для входа через социальные сети нажмите соответствующую кнопку (**Continue with Google** или **Continue with Microsoft**)

    <Note>
      `email` в `?with=email` выше — это буквальное значение параметра, а не заполнитель
    </Note>

    5. Выйдите еще раз и снова войдите через короткий URL, чтобы выполнить последний шаг ниже.

    <Tip>
      Чтобы сократить число шагов, можно сначала установить для роли SAML по умолчанию значение `Admin`. Когда пользователь с ролью Admin будет назначен в вашем провайдере идентификации и впервые войдет в систему, он сможет изменить роль по умолчанию на другое значение.
    </Tip>
  </Step>

  <Step>
    ### Удалите другие методы аутентификации

    Чтобы завершить интеграцию и ограничить доступ только пользователями, входящими через подключение к вашему провайдеру идентификации, удалите всех пользователей, использующих не SAML-метод аутентификации.
  </Step>
</Steps>

<div id="configure-okta-saml">
  ### Настройка SAML в Okta
</div>

Для каждой организации ClickHouse в Okta нужно настроить две App Integrations: одно SAML-приложение и одну закладку, в которой будет храниться ваша прямая ссылка.

<Accordion title="1. Создайте группу для управления доступом">
  1. Войдите в свой экземпляр Okta как **Administrator**.

  2. Слева выберите **Groups**.

  3. Нажмите **Add group**.

  4. Введите имя и описание группы. Эта группа будет использоваться, чтобы список пользователей в SAML-приложении и связанном с ним приложении-закладке оставался одинаковым.

  5. Нажмите **Save**.

  6. Нажмите на имя созданной группы.

  7. Нажмите **Assign people**, чтобы назначить пользователей, которым нужно предоставить доступ к этой организации ClickHouse.
</Accordion>

<Accordion title="2. Создайте приложение-закладку, чтобы пользователи могли входить без лишних действий">
  1. Слева выберите **Applications**, затем подраздел **Applications**.

  2. Нажмите **Browse App Catalog**.

  3. Найдите и выберите **Bookmark App**.

  4. Нажмите **Add integration**.

  5. Выберите метку для приложения.

  6. Введите URL: `https://console.clickhouse.cloud/?connection={organizationid}`

  7. Перейдите на вкладку **Assignments** и добавьте группу, которую вы создали выше.
</Accordion>

<Accordion title="3. Создайте SAML-приложение, чтобы включить подключение">
  1. Слева выберите **Applications**, затем подраздел **Applications**.

  2. Нажмите **Create App Integration**.

  3. Выберите SAML 2.0 и нажмите **Next**.

  4. Введите имя приложения, установите флажок **Don't display application icon to users**, затем нажмите **Next**.

  5. Используйте следующие значения для заполнения экрана настроек SAML.

     | Field                          | Value                                            |
     | ------------------------------ | ------------------------------------------------ |
     | Single Sign On URL             | Скопируйте Single Sign-On URL из консоли         |
     | Audience URI (SP Entity ID)    | Скопируйте Service Provider Entity ID из консоли |
     | Default RelayState             | Оставьте пустым                                  |
     | Name ID format                 | Unspecified                                      |
     | Application username           | Email                                            |
     | Update application username on | Create and update                                |

  6. Введите следующий Attribute Statement.

     | Name  | Name format | Value      |
     | ----- | ----------- | ---------- |
     | email | Basic       | user.email |

  7. Нажмите **Next**.

  8. Введите запрошенную информацию на экране Feedback и нажмите **Finish**.

  9. Перейдите на вкладку **Assignments** и добавьте группу, которую вы создали выше.

  10. На вкладке **Sign On** для нового приложения нажмите кнопку **Copy metadata URL**.

  11. Чтобы продолжить, вернитесь к разделу [Добавьте metadata URL в конфигурацию SAML](#add-metadata-url).
</Accordion>

<div id="configure-google-saml">
  ### Настройка Google SAML
</div>

В Google нужно настроить отдельное SAML-приложение для каждой организации. Если вы используете multi-org SSO, предоставьте пользователям прямую ссылку (`https://console.clickhouse.cloud/?connection={organizationId}`), чтобы они могли добавить её в закладки.

<Accordion title="Создание веб-приложения Google">
  1. Перейдите в консоль администратора Google (admin.google.com).

  <Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/mXojvHhEhDtRJeuO/images/cloud/security/saml-google-app.webp?fit=max&auto=format&n=mXojvHhEhDtRJeuO&q=85&s=ebd4b7fa5e6c48578d3fa167dead1b25" size="md" alt="Приложение Google SAML" force width="1224" height="608" data-path="images/cloud/security/saml-google-app.webp" />

  2. Нажмите **Apps**, затем слева выберите **Web and mobile apps**.

  3. В верхнем меню нажмите **Add app**, затем выберите **Add custom SAML app**.

  4. Введите имя приложения и нажмите **Continue**.

  5. Скопируйте metadata URL и сохраните его.

  6. Введите указанные ниже ACS URL и Entity ID.

     | Поле      | Значение                                         |
     | --------- | ------------------------------------------------ |
     | ACS URL   | Скопируйте Single Sign-On URL из консоли         |
     | Entity ID | Скопируйте Service Provider Entity ID из консоли |

  7. Установите флажок **Signed response**.

  8. Для Name ID Format выберите **EMAIL**, а для Name ID оставьте значение **Basic Information > Primary email.**

  9. Нажмите **Continue**.

  10. Укажите следующее сопоставление атрибутов:

  | Поле              | Значение      |
  | ----------------- | ------------- |
  | Basic information | Primary email |
  | App attributes    | email         |

  13. Нажмите **Finish**.

  14. Чтобы включить приложение, нажмите **OFF** для всех и измените значение на **ON** для всех. Доступ также можно ограничить группами или организационными единицами, выбрав нужные параметры в левой части экрана.

  15. Чтобы продолжить, вернитесь к разделу [Добавление metadata URL в конфигурацию SAML](#add-metadata-url).
</Accordion>

<div id="configure-azure-microsoft-saml">
  ### Настройка Azure (Microsoft) SAML
</div>

Azure (Microsoft) SAML также может называться Azure Active Directory (AD) или Microsoft Entra.

<Accordion title="Создание корпоративного приложения Azure">
  Необходимо настроить одну интеграцию приложения с отдельным URL для входа для каждой организации.

  1. Войдите в центр администрирования Microsoft Entra.

  2. В меню слева перейдите в **Applications > Enterprise** applications.

  3. В верхнем меню нажмите **New application**.

  4. В верхнем меню нажмите **Create your own application**.

  5. Введите имя, выберите **Integrate any other application you don't find in the gallery (Non-gallery)**, затем нажмите **Create**.

       <Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/mXojvHhEhDtRJeuO/images/cloud/security/saml-azure-app.webp?fit=max&auto=format&n=mXojvHhEhDtRJeuO&q=85&s=bc89f83021fb1fdd836c98958cf2e8d2" size="md" alt="Приложение Azure не из галереи" force width="980" height="624" data-path="images/cloud/security/saml-azure-app.webp" />

  6. Слева нажмите **Users and groups** и назначьте пользователей.

  7. Слева нажмите **Single sign-on**.

  8. Нажмите **SAML**.

  9. Используйте следующие значения для заполнения экрана Basic SAML Configuration.

     | Поле                                       | Значение                                                        |
     | ------------------------------------------ | --------------------------------------------------------------- |
     | Identifier (Entity ID)                     | Скопируйте Service Provider Entity ID из консоли                |
     | Reply URL (Assertion Consumer Service URL) | Скопируйте Single Sign-On URL из консоли                        |
     | Sign on URL                                | `https://console.clickhouse.cloud/?connection={organizationid}` |
     | Relay State                                | Оставьте пустым                                                 |
     | Logout URL                                 | Оставьте пустым                                                 |

  10. В разделе Attributes & Claims добавьте (A) или обновите (U) следующие значения:

      | Имя утверждения                      | Формат                  | Исходный атрибут |
      | ------------------------------------ | ----------------------- | ---------------- |
      | (U) Unique User Identifier (Name ID) | Адрес электронной почты | user.mail        |
      | (A) email                            | Basic                   | user.mail        |
      | (U) /identity/claims/name            | Omitted                 | user.mail        |

        <Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/mXojvHhEhDtRJeuO/images/cloud/security/saml-azure-claims.webp?fit=max&auto=format&n=mXojvHhEhDtRJeuO&q=85&s=5e85a798b74fe5360123ca3f7c8a19ad" size="md" alt="Атрибуты и утверждения" force width="1242" height="816" data-path="images/cloud/security/saml-azure-claims.webp" />

  11. Скопируйте metadata URL и вернитесь к разделу [Добавьте metadata URL в конфигурацию SAML](#add-metadata-url), чтобы продолжить процесс.
</Accordion>

<div id="configure-duo-saml">
  ### Настройка Duo SAML
</div>

<Accordion title="Создайте универсального поставщика услуг SAML для Duo">
  1. Следуйте инструкциям в руководстве [Duo Single Sign-On for Generic SAML Service Providers](https://duo.com/docs/sso-generic).

  2. Используйте следующее сопоставление атрибутов Bridge:

     | Атрибут Bridge | Атрибут ClickHouse |
     | :------------- | :----------------- |
     | Email Address  | email              |

  3. Используйте следующие значения, чтобы обновить приложение Cloud в Duo:

     | Поле                                 | Значение                                                        |
     | :----------------------------------- | :-------------------------------------------------------------- |
     | Entity ID                            | Скопируйте Service Provider Entity ID из консоли                |
     | Assertion Consumer Service (ACS) URL | Скопируйте Single Sign-On URL из консоли                        |
     | Service Provider Login URL           | `https://console.clickhouse.cloud/?connection={organizationid}` |

  4. Скопируйте metadata URL и вернитесь к разделу [Добавьте metadata URL в конфигурацию SAML](#add-metadata-url), чтобы продолжить процесс.
</Accordion>

<div id="how-it-works">
  ## Как это работает
</div>

<div id="user-management-with-saml-sso">
  ### Управление пользователями с SAML SSO
</div>

Дополнительные сведения об управлении разрешениями пользователей и ограничении доступа только через SAML-подключения см. в разделе [Manage cloud users](/ru/products/cloud/guides/security/cloud-access-management/manage-cloud-users).

<div id="service-provider-initiated-sso">
  ### SSO, инициируемый поставщиком услуг
</div>

Мы поддерживаем только SSO, инициируемый поставщиком услуг. Это означает, что пользователи переходят на `https://console.clickhouse.cloud`, вводят свой адрес электронной почты и перенаправляются к IdP для аутентификации. Пользователи, уже прошедшие аутентификацию через ваш IdP, могут воспользоваться прямой ссылкой, чтобы автоматически войти в вашу организацию без ввода адреса электронной почты на странице входа.

<div id="multi-org-sso">
  ### Multi-org SSO
</div>

ClickHouse Cloud поддерживает Multi-org SSO, предоставляя отдельное подключение для каждой организации. Используйте прямую ссылку (`https://console.clickhouse.cloud/?connection={organizationid}`), чтобы войти в нужную организацию. Обязательно выйдите из одной организации, прежде чем входить в другую.

<Note>
  Если вы не хотите, чтобы пользователи с доменом вашей компании перенаправлялись в организацию при вводе адреса электронной почты на странице [https://console.clickhouse.cloud](https://console.clickhouse.cloud), отправьте запрос в поддержку, чтобы вручную обновить настройки SSO и отключить такое поведение.
</Note>

<div id="additional-information">
  ## Дополнительная информация
</div>

Безопасность — наш главный приоритет в вопросах аутентификации. Поэтому при реализации SSO мы приняли несколько решений, о которых вам следует знать.

* **Мы поддерживаем только сценарии аутентификации, инициируемые поставщиком услуг.** Пользователи должны перейти на `https://console.clickhouse.cloud` и ввести адрес электронной почты, после чего будут перенаправлены к вашему провайдеру идентификации. Для удобства мы также предоставляем инструкции по добавлению приложения-закладки или ярлыка, чтобы пользователям не приходилось запоминать URL.

* **Мы не связываем автоматически учетные записи SSO и учетные записи без SSO.** В списке пользователей ClickHouse у одного и того же пользователя может отображаться несколько учетных записей, даже если используется один и тот же адрес электронной почты.

<div id="troubleshooting-common-issues">
  ## Устранение типичных неполадок
</div>

| Ошибка                                                                                                                                                                     | Причина                                                                          | Решение                                                                                                                                                                                                                                                                                     |
| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Возможна ошибка в конфигурации системы или недоступность сервиса                                                                                                           | Вход инициирован провайдером идентификации                                       | Чтобы устранить эту ошибку, попробуйте использовать прямую ссылку `https://console.clickhouse.cloud/?connection={organizationid}`. Следуйте приведенным выше инструкциям для вашего провайдера идентификации, чтобы сделать этот способ входа способом по умолчанию для ваших пользователей |
| Вас перенаправляет к провайдеру идентификации, а затем обратно на страницу входа                                                                                           | У провайдера идентификации не настроено сопоставление атрибута электронной почты | Следуйте приведенным выше инструкциям для вашего провайдера идентификации, чтобы настроить атрибут электронной почты пользователя, а затем повторите вход                                                                                                                                   |
| Пользователь не назначен этому приложению                                                                                                                                  | Пользователь не назначен приложению ClickHouse в провайдере идентификации        | Назначьте пользователя приложению в провайдере идентификации, а затем повторите вход                                                                                                                                                                                                        |
| У вас несколько организаций ClickHouse, интегрированных с SAML SSO, и вы всегда входите в одну и ту же организацию независимо от того, какую ссылку или плитку используете | Вы все еще вошли в первую организацию                                            | Выйдите из системы, а затем войдите в другую организацию                                                                                                                                                                                                                                    |
| В URL на короткое время отображается `access denied`                                                                                                                       | Ваш домен электронной почты не совпадает с доменом, который настроен у нас       | Обратитесь в службу поддержки, чтобы устранить эту ошибку                                                                                                                                                                                                                                   |
