> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# EK SSO용 Okta 설정

> 온프레미스 EK 인스턴스의 SAML 2.0 ID 제공자로 Okta를 구성합니다.

이 가이드는 온프레미스 EK 인스턴스의 SAML SSO에 대한 ID 제공자(IdP)로 Okta를 구성하는 과정을 안내합니다. Okta에서 입력할 SAML 설정, Okta 메타데이터를 가져오는 방법 및 통합을 완료하기 위해 EK에 도메인을 등록하는 방법을 다룹니다.

<Note>
  EK의 범용 SAML 흐름은 Okta와 기본적으로 작동합니다. 아직 읽지 않은 경우 시작하기 전에 [SAML SSO 개요](/super-admin/sso/saml-sso-how-it-works)를 읽어 통합이 어떻게 작동하는지 이해하세요.
</Note>

## 전제 조건

* Okta 조직에 대한 관리자 접근 권한이 있습니다.
* 온프레미스 EK 인스턴스에 대한 슈퍼 관리자 접근 권한이 있습니다.
* EK 백엔드 호스트의 정규화된 도메인 이름(FQDN)을 알고 있습니다(예: `ek-api.corp.acme.com`).
* SSO를 활성화하려는 이메일 도메인을 알고 있습니다(예: `acme.com`).

## 1부 — Okta 구성

### Okta에서 새 SAML 애플리케이션 만들기

<Steps>
  <Step title="새 앱 통합 만들기">
    Okta 관리 콘솔에서 **애플리케이션 → 애플리케이션**으로 이동하여 **앱 통합 만들기**를 클릭합니다. 로그인 방법으로 **SAML 2.0**을 선택합니다.
  </Step>

  <Step title="SAML 설정 입력">
    **SAML 구성** 단계에서 다음 값을 입력합니다:

    | 필드                  | 값                                                             |
    | ------------------- | ------------------------------------------------------------- |
    | **싱글 사인온 URL**      | `https://<your-FQDN>/backend/user/generic/sso/saml/acs/admin` |
    | **수신자 URL**         | `https://<your-FQDN>/backend/user/generic/sso/saml/acs/admin` |
    | **대상 URL**          | `https://<your-FQDN>/backend/user/generic/sso/saml/acs/admin` |
    | **어드러스 제한(엔티티 ID)** | `https://<your-FQDN>/backend/user/generic/sso/saml/acs/admin` |
    | **기본 릴레이 상태**       | `default` 또는 도메인 이름으로 설정                                      |
  </Step>

  <Step title="속성 진술 추가">
    여전히 **SAML 구성** 단계에서 아래로 스크롤하여 **속성 진술**로 이동하고 다음을 추가합니다:

    | 이름                 | 이름 형식   | 값                                |
    | ------------------ | ------- | -------------------------------- |
    | `email`            | 기본      | `user.email`                     |
    | `first_name`       | 기본      | `user.firstName`                 |
    | `last_name`        | 기본      | `user.lastName`                  |
    | `user_name`        | 기본      | `user.login`                     |
    | `DisplayName`      | 기본      | `user.displayName`               |
    | `objectIdentifier` | 지정되지 않음 | `user.getInternalProperty("id")` |
  </Step>

  <Step title="설정 완료">
    애플리케이션 생성 마법사를 완료합니다. EK에 대한 SSO 접근이 필요한 사용자 또는 그룹에 애플리케이션을 할당합니다.
  </Step>
</Steps>

## 2부 — Okta 메타데이터 가져오기

Okta 애플리케이션이 생성되면 IdP 메타데이터 URL을 가져옵니다:

<Steps>
  <Step title="로그인 탭으로 이동">
    Okta에서 애플리케이션을 열고 **로그인** 탭으로 이동합니다.
  </Step>

  <Step title="메타데이터 URL 찾기">
    **설정 → SAML 2.0 → 메타데이터 세부 정보** 아래에서 **메타데이터 URL**을 복사합니다.

    경로는:

    ```
    로그인 > 설정 > SAML 2.0 > 메타데이터 세부 정보 > 메타데이터 URL
    ```

    이 URL은 3부에서 필요합니다.<br /><img src="https://mintcdn.com/automationanywhere/GwZtgh73O0-NsEVq/img/sa/sso/okta-metadata-url.png?fit=max&auto=format&n=GwZtgh73O0-NsEVq&q=85&s=76320da8268fe54ce07a11b45e3fc929" alt="Okta 메타데이터 URL" width="908" height="839" data-path="img/sa/sso/okta-metadata-url.png" />
  </Step>
</Steps>

## 3부 — EK에 도메인 등록

도메인 등록 엔드포인트에 `POST` 요청을 보냅니다:

```bash theme={null}
curl -X POST "https://<your-backend-host>/backend/sso/add_new_configuration" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: YOUR_API_KEY" \
  -H "X-API-SECRET: YOUR_API_SECRET" \
  -d '{
    "enterprise_id": "acme.com",
    "provider": "okta",
    "metadata_url": "https://your-okta-metadata-url",
    "backend_root_url": "<your-backend-host>/backend"
  }'
```

### 필수 필드

| 필드                 | 설명                                       |
| ------------------ | ---------------------------------------- |
| `enterprise_id`    | 사용자의 이메일 도메인(예: `acme.com`).             |
| `provider`         | `"okta"`                                 |
| `metadata_url`     | 2부의 메타데이터 URL.                           |
| `backend_root_url` | *(선택 사항)* 올바른 라우팅을 보장하기 위해 프록시 설정에서만 필요. |

### 인증

엔드포인트는 `X-API-KEY` 및 `X-API-SECRET` 헤더로 전달되는 EKB API 키와 시크릿을 요구합니다.

성공 시 백엔드의 `sso_providers` 테이블에 레코드가 생성됩니다.

## 4부 — 프론트엔드 구성

도메인이 등록되면 프론트엔드 환경 변수를 설정하고 프론트엔드 서비스를 재시작합니다.

<Steps>
  <Step title="프론트엔드 환경 파일 열기">
    온프레미스 배포 서버에서 `onprem-deployment/.env.web`을 엽니다.
  </Step>

  <Step title="환경 변수 추가">
    다음 줄을 추가하고 `acme.com`을 실제 이메일 도메인으로 교체합니다:

    ```bash theme={null}
    VITE_SSO_ENTERPRISE_ID=acme.com
    ```
  </Step>

  <Step title="프론트엔드 서비스 재시작">
    ```bash theme={null}
    docker compose -f docker-compose down
    docker compose -f docker-compose up -d
    ```
  </Step>
</Steps>

## 통합 테스트

실제 `@<도메인>` 사용자로 EK에 로그인하여 전체 흐름이 작동하는지 확인합니다. 사용자가 인증에 성공했지만 접근이 거부되면 SAML 접근 제어 구성을 확인하세요 — *EK SAML 접근 제어 및 자동 팀/프로젝트 할당* 가이드를 참조하세요.
