> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/integration/ko/feature-integrations/single-sign-on.md).

# 리테일러용 단일 서명(SSO)

Epsilon Retail Media의 SSO 연동을 통해 SAML 2.0으로 리테일러의 IDP에 직접 연결할 수 있습니다. IDP를 통해 인증된 리테일러 사용자에게 SSO 로그인 기능을 제공할 수 있습니다.

{% hint style="info" %}
리테일러 사용자 전용

광고주가 여러 리테일러 플랫폼에 액세스할 수 있도록 지원하는 멀티 테넌트 플랫폼으로서, 당사의 기능은 광고주가 아닌 내부 직원에 대한 SSO를 강제하려는 리테일러에 가장 적합합니다.

광고주 사용자 수명 주기의 위임된 권한은 다른 리테일러 플랫폼에 영향을 줄 수 있으므로 제공하지 않습니다.
{% endhint %}

## 기능 범위

Epsilon Retail Media 사용자가 해당 네임스페이스에 액세스할 수 있는지 IDP가 인증할 수 있도록 허용합니다. 이는 네임스페이스별로 구성됩니다. 플랫폼의 SSO 기능은 \*\*인가(authorisation)\*\*가 아닌 \*\*인증(authentication)\*\*을 활성화한다는 점에 유의하세요. 팀 액세스 관리는 여전히 플랫폼 내에서 프로그램 방식으로 구성됩니다.

{% hint style="info" %}
광고주 액세스

당사 플랫폼은 전 세계적으로 연결된 멀티 테넌시 플랫폼이므로, 광고주는 여전히 로그인 모듈을 통해 직접 로그인합니다. 광고주가 다른 리테일러 플랫폼에 액세스할 수 있더라도 해당 플랫폼에 액세스하려면 여전히 초대되어야 합니다.
{% endhint %}

## 주요 정보

* 이 기능은 내부 직원의 안전한 오프보딩과 같은 사용 사례를 위해 내부 사용자 수명 주기를 관리하려는 리테일러에 가장 적합합니다.
* 팀 및 사용자 액세스는 플랫폼 내에서 프로그램 방식으로 관리해야 하며 SSO 연동을 통해 관리할 수 없습니다.
* 모든 IDP 사용자 지원 및 관리는 리테일러가 관리해야 합니다.
* 광고주 사용자 수명 주기는 반드시 Epsilon 플랫폼 내에 유지되어야 합니다. 광고주 사용자를 오프보딩하는 위임된 권한은 제공하지 않습니다. 광고주의 다른 플랫폼 액세스에 영향을 미칠 수 있기 때문입니다.

## 사용자 흐름

기존 플랫폼 사용자와 신규 플랫폼 사용자 모두에게 흐름이 다릅니다.

### 기존 사용자 흐름

출시 후 SSO를 구현하는 경우, 대부분의 사용자는 이미 팀에 대한 액세스 권한이 있고 Epsilon에 계정이 설정되어 있습니다. 따라서 흐름이 더 간단합니다.

<figure><img src="/files/9pyLrOZQaDBKfKHyuoZv" alt="" width="100%"><figcaption></figcaption></figure>

<br>

### 신규 사용자 흐름

신규 사용자의 경우 각 사용자를 관련 팀에 초대해야 합니다. 사용자는 가입 절차를 거쳐야 하며, 향후 액세스를 위해 SSO IDP를 통해 인증할 수 있습니다.

<figure><img src="/files/2VMH9DX59ZhZNEo3zWry" alt="" width="100%"><figcaption></figcaption></figure>

필요한 경우 SSO IDP를 통해 직접 로그인할 수도 있으며, 인증이 승인되면 적시에 사용자가 생성됩니다. 사용자는 관련 팀에 프로그램 방식으로 직접 초대되어야 합니다. 팀 액세스가 올바르게 구성되도록 사용자를 미리 초대하는 것이 좋습니다.

<figure><img src="/files/GGkUZ3PVtr2ZuNL40zFF" alt="" width="100%"><figcaption></figcaption></figure>

<br>

## 사용자 경험

리테일러 SSO가 연동된 포털에서는 초기 로그인 화면에서 비밀번호 필드가 제거됩니다. 사용자가 리테일러 도메인 아래의 IDP에 연결된 이메일을 입력하면 사용자는 인증을 위해 IDP로 자동으로 전달됩니다.

<figure><img src="/files/IdgJplBjFncOEzCbqbTr" alt="" width="100%"><figcaption></figcaption></figure>

모든 SSO 관련 비밀번호 관리는 리테일러의 책임이므로 비밀번호 찾기 기능도 다음 단계의 비밀번호 입력으로 위임됩니다.

## 연동 요구 사항

### IDP 연동

연동하려면 Epsilon 에 아래 항목이 필요합니다.

**IDP 제공 항목**

* 엔티티 ID
* SSO URL
* IDP 서명 인증서

**당사 요구 항목:**

* 맞춤형 로그인 도움말 링크: 이 링크는 모든 사용자에게 표시되며 로그인 프로세스를 설명하는 링크를 호스팅해야 합니다.
* 맞춤형 메시지: 맞춤형 링크와 관련하여 표시되는 맞춤형 메시지
* 맞춤형 링크 레이블: 맞춤형 로그인 도움말 링크의 레이블
* 비밀번호 재설정 웹사이트 이름: 사용자에게 표시되는 웹사이트 이름
* 만료된 비밀번호 URL: IDP가 비밀번호 만료 링크를 전달할 위치

Epsilon 측면에서도 공유될 아래 정보를 구성합니다. Epsilon 측면:

* 엔티티 ID(오디언스 URI)
* 기본 URL
* ACS URL

이 항목들은 Epsilon 팀에서 제공합니다.

### 매핑 속성

속성은 Epsilon 설정에서 아래와 같습니다:

* 기본 이메일
* firstName
* lastName
* email

이에 따라 IDP에서 매핑을 구성해야 할 수 있습니다.

## 지원되지 않는 SSO 기능

* 사용자 관리\*\*: Epsilon 는 사용자 추가, 변경 또는 제거를 위한 자동 사용자 관리를 지원하지 않습니다. 이 프로세스는 Identity Provider(IDP)와 Epsilon.
* **계정 지원**: 리테일러가 SSO(Single Sign-On)로 전환할 때, Epsilon 는 사용자 계정 설정이나 지원을 처리하지 않습니다. 즉, Epsilon 에서 직접 로그인이나 비밀번호 재설정을 허용하지 않습니다. 모든 SSO 사용자는 계정 관련 도움이 필요한 경우 리테일러에 문의해야 합니다.
* OAUTH 지원\*\*: Epsilon 는 다음과 같은 서비스에 대한 OAuth 인증을 사용한 연동을 지원하지 않습니다: [Microsoft Azure Active Directory B2C](https://learn.microsoft.com/en-us/azure/active-directory-b2c/overview). SSO 연동은 SAML 인증을 통해서만 이용할 수 있습니다.

## 리테일러 소유 플랫폼 SSO: 광고주 계정 우회 방법

파트너 API 기능을 연동하고 광고주에게 자체 프론트엔드를 제공하는 리테일러인 경우, 자체 포털 내에서 광고주 라이프사이클을 관리할 수 있도록 리테일러에게 제공되는 우회 방법이 있습니다.

이 기능의 목적은 소유한 네임스페이스 내에서 소유 플랫폼이 Epsilon 플랫폼과 자동으로 인증할 수 있도록 하는 것입니다.

### 고수준 개요

이 우회 방법은 소유한 도메인 아래에 광고주 계정을 생성할 수 있도록 하여 기존 리테일러 SSO 기능을 활용하는 방식을 포함합니다.

* 리테일러는 IDP(Identify Provider) 서비스 내에 사용자 계정을 생성합니다. Epsilon OKTA JIT(Just In Time) 프로비저닝을 활용하여 Epsilon 플랫폼 내에 사용자 계정을 자동으로 프로비저닝합니다.
* 리테일러는 Epsilon 팀 관리 UI를 통해 필요한 공급업체 또는 리테일러 팀에 사용자를 초대합니다. (이 작업이 없으면 사용자에게 빈 UI가 표시됩니다. Epsilon)
* 사용자 계정에는 리테일러가 지정한 고유한 도메인 이름이 있어야 합니다. 다음과 같이 OKTA 내에 여러 도메인 이름을 구성할 수 있습니다. <name@retailer.com>, <name@retailerdomain.com>, <name@retailername.com>

### 디프로비저닝

사용자 디프로비저닝은 다음 프로세스로 진행됩니다.

* 리테일러는 IDP에서 사용자 계정을 디프로비저닝합니다.
* 사용자는 리테일러 소유의 사용자 이메일로는 Epsilon 플랫폼에 인증/로그인할 수 없습니다.
  * 사용자는 일반 광고주 이메일을 사용하여 다른 리테일러 플랫폼에 여전히 인증/로그인할 수 있습니다.
* 사용자 계정은 여전히 내에 존재하지만, Epsilon 90일 동안 활동이 없으면 수명 주기 관리 프로세스에 의해 계정이 비활성화됩니다.
* IDP 내에서 사용자 계정이 재활성화되면 내의 해당 사용자 계정도 Epsilon 활성화됩니다.
* 리테일러가 사용자를 에서 완전히 제거해야 하는 경우 Epsilon 플랫폼 내에서 초대된 팀으로부터 해당 사용자를 수동으로 제거해야 합니다.

### 제한 사항

* 이 방식은 실제 광고주의 계정 수명 주기를 유지하지 않으며, 대신 리테일러 도메인 아래에 광고주를 위한 복제된 격리된 사용자를 생성합니다. 이는 광고주에게 혼란을 야기할 수 있습니다.\\
  * <jane.doe@sodapopco.com> 은 여전히 Epsilon 플랫폼의 사용자로서 여러 리테일러에 걸친 모든 팀에 액세스할 수 있습니다. <jane.doe.sodapopco@retailer.com> 은 귀하(리테일러)가 소유한 도메인 하에서 관리됩니다.
* 이 임시 해결책은 지원되지 않는 SSO 기능 섹션에 설명된 것과 동일한 제한 사항을 유지하므로, 리테일러가 계정 구성, 지원 및 사용자/팀 액세스를 관리해야 합니다.
* 모든 사용자 지원 및 관리는 리테일러가 직접 관리해야 합니다.

## 자주 묻는 질문

* 누군가를 팀에 초대하지 않았는데 SSO를 통해 로그인하면 어떻게 되나요?
  * 사용자가 존재하지 않지만 SSO를 통해 로그인하는 경우, 사용자를 팀에 초대할 때까지 빈 화면이 표시됩니다.
* SSO나 API를 통해 팀/사용자 액세스를 관리할 수 있는 방법이 있나요?
  * 아니요, 현재는 불가능하며 UI를 통해 프로그래밍 방식으로 처리해야 합니다.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.citrusad.com/retail-media-interface/integration/ko/feature-integrations/single-sign-on.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
