SAML с Okta

Настройка параметров SAML в Окте

| GlarusBI SAML | Okta SAML | | ———————————————- | ———————————————————— | | URL-адрес, на который IdP должен перенаправить | URL-адрес единого входа. Это ваша GlarusBI [URL-адрес сайта] site-url — она должна начинаться с https:// и заканчиваться на /auth/sso/. | | SAML наименование приложения | URI аудитории (идентификатор объекта SP) |

Установка операторов атрибутов

GlarusBI нужно, чтобы вы установили имя (имя), фамилию (фамилию) и атрибуты адреса электронной почты в Okta. Эти атрибуты будут переданы из Okta в GlarusBI во время аутентификации, чтобы автоматически регистрировать людей в их учетных записях в GlarusBI.

Заполните раздел Атрибуты (необязательно) в Okta, используя информацию из атрибутов SAML вашей GlarusBI (находится в разделе Панель администратора > Аутентификация > SAML).

| Название | Значение | | ——————————————————————– | ————– | | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname | user.firstName | | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress | user.email | | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname | user.lastName |

Конечные пользователи не должны иметь возможности редактировать атрибут адреса электронной почты. Ваш IdP будет передавать атрибут адреса электронной почты в GlarusBI, чтобы люди могли входить в свои учетные записи в GlarusBI (или создавать учетную запись при первом входе в систему). Если человек может изменить атрибут адреса электронной почты, он потенциально сможет получить доступ к учетным записям GlarusBI, отличным от их собственных.

Пример утверждения Okta

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

<saml2:Assertion
    xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" ID="id4170618837332381492734749" IssueInstant="2019-03-27T17:56:11.067Z" Version="2.0">
    <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://www.okta.com/Issuer</saml2:Issuer>
    <saml2:Subject>
        <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">userName</saml2:NameID>
        <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
            <saml2:SubjectConfirmationData NotOnOrAfter="2019-03-27T18:01:11.246Z" Recipient="https://metabase.mycompany.com/auth/sso"/>
        </saml2:SubjectConfirmation>
    </saml2:Subject>
    <saml2:Conditions NotBefore="2019-03-27T17:51:11.246Z" NotOnOrAfter="2019-03-27T18:01:11.246Z">
        <saml2:AudienceRestriction>
            <saml2:Audience>my-metabase-app</saml2:Audience>
        </saml2:AudienceRestriction>
    </saml2:Conditions>
    <saml2:AuthnStatement AuthnInstant="2019-03-27T17:56:11.067Z">
        <saml2:AuthnContext>
            <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef>
        </saml2:AuthnContext>
    </saml2:AuthnStatement>
    <saml2:AttributeStatement>
        <saml2:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
            <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
              Cam
            </saml2:AttributeValue>
        </saml2:Attribute>
        <saml2:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
            <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
              Saul
            </saml2:AttributeValue>
        </saml2:Attribute>
        <saml2:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
            <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
              cam@metabase.com
            </saml2:AttributeValue>
        </saml2:Attribute>
    </saml2:AttributeStatement>
</saml2:Assertion>

Управление сертификатами подписи в Okta

В консоли администратора Okta выберите Настройка SAML > Просмотреть инструкции по настройке SAML.

Введите следующую информацию в форму SAML GlarusBI (Панель администратора > Аутентификация > SAML):

| GlarusBI SAML | Okta SAML | | ———————————– | ————————————– | | SAML Identity Provider URL | Identity Provider Single Sign-On URL | | SAML Identity Provider Certificate | X.509 Certificate | | SAML Identity Provider Issuer | Identity Provider Issuer |

Дополнительные сведения см. в разделе [Включение аутентификации SAML в GlarusBI][включение-самла-в-GlarusBI].

Настройка сопоставления групп

Пример сопоставления одной группы с GlarusBI

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

После этого вам нужно будет добавить дополнительный атрибут SAML к тем, которые мы добавили выше.

Атрибут группы

Пример сопоставления нескольких групп с GlarusBI

Если вы хотите использовать группы пользователей Okta, вы можете создать Выражение атрибута с Именем metabaseGroups и Значением выражения языка Okta, например, как getFilteredGroups({"groupId1", "groupId2"}, "group.name", 100).

Это выражение вернет список строк, содержащих имена групп пользователей, частью которых является пользователь, вошедший в систему. Идентификаторы групп в {"groupId1", "groupId2"} – это группы, которые вы хотите сопоставить в GlarusBI.

Устранение неполадок с SAML

Чтобы узнать о распространенных проблемах, перейдите к Устранение неполадок SAML.