[Документация Yandex Cloud](../../../../index.md) > [Yandex Identity Hub](../../../index.md) > [Практические руководства](../../index.md) > [Настройка единого входа в приложения (SSO)](../index.md) > Grafana Cloud > SAML

# Создать SAML-приложение в Yandex Identity Hub для интеграции с Grafana Cloud

[Grafana Cloud](https://grafana.com/products/cloud/) — это управляемая облачная платформа для мониторинга и наблюдаемости (observability), которая включает в себя Grafana, Prometheus, Loki и другие инструменты визуализации и анализа данных. Grafana Cloud поддерживает SAML-аутентификацию для обеспечения безопасного единого входа пользователей организации.

Чтобы пользователи вашей [организации](../../../concepts/organization.md) могли аутентифицироваться в Grafana Cloud с помощью технологии единого входа по стандарту [SAML](https://ru.wikipedia.org/wiki/SAML), создайте [SAML-приложение](../../../concepts/applications/saml.md) в Yandex Identity Hub и настройте его на стороне Yandex Identity Hub и на стороне Grafana Cloud.

Управлять SAML-приложениями может пользователь, которому назначена [роль](../../../security/index.md#organization-manager-samlApplications-admin) `organization-manager.samlApplications.admin` или выше.

Чтобы дать доступ пользователям вашей организации в Grafana Cloud:

1. [Создайте аккаунт в Grafana Cloud](#grafana-account).
1. [Создайте приложение](#create-app).
1. [Настройте интеграцию](#setup-integration).
1. [Убедитесь в корректной работе приложения](#validate)

## Создайте аккаунт в Grafana Cloud {#grafana-account}

Если у вас нет аккаунта в Grafana Cloud, создайте его:

1. Перейдите на [страницу регистрации Grafana Cloud](https://grafana.com/auth/sign-up/).
1. Заполните регистрационную форму:
    - Укажите ваш email-адрес.
    - Создайте надежный пароль.
1. Нажмите **Create my account**.
1. Подтвердите регистрацию, следуя инструкциям в письме, отправленном на указанный email.
1. Выберите имя организации (это будет частью URL вашего экземпляра). Например `your-org`.
1. После входа в систему убедитесь, что у вас есть права администратора для настройки SAML в Grafana Cloud.

{% note info %}

Для настройки SAML в Grafana Cloud требуются права администратора организации. Если у вас нет необходимых прав, обратитесь к администратору вашей организации в Grafana Cloud.

{% endnote %}

## Создайте приложение {#create-app}

{% list tabs group=instructions %}

- Интерфейс Cloud Center {#cloud-center}

    1. Войдите в сервис [Yandex Identity Hub](https://kz.center.yandex.cloud/organization).
    1. На панели слева выберите ![shapes-4](../../../../_assets/console-icons/shapes-4.svg) **Приложения**.
    1. В правом верхнем углу страницы нажмите ![Circles3Plus](../../../../_assets/console-icons/circles-3-plus.svg) **Создать приложение** и в открывшемся окне:
        1. Выберите метод единого входа **SAML (Security Assertion Markup Language)**.
        1. В поле **Имя** задайте имя создаваемого приложения: `grafana-cloud-app`.

        1. (Опционально) В поле **Описание** задайте описание приложения.
        1. (Опционально) Добавьте [метки](../../../../resource-manager/concepts/labels.md):

            1. Нажмите **Добавить метку**.
            1. Введите метку в формате `ключ: значение`.
            1. Нажмите **Enter**.
        1. Нажмите **Создать приложение**.

{% endlist %}

## Настройте интеграцию {#setup-integration}

Чтобы настроить интеграцию Grafana Cloud с созданным SAML-приложением в Yandex Identity Hub, выполните настройки на стороне Grafana Cloud и на стороне Yandex Identity Hub.

### Настройте SAML-приложение на стороне Grafana Cloud {#setup-sp}

1. Чтобы настроить аутентификацию по стандарту SAML на стороне Grafana Cloud, в левой панели выберите раздел **Administration** и в нем подраздел **Authentication**.
1. В основном окне выберите **SAML**.

Далее следуйте шагам, описанным ниже:

#### Общие настройки {#general-settings}

Убедитесь, что активирована опция **Allow signup** — автоматическое создание пользователей на стороне Grafana Cloud при авторизации через SSO. Если опция неактивна, аутентифицироваться смогут только пользователи, уже созданные на стороне Grafana Cloud.

#### Подпись запросов {#sign-requests}

Настройте сертификат для подписи исходящих запросов.

{% note tip %}

В данный момент Yandex Identity Hub не поддерживает проверку подписи запросов, поэтому рекомендуем оставить опцию **Sign requests** отключенной.

{% endnote %}

#### Подключение Grafana к IdP {#conect-idp}

Настройте связь между Grafana Cloud и Yandex Identity Hub:

1. В блоке **Configure IdP using Grafana metadata** скопируйте и сохраните адреса эндпоинтов для получения метаданных (*Metadata URL*) и отправки запросов на аутентификацию пользователей (*Assertion Consumer Service URL*). В дальнейшем вам понадобится второй из этих адресов при настройке интеграции на стороне Yandex Identity Hub.
1. Настройте адрес эндпоинта для получения метаданных из Yandex Identity Hub:

    1. Войдите в сервис [Yandex Identity Hub](https://kz.center.yandex.cloud/organization).
    1. На панели слева выберите ![shapes-4](../../../../_assets/console-icons/shapes-4.svg) **Приложения** и выберите нужное SAML-приложение.
    1. На вкладке **Обзор** в блоке **Конфигурация поставщика удостоверений (IdP)** скопируйте значение поля **Metadata URL**.
    1. Вернитесь в Grafana Cloud и  в блоке **Finish configuring Grafana using IdP data** вставьте скопированный адрес в поле **Metadata URL**.

#### Сопоставление атрибутов пользователей {#user-mapping}

Настройте соответствие между полями объектов пользователей в Grafana Cloud и Yandex Identity Hub:

1. В блоке **Assertion attributes mappings** укажите:

    - в поле **Name attribute**: `fullname`;
    - в поле **Login attribute**: `login`;
    - в поле **Email attribute**: `emailaddress`.

1. Если необходимо, чтобы пользователи в Grafana Cloud при входе получали одну из базовых ролей (Viewer, Editor, Admin), добавьте атрибут групп пользователей. Для этого в поле **Role attribute** укажите `groups`.

    {% note info %}

    Если не настроить сопоставление ролей, все пользователи будут входить с ролью по умолчанию — `Viewer`.

    {% endnote %}

    Далее, в блоке **Role mapping** укажите названия групп, пользователи которых получат соответствующие роли. Например:

    - В поле **Viewer**: `grafana-viewer`;
    - В поле **Editor**: `grafana-editor`;
    - В поле **Admin**: `grafana-admin`.

    Группы необходимо будет создать при настройке приложения на стороне Yandex Identity Hub.

1. Ниже, в поле **Name identifier format** выберите `Email address`.

    Имена атрибутов пользователей в Yandex Identity Hub можно посмотреть и настроить в вашем приложении на вкладке **Атрибуты**.

1. Сохраните настройки, нажав кнопку **Save and enable**.

### Настройте SAML-приложение на стороне Yandex Identity Hub {#setup-idp}

#### Настройте эндпоинты поставщика услуг {#sp-endpoints}

{% list tabs group=instructions %}

- Интерфейс Cloud Center {#cloud-center}

  1. Войдите в сервис [Yandex Identity Hub](https://kz.center.yandex.cloud/organization).
  1. На панели слева выберите ![shapes-4](../../../../_assets/console-icons/shapes-4.svg) **Приложения** и выберите нужное SAML-приложение.
  1. Справа сверху нажмите ![pencil](../../../../_assets/console-icons/pencil.svg) **Редактировать** и в открывшемся окне:  
      1. В поле **SP EntityID** вставьте адрес эндпоинта, который вы скопировали на третьем шаге настройки интеграции в Grafana Cloud в поле **Metadata URL**.
      1. В поле **ACS URL** вставьте адрес эндпоинта, который вы скопировали на третьем шаге настройки интеграции в Grafana Cloud в поле **Assertion Consumer Service URL**.
      1. Нажмите **Сохранить**.

{% endlist %}

#### Настройте атрибуты пользователей {#user-attributes}

{% note warning %}

Для интеграции с Grafana Cloud необходимо, чтобы у пользователей был атрибут `login`.

{% endnote %}

Если у пользователей нет атрибута `login`, добавьте его:

{% list tabs group=instructions %}

- Интерфейс Cloud Center {#cloud-center}

    1. Войдите в сервис [Yandex Identity Hub](https://kz.center.yandex.cloud/organization).
    1. На панели слева выберите ![shapes-4](../../../../_assets/console-icons/shapes-4.svg) **Приложения** и выберите нужное приложение.
    1. Перейдите на вкладку **Атрибуты**.
    1. В правом верхнем углу страницы нажмите ![plus](../../../../_assets/console-icons/plus.svg) **Добавить атрибут** и в открывшемся окне:

        1. В поле **Имя атрибута** введите `login`.
        1. В поле **Значение** выберите `SubjectClaims.preferred_username`.
        1. Нажмите **Добавить**.

{% endlist %}

Если вы настроили сопоставление ролей на стороне Grafana Cloud, добавьте атрибут групп пользователей. Для этого:

{% list tabs group=instructions %}

- Интерфейс Cloud Center {#cloud-center}

    1. В правом верхнем углу страницы нажмите ![circles-3-plus](../../../../_assets/console-icons/circles-3-plus.svg) **Добавить атрибут группы** и в открывшемся окне:
    1. В поле **Передаваемые группы** выберите `Только назначенные группы`.
    1. Нажмите **Добавить**.

{% endlist %}

Подробнее о настройке атрибутов смотрите в разделе [Настройте атрибуты пользователей и групп](../../../operations/applications/saml-create.md#setup-attributes).

### Добавьте пользователя {#add-user}

Чтобы пользователи вашей организации могли аутентифицироваться в Grafana Cloud с помощью SAML-приложения Yandex Identity Hub, необходимо явно добавить в SAML-приложение нужных пользователей и/или [группы пользователей](../../../concepts/groups.md).

{% note info %}

Управлять пользователями и группами, добавленными в SAML-приложение, может пользователь, которому назначена [роль](../../../security/index.md#organization-manager-samlApplications-userAdmin) `organization-manager.samlApplications.userAdmin` или выше.

{% endnote %}

1. Если вы настроили сопоставление ролей на стороне Grafana Cloud, [создайте](../../../operations/create-group.md) нужные [группы](../../../concepts/groups.md):

    {% list tabs group=instructions %}

    - Интерфейс Cloud Center {#cloud-center}

        1. Войдите в сервис [Yandex Identity Hub](https://kz.center.yandex.cloud/organization).
        1. На панели слева выберите ![groups](../../../../_assets/console-icons/persons.svg) **Группы**.
        1. В правом верхнем углу страницы нажмите ![Circles3Plus](../../../../_assets/console-icons/circles-3-plus.svg) **Создать группу**.
        1. Задайте название, например, `grafana-viewer`.
        1. Нажмите **Создать группу**.
        1. Добавьте пользователей в группу:
            1. Перейдите на вкладку **Участники**.  
            1. Нажмите **Добавить участника**.
            1. В открывшемся окне выберите нужных пользователей.
            1. Нажмите **Сохранить**.

    {% endlist %}

    Аналогично создайте группы `grafana-editor` и `grafana-admin`.

1. Добавьте пользователей в приложение:

    {% list tabs group=instructions %}

    - Интерфейс Cloud Center {#cloud-center}

        1. Войдите в сервис [Yandex Identity Hub](https://kz.center.yandex.cloud/organization).
        1. На панели слева выберите ![shapes-4](../../../../_assets/console-icons/shapes-4.svg) **Приложения** и выберите нужное приложение.
        1. Перейдите на вкладку **Пользователи и группы**.
        1. Нажмите ![person-plus](../../../../_assets/console-icons/person-plus.svg) **Добавить пользователей**.
        1. В открывшемся окне выберите нужного пользователя или группу пользователей.
        1. Нажмите **Добавить**.

    {% endlist %}

{% note tip %}

Если вы хотите более тонко настроить аутентификацию пользователей в приложениях, в том числе разрешить аутентификацию только с определенных IP-адресов, используйте [политики аутентификации](*authentication_policies).

{% endnote %}

[*authentication_policies]: Политики аутентификации — это инструмент Yandex Identity Hub, позволяющий гибко настраивать доступ к приложениям, запрещая или разрешая аутентификацию определенным пользователям в определенных приложениях и/или с определенных IP-адресов. Подробнее читайте в разделе [Политики аутентификации в Yandex Identity Hub](../../../concepts/authentication-policy.md).

## Убедитесь в корректной работе приложения {#validate}

Чтобы убедиться в корректной работе SAML-приложения и интеграции с Grafana Cloud, выполните аутентификацию в Grafana Cloud от имени одного из добавленных в приложение пользователей. Для этого:

1. В браузере перейдите по адресу вашего экземпляра Grafana Cloud (например, `https://your-org.grafana.net`).
1. Если вы были авторизованы в Grafana Cloud, выйдите из профиля.
1. На странице авторизации Grafana Cloud нажмите **Sign in with SAML**.
1. На странице авторизации Yandex Cloud укажите имеил и пароль пользователя. Пользователь должен быть добавлен в приложение или состоять в группе, добавленной в приложение.
1. Убедитесь, что вы аутентифицировались в Grafana Cloud.
1. Если вы настроили сопоставление ролей, перейдите в профиль пользователя в Grafana Cloud и убедитесь, что в блоке **Organization** отображается соответствующая роль.  


#### Полезные ссылки {#see-also}

* [Yandex Identity Hub: как настроить единый вход в Grafana Cloud через SAML](https://yandex.cloud/ru/blog/how-to-identity-hub)