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

# 시스템 아키텍처

> ID, 로그인 및 프로비저닝이 Iru Identity를 통해 흐르는 방식과 데이터를 보호하고 테넌트를 격리하는 아키텍처 보장을 이해합니다.

Iru Identity는 사용자, 사용자에 대해 알고 있는 시스템, 그리고 사용자가 사용하는
애플리케이션 사이의 ID 계층입니다. 아래에서는 로그인, 프로비저닝 및 액세스 결정이 이 계층을
통해 흐르는 방식을 설명합니다.

## ID 계층

```mermaid theme={null}
flowchart LR
  subgraph people["사용자"]
    emp["직원 및 계약자"]
  end
  hr["HR 시스템<br/>(존재하는 사람)"]
  idp["기존 공급자<br/>(선택 사항 · 마이그레이션)"]
  subgraph iru["Iru Identity"]
    dir["Directory"]
    engine["정책 엔진"]
    prov["프로비저닝"]
  end
  subgraph apps["업무 공간"]
    saas["애플리케이션"]
  end

  hr -->|"사용자 동기화"| dir
  emp -->|"패스키로 로그인"| engine
  idp -. "선택적 로그인" .-> engine
  dir --> engine
  engine -->|"허용된 액세스"| saas
  dir --> prov
  prov -->|"계정"| saas
```

Iru Identity는 **ID 공급자**입니다. 사용자는 일반적으로 패스키 또는 Iru Access 앱으로 Iru에
직접 로그인하며, Iru는 연결된 모든 앱에 사용자의 신원을 보증하고 각 앱이 지원하는 SAML 또는
OIDC 표준을 사용하여 서명된 ID 명세를 보냅니다.

Iru는 이미 운영 중인 ID 공급자에 대한 **신뢰 당사자 역할도 할 수 있습니다**. 로그인을 해당
공급자에게 넘기고 공급자가 사용자를 확인하면 세션을 계속합니다. 이는 두 가지 상황을 위한
보조 경로입니다.

* **기존 공급자로 Iru 플랫폼에 로그인.** 모든 Iru 테넌트는 Iru Identity를 사용하여 관리자를
  관리하고 사용자를 동기화하지만, 모든 조직이 이를 전체 ID 공급자로 사용하는 것은 아닙니다.
  Iru Identity가 Iru 및 해당 제품에 대한 인증 계층인 경우 사용자는 이미 운영 중인 공급자로
  로그인할 수 있습니다.
* **마이그레이션 지원.** Iru Identity를 ID 공급자로 전환하는 동안 사용자는 전환 기간 중 현재
  공급자를 통해 계속 로그인할 수 있습니다.

## 로그인 작동 방식

```mermaid theme={null}
sequenceDiagram
  participant U as 사용자
  participant A as 애플리케이션
  participant I as Iru Identity
  participant P as 연결된 공급자

  U->>A: 앱 열기
  A->>I: Iru에 인증 요청
  alt 직접 로그인(기본값)
    I->>U: 패스키 또는 Iru Access 요청
    U-->>I: ID 증명
  else 페더레이션 로그인(인증 계층 또는 마이그레이션)
    I->>P: 기존 공급자에게 넘김
    P-->>I: 사용자 확인
  end
  I->>I: 인증 정책 평가
  alt 정책 통과
    I-->>A: Single Sign-On 발급
    A-->>U: 액세스 허용
  else 정책 실패
    I-->>U: 거부 및 이유 설명
  end
```

연결된 앱에 대한 모든 로그인은 해당 앱의 인증 정책에 따라 검사됩니다. 강력한 인증기는 항상
필요하며, 그런 다음 정책이 액세스를 허용하기 전에 Device Trust를 평가합니다. Iru는 결정을
[활동 로그](/ko/identity/administration/activity-log)에 기록합니다.

## 프로비저닝 작동 방식

프로비저닝은 디렉터리와 앱을 두 방향으로 실제 상황에 맞게 유지합니다.

<Tabs>
  <Tab title="인바운드(Iru로)">
    사용자는 신뢰할 수 있는 정보 소스에서 디렉터리로 들어옵니다.

    ```mermaid theme={null}
    flowchart LR
      hr["HR 시스템"] -->|"예약된 동기화"| dir["Directory"]
      file["사용자 가져오기"] -->|"업로드 시"| dir
      manual["수동 입력"] --> dir
      dir -->|"속성이 구동"| groups["그룹 멤버십"]
    ```

    연결된 HR 시스템은 일정에 따라 사용자를 동기화하고, 파일 가져오기는 한 번에 일괄로
    가져오며, 언제든지 사용자를 직접 추가할 수 있습니다. 프로필이 도착하면
    [Auto Groups](/ko/identity/directory/auto-groups)가 멤버십을 자동으로 업데이트합니다.
  </Tab>

  <Tab title="아웃바운드(앱으로)">
    액세스 변경 사항이 연결된 애플리케이션으로 전달됩니다.

    ```mermaid theme={null}
    flowchart LR
      dir["Directory"] -->|"할당된 액세스"| prov["프로비저닝"]
      prov -->|"생성 또는 업데이트"| app["앱 계정"]
      prov -->|"오프보딩 시 제거"| app
    ```

    프로비저닝을 지원하는 앱에 누군가를 할당하면 Iru가 해당 앱에서 계정을 생성하고
    업데이트합니다. 액세스가 제거되면 Iru가 계정을 제거할 수 있습니다. Iru는 이러한 동기화
    기록을 보관하므로 무슨 일이 있었는지 확인할 수 있습니다.
    [프로비저닝](/ko/identity/applications/provisioning)을 참조하세요.
  </Tab>
</Tabs>

## Iru Access

**Iru Access**는 사용자가 컴퓨터나 모바일 기기에 설치하는 Iru 앱입니다. 동시에 두 가지 역할을
합니다.

* **인증기:** 사용자가 로그인하는 데 사용하는 기기 바인딩 패스키 스타일 자격 증명을 보관하며,
  기기의 생체 인식 또는 화면 잠금으로 잠금 해제됩니다.
* **기기 에이전트:** 기기의 상태 신호를 Iru에 보고하며,
  [Device Trust](/ko/identity/authentication/device-trust) 정책에서 이를 요구할 수 있습니다.

두 가지 역할을 모두 하므로 단일 앱으로 사용자에게는 빠르고 피싱 방지가 되는 로그인을, 관리자에게는
액세스 결정을 위한 기기 상태를 제공하며, 별도의 에이전트를 배포할 필요가 없습니다.

## Device Trust 신호

각 기기의 Iru Access 에이전트는 기기 상태(예: 기기가 암호화되어 있고 정상인지 여부)를 Iru에
보고하며, 인증 정책에서 이를 사용할 수 있습니다. 그러면 정책에서 액세스를 허용하기 전에 알려진
정상 기기를 요구할 수 있습니다.
[Device Trust](/ko/identity/authentication/device-trust)를 참조하세요.

## 테넌트를 보호하는 보장

인증은 항상 신뢰할 수 있어야 합니다. Iru가 이를 보호하기 위해 수행하는 작업은 다음과 같습니다.

<CardGroup cols={2}>
  <Card title="테넌트 격리" icon="box">
    디렉터리, 앱 및 설정은 자체 테넌트에 있습니다. 한 조직의 데이터는 다른 조직에 절대
    표시되지 않습니다.
  </Card>

  <Card title="검증 가능한 로그인" icon="signature">
    Iru가 앱에 보내는 ID 명세는 서명되어 있으므로 각 앱은 해당 명세가 실제로 Iru에서 왔으며
    전송 중에 변경되지 않았음을 확인할 수 있습니다.
  </Card>

  <Card title="보호된 자격 증명" icon="lock">
    패스키와 같은 인증기는 로그인에 필요한 비밀 정보를 사용하는 앱과 공유할 필요가 없도록
    저장되고 검증됩니다.
  </Card>

  <Card title="모든 곳에서 암호화" icon="shield">
    정보는 사용자, Iru 및 앱 간에 전송되는 동안과 저장되는 동안 보호됩니다.
  </Card>
</CardGroup>

자격 증명과 세션이 보호되는 방식, 그리고 데이터 및 개인정보 보호에 대한 고려 사항은
[보안 및 개인정보 보호](/ko/identity/security/security-and-privacy)를 참조하세요.

## 다음 단계

<CardGroup cols={2}>
  <Card title="주요 개념" icon="book" href="/ko/identity/getting-started/key-concepts">
    위에서 언급한 객체와 그 관계를 검토합니다.
  </Card>

  <Card title="페더레이션 인증" icon="plug" href="/ko/identity/connections/connections-overview">
    사용자가 이미 로그인에 사용하는 ID 공급자를 연결합니다.
  </Card>

  <Card title="인증 정책" icon="shield-halved" href="/ko/identity/authentication/authentication-policies">
    각 앱에 누가 로그인할 수 있고 무엇을 증명해야 하는지 결정합니다.
  </Card>

  <Card title="애플리케이션" icon="grip" href="/ko/identity/applications/applications-overview">
    사용자가 로그인하는 앱을 연결합니다.
  </Card>
</CardGroup>
