---
title: 'Создать SAML-федерацию для AD FS'
sidebar_label: 'Создать SAML-федерацию для AD FS'
sidebar_position: 2
description: 'Как настроить федерацию на стороне Selectel и поставщика удостоверений AD FS по протоколу SAML'
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import CreateFederationForSelectel from '@site/docs/_partials/access-control/federations/manage-saml/create-federation-for-selectel.mdx'

# Создать SAML-федерацию для AD FS

:::info

Настройка AD FS в этой инструкции описана на примере ОС Windows Server 2019, для других версий шаги могут отличаться.

:::

Настраивать Active Directory Federation Services (AD FS) нужно в соответствии с рекомендациями компании Microsoft по развертыванию кластеров и прокси-серверов AD FS.

1. Если у вас нет сертификата, выпущенного у AD FS, [выпустите его](#issue-certificate).
2. [Создайте федерацию на стороне Selectel](#create-federation-for-selectel).
3. [Настройте отношения доверия](#configure-relying-party-trust).
4. Если при создании федерации на стороне Selectel вы отметили чекбокс **Подписывать запросы аутентификации**, [загрузите сертификат для подписи запросов](#upload-certificate).
5. [Настройте Claims Mapping](#configure-claims-mapping).
6. Если при создании федерации на стороне Selectel вы включили автосоздание пользователей, [настройте сопоставление групп пользователей](#configure-mapping).

### 1. Выпустить сертификат \{#issue-certificate}

Выпустите сертификат на стороне AD FS, подробнее в инструкции [Сертификаты](/access-control/federations/manage-saml/certificates.mdx).

Вы можете создать федерацию без сертификата и добавить его позже, но без сертификата федерация работать не будет.

## 2. Создать федерацию на стороне Selectel \{#create-federation-for-selectel}

<CreateFederationForSelectel IdIssuer="http://<idp_url>/adfs/services/trust" Link="https://<idp_url>/adfs/ls" />

## 3. Настроить отношения доверия \{#configure-relying-party-trust}

1. На сервере AD FS откройте **Server Manager**.

2. В меню **Tools** выберите **AD FS Management**.

3. В блоке **Actions** выберите **Relying Party Trust** → **Add Relying Party Trust**.

4. На этапе **Welcome**:

   4.1. Выберите **Claims aware**.

   4.2. Нажмите **Start**.

5. На этапе **Select Data Source**:

   5.1. Выберите **Enter data about the relying party manually**.

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

6. На этапе **Specify Display Name**:

   6.1. В поле **Display name** введите имя для отношений доверия.

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

7. На этапе **Configure Certificate**:

   7.1. Если при создании федерации на стороне Selectel вы отметили чекбокс **Подписывать запросы аутентификации**, [скачайте сертификат для подписи запросов](/access-control/federations/manage-saml/certificates.mdx#download-certificate-for-request-verification) и вставьте его.

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

8. На этапе **Configure URL**:

   8.1. Отметьте чекбокс **Enable support for the SAML 2.0 WebSSO protocol**.

   8.2. В поле **URL** введите адрес, на который будут перенаправляться пользователи после аутентификации — `https://api.selectel.ru/v1/auth/federations/<federation_id>/saml/acs`. Укажите `<federation_id>` — ID федерации на стороне Selectel, можно посмотреть в [панели управления](https://my.selectel.ru/iam/federations): в верхнем меню нажмите **IAM** → **Федерации** → строка федерации → поле **ID**.

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

9. На шаге **Configure Identifiers**:

   9.1. В поле **URL** введите адрес — `https://api.selectel.ru/v1/federations/saml/<federation_id>`. Укажите `<federation_id>` — ID федерации на стороне Selectel, можно посмотреть в [панели управления](https://my.selectel.ru/iam/federations): в верхнем меню нажмите **IAM** → **Федерации** → строка федерации → поле **ID**.

   9.2. Нажмите **Add** → **Next**.

10. На шаге **Choose Access Control Policy**:

    10.1. Опционально: укажите, кому будет доступна аутентификация с помощью этой федерации. По умолчанию выбрана политика **Permit for everyone**, которая разрешает доступ для всех пользователей.

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

11. На шаге **Ready to Add Trust**:

    11.1. Проверьте данные.

    11.2. Нажмите **Close**.

## 4. Загрузить сертификат для подписи запросов \{#upload-certificate}

Сертификат для подписи запросов нужно загрузить, если при [создании федерации на стороне Selectel на этапе 2](#create-federation-for-selectel) вы отметили чекбокс **Подписывать запросы аутентификации**.

1. На сервере AD FS откройте папку **Service** → **Relaying Party Trust**.
2. Нажмите на созданный Relaying Party Trust.
3. Справа в разделе **Actions** в блоке с именем созданного Relying Party Trust нажмите **Properties**.
4. Откройте вкладку **Signature**.
5. Нажмите **Add**.
6. Загрузите сертификат для подписи запросов, который вы скачали при [настройке отношений доверия](#configure-relying-party-trust) на шаге 7.1.

## 5. Настроить Claims Mapping \{#configure-claims-mapping}

После успешной аутентификации в AD FS в Selectel придет SAML-сообщение.
Чтобы верно идентифицировать пользователя, необходимо настроить соответствие данных пользователя элементам SAML-сообщения.

1. На сервере AD FS откройте папку **Service** → **Relying Party Trusts**.

2. Нажмите правой кнопкой мыши на ваш Relying Party Trusts и выберите **Edit Claim Issuance Policy**.

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

4. На шаге **Choose Rule Type**:

   4.1. В поле **Claim rule template** выберите **Send LDAP Attributes as Claims**.

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

5. На шаге **Configure Claim Rule**:

   5.1. В поле **Claim rule name** введите имя правила.

   5.2. В поле **Attribute store** выберите **Active Directory**.

   5.3. В столбце **LDAP Attribute** укажите, что будет передаваться в качестве идентификатора пользователя (External ID). Можно указать:

   * **User-Principal-Name** — имя пользователя;
   * **E-Mail-Addresses** — email.

   5.4.  В столбце **Outgoing Claim Type** выберите **Name ID**.

6. Нажмите **Finish** → **OK**.

## 6. Настроить сопоставление групп пользователей \{#configure-mapping}

Настраивать сопоставление групп необходимо, если при [создании федерации на стороне Selectel на этапе 2](#create-federation-for-selectel) вы включили автосоздание пользователей.
Используйте подраздел [Настроить сопоставление групп](/access-control/groups/mapping.mdx#configure-group-mapping) инструкции [Сопоставление групп пользователей](/access-control/groups/mapping.mdx).

<Formbricks />
