본문으로 건너뛰기
중급
8분

SSO와 계정 프로비저닝 이해하기

OIDC 기반 SSO 로그인과 IdP 사용자·그룹 동기화, 자동화용 OIDC 클라이언트의 운영 방식을 알아봅니다.

이 튜토리얼을 마치면

  • D.Hub의 OIDC 로그인 흐름과 IdP 연동 방식을 설명할 수 있습니다.
  • 로컬 사용자, IdP 사용자, 자동화용 OIDC 클라이언트의 차이를 구분할 수 있습니다.
  • 사용자와 그룹의 동기화 방향, 그룹별 멤버 관리 조건 및 시크릿 관리 원칙을 확인할 수 있습니다.

한 줄 요약: D.Hub의 SSO는 OIDC를 사용합니다. ID 제공자(IdP, Identity Provider)는 조직 계정의 신원을 확인하는 외부 시스템입니다. 사용자와 그룹 등록·동기화는 IdP 정보를 가져오며, 쓰기 가능한 IdP에서는 D.Hub에서 SSO 그룹 멤버도 관리할 수 있습니다. 자동화에는 별도의 OIDC 클라이언트를 사용합니다.

1. 인증과 권한 구분하기

D.Hub는 사용자의 신원을 확인하는 인증과 자원에서 수행할 수 있는 작업을 결정하는 권한을 구분합니다. 이 튜토리얼에서는 인증과 계정 동기화를 다룹니다. 권한과 정책은 D.Hub 권한 모델 한눈에 보기를 참고하세요.

화면 진입본 튜토리얼 범위
인증 (로그인)로그인 화면. 상위 IdP 연결은 배포 환경에서 구성
사용자·그룹 신원사이드바 설정 → 사용자 / 그룹
자원 권한자원의 공유 및 권한— (별도 튜토리얼)

2. SSO 로그인 흐름

SSO가 배포 환경에 연결돼 있으면 로그인 화면에 SSO 로그인 버튼이 표시됩니다. 이 버튼을 선택하면 연결된 IdP 로그인 화면으로 이동하며, 인증이 끝나면 D.Hub 세션이 시작됩니다. 버튼이 없다면 포털에서 직접 추가할 수 있는 항목이 아니므로 배포 관리자에게 IdP 연결 상태를 확인하세요.

다이어그램을 불러오는 중입니다. Mermaid 원본:

sequenceDiagram
    accTitle: D.Hub SSO 로그인 흐름
    accDescr: 사용자가 D.Hub에서 SSO 로그인을 시작하고 IdP 인증을 거쳐 D.Hub 세션을 받는 여섯 단계 흐름입니다.
    actor User as 사용자
    participant Hub as D.Hub
    participant IdP as 인증 제공자
    User->>Hub: SSO 로그인 선택
    Hub->>IdP: 로그인 요청으로 리디렉트
    IdP-->>User: IdP 로그인 화면 표시
    User->>IdP: 자격 증명 입력
    IdP-->>Hub: 인증 결과 반환
    Hub-->>User: D.Hub 세션 시작

SSO를 운영할 때는 다음 내용을 기억하세요.

  • OIDC 표준 사용: Keycloak, Microsoft Entra ID, Zitadel처럼 OIDC를 지원하는 IdP를 연결할 수 있습니다. 로그인 버튼은 제공자와 관계없이 SSO 로그인으로 표시됩니다. 현재 연결된 IdP는 사용자·그룹 화면의 등록 버튼에 마우스를 올리거나 보조 기술로 접근했을 때 제공되는 이름에서 확인합니다.
  • 비밀번호를 저장하지 않음: SSO 사용자의 비밀번호는 D.Hub에 저장되지 않습니다. 이름과 이메일 같은 기본 프로필도 IdP에서 관리합니다.
  • 로컬 계정과 함께 사용: SSO를 설정해도 로컬 계정은 유지됩니다. IdP 장애 시 사용할 수 있도록 비상용 로컬 관리자 계정을 준비하세요.

3. 로컬 사용자와 IdP 사용자 등록하기

관리자 계정으로 사이드바 설정 → 사용자를 엽니다. 화면 오른쪽 위에서 생성을 선택하면 로컬 사용자를 만드는 사용자 만들기 창이 열립니다. 등록은 연결된 IdP의 사용자를 등록하며, Azure AD 사용자 등록처럼 제공자 이름이 포함된 전체 이름은 마우스를 올리거나 보조 기술로 접근했을 때 확인할 수 있습니다.

신원 종류만드는 화면비밀번호 관리프로필 수정
로컬 사용자생성사용자 만들기D.Hub에서 관리(관리자가 초기화 가능)D.Hub에서 수정
SSO(IdP) 사용자등록IdP에서 관리(D.Hub에 저장하지 않음)IdP에서 수정, 이름·이메일 잠금
설정의 사용자 화면 위에 이름, 이메일, 비밀번호, 유형, 그룹을 입력하는 로컬 사용자 만들기 창이 열린 한국어 포털 전체 화면
설정 → 사용자 오른쪽 위의 생성으로 연 로컬 사용자 만들기 창입니다.

등록 후 관리자가 부여하는 D.Hub 내부 속성:

  • 유형(역할)관리자 / 매니저 / 사용자 중 하나를 고릅니다. 관리 화면 접근 권한을 결정합니다.
  • 그룹 — 한 사용자가 여러 그룹에 동시에 소속됩니다. 권한을 부여하는 단위입니다.
  • 활성/비활성

참고사항:

  • 로컬 사용자 비밀번호는 최소 8자입니다. 현재 사용자 만들기 창에는 이 규칙을 설명하는 도움말이 표시되지 않으므로 이 튜토리얼의 기준을 먼저 확인하고 입력하세요. 관리자가 비밀번호 초기화를 할 수 있지만 본인 계정에는 적용할 수 없습니다.
  • SSO 사용자의 프로필 동기화는 자동 갱신을 기다리는 작업이 아닙니다. 관리자가 설정 → 사용자 목록에서 해당 SSO 사용자 행의 오른쪽 작업 메뉴를 열고 동기화를 선택하면 IdP의 현재 이름·이메일·활성 상태를 다시 가져옵니다. IdP에서 삭제된 사용자에게는 안내가 표시됩니다.
  • 사용자 비활성화와 삭제는 영향이 다릅니다. 비활성화는 D.Hub 로그인을 막되 계정 기록을 유지합니다. 삭제는 D.Hub 계정을 제거하며, 쓰기 가능한 IdP 연결에서는 외부 계정에 미치는 범위가 달라질 수 있으므로 사용자 관리 매뉴얼을 확인한 뒤 실행하세요.
설정의 사용자 목록에서 Azure AD 사용자의 작업 메뉴를 열고 동기화 항목을 강조한 한국어 포털 화면
SSO 사용자의 행 오른쪽 작업 메뉴에서 동기화를 수동으로 실행합니다.

4. 그룹과 멤버 관리하기

같은 관리자 세션에서 사이드바 설정 → 그룹을 엽니다. 화면 오른쪽 위에서 생성을 선택하면 로컬 그룹을 만드는 그룹 만들기 창이 열립니다. 등록은 연결된 IdP 그룹을 등록하며, Azure AD 그룹 등록처럼 제공자 이름이 포함된 전체 이름은 마우스를 올리거나 보조 기술로 접근했을 때 확인할 수 있습니다.

  • 로컬 그룹생성을 선택해 그룹 만들기 창에서 만듭니다. 로컬 사용자와 등록된 SSO 사용자 모두 멤버로 추가할 수 있습니다.
  • SSO(IdP) 그룹등록으로 가져오고 동기화로 갱신합니다. SSO 사용자만 멤버로 추가할 수 있습니다.
설정의 그룹 화면 위에 로컬 사용자와 OIDC 사용자를 모두 할당할 수 있다고 안내하는 그룹 만들기 창이 열린 한국어 포털 전체 화면
설정 → 그룹 오른쪽 위의 생성으로 연 그룹 만들기 창입니다.

그룹 행 오른쪽의 메뉴를 누르고 멤버 관리를 선택하면 현재 멤버를 확인할 수 있습니다. 멤버를 추가하거나 제거할 수 있는지는 그룹 종류와 IdP의 쓰기 지원 여부에 따라 달라집니다.

그룹추가할 수 있는 사용자D.Hub에서 멤버 편집
로컬 그룹로컬 사용자, SSO 사용자가능
SSO 그룹 + 쓰기 가능한 IdPSSO 사용자가능. 변경 사항을 IdP에 반영합니다.
SSO 그룹 + 읽기 전용 IdPSSO 사용자불가능. 멤버 목록만 확인하고 IdP에서 변경한 뒤 동기화합니다.

Keycloak처럼 관리 API를 지원하는 IdP는 D.Hub가 쓰기 가능한 제공자로 표시될 수 있습니다. Microsoft Entra ID처럼 현재 연결이 읽기 전용이면 멤버 관리 화면에 안내가 표시되고 추가·제거 버튼이 나타나지 않습니다. 실제 지원 여부는 배포 환경의 IdP 설정에 따라 결정됩니다.

그룹에 자원 권한을 부여하면 구성원이 바뀔 때 각 사용자의 권한도 자동으로 반영됩니다.

5. 자동화용 OIDC 클라이언트

자동화 스크립트나 외부 시스템에서 사용자 로그인 없이 D.Hub API를 호출하려면 OIDC 클라이언트를 발급합니다.

사이드바 설정 → OIDC 클라이언트를 열고 화면 오른쪽 위의 등록을 선택합니다. 자세한 필드와 시크릿 교체 절차는 OIDC 클라이언트 등록하고 관리하기에서 확인할 수 있습니다.

한국어 포털의 OIDC 클라이언트 등록 화면에서 Confidential 유형과 클라이언트 자격 증명 Grant 타입을 강조한 화면
자동화용 클라이언트에서는 Confidential 유형과 클라이언트 자격 증명 Grant 타입을 검토합니다.

OIDC 클라이언트를 운영할 때는 다음 원칙을 지키세요.

  • 시크릿은 한 번만 표시: 생성하거나 교체한 시크릿은 다시 확인할 수 없습니다. 화면에 표시되면 즉시 사내 보안 저장소에 보관하세요.
  • 시스템별 클라이언트 분리: 하나의 클라이언트를 여러 자동화에서 공유하지 말고 시스템마다 별도로 발급하세요.
  • 시크릿 보관: 스크립트와 커넥터에서 사용할 자격증명은 사이드바 데이터 → 시크릿 (/settings/secrets)에 저장합니다.
  • 시크릿 교체 및 회수: 시크릿이 노출되었거나 담당자가 퇴사하거나 시스템을 폐기할 때는 시크릿을 교체하거나 클라이언트를 삭제합니다.

6. SSO 도입 전 확인 사항

다음 항목을 보안팀 및 법무팀과 함께 확인하세요.

  • 표준 — OIDC를 사용하고 현재 IdP(예: Keycloak / Entra ID / Zitadel)를 확정합니다.
  • 로그인 경로 — 로컬 / SSO 운영 방식과 비상용 로컬 계정 명단을 정합니다.
  • 프로비저닝 방향 — 사용자·그룹 등록과 동기화는 IdP → D.Hub입니다. 쓰기 가능한 IdP를 사용한다면 D.Hub의 SSO 그룹 멤버 변경이 IdP에 반영되는 범위도 확인합니다.
  • 사용자 유형 — 관리자와 매니저를 맡을 사용자를 정합니다. 관리자는 사용자, 그룹, 인증, 시스템 설정에 접근하고 매니저는 운영 자산을 등록·관리합니다.
  • 그룹 관리4. 그룹과 멤버 관리하기의 표를 기준으로 운영 방식을 정합니다. 로컬 그룹은 로컬·SSO 사용자를 모두 받고, SSO 그룹은 SSO 사용자만 받습니다. 쓰기 가능한 IdP에서는 D.Hub의 멤버 변경이 IdP에 반영되고, 읽기 전용 IdP에서는 IdP에서 변경한 뒤 동기화합니다.
  • 자동화 인증 — OIDC 클라이언트 발급과 시크릿 교체 절차, 보안 저장소에 보관하는 방법을 정합니다.
  • 계정 회수 — 비활성은 로그인을 막고 기록을 유지하며, 삭제는 D.Hub 계정을 제거합니다. 외부 계정 영향까지 포함해 사용자 관리 매뉴얼의 비활성화·삭제 절차를 기준으로 사내 정책을 확정합니다.

다음 단계