OIDC¶
이 문서에서는 Guance 워크스페이스에서 OIDC/OAuth 2.0 프로토콜 기반 싱글 사인 온(SSO)을 구성하는 방법을 설명합니다.
Guance는 두 가지 OIDC 구성 방식을 지원합니다.
표준 OIDC 구성: OpenID Connect 표준을 준수하는 ID 공급자(IdP)에 적합
비표준 OIDC 구성: OAuth 2.0 기반이지만 인터페이스 사양에 차이가 있는 ID 공급자에 적합
사전 준비¶
구성을 시작하기 전에 다음 항목이 준비되었는지 확인하십시오.
| 준비 항목 | 설명 |
|---|---|
| IdP 관리자 권한 | 기업 ID 공급자(예: Keycloak, Authing, Auth0, 자체 구축 OIDC 서비스 등)에서 애플리케이션을 생성해야 함 |
| 클라이언트 자격 증명 | IdP에서 획득한 Client ID 및 Client Secret |
| 서비스 탐색 주소 | IdP의 Issuer URL(예: https://****.example.com) |
| 기업 이메일 도메인 | SSO 사용자를 식별하기 위한 이메일 접미사(예: example.com) |
표준 OIDC 구성¶
1단계: 구성 페이지 이동¶
- 관리 > 멤버 관리 > SSO 관리 > 사용자 SSO로 이동합니다.
- OIDC 액세스 유형을 선택합니다.
- ID 공급자 추가를 클릭합니다.
2단계: 연결 구성¶
- ID 공급자 이름: ID 관리 서비스를 제공하는 플랫폼의 이름입니다. (❗️이 이름은 IdP 별칭으로 사용되며 SSO 로그인 IdP 선택 화면에 표시됩니다. 원하는 IdP를 빠르게 찾으려면 적절한 이름을 입력하십시오.)
- 비고: ID 공급자에 대한 설명을 기록하기 위해 사용자가 직접 추가할 수 있는 설명 정보입니다.
- ID 공급자 URL: ID 공급자의 전체 URL이자 서비스 탐색 주소입니다. (예: https://guance.example.com)
- 클라이언트 ID: 인증 서비스에서 제공하는 고유 식별자로, 클라이언트 애플리케이션을 식별하는 데 사용됩니다.
- 클라이언트 시크릿: 클라이언트 ID와 함께 사용되어 클라이언트 애플리케이션을 인증합니다.
- 권한 부여 요청 Scope: 권한 부여 요청의 범위입니다. 기본적으로
openid,profile,email이 포함되며 필요에 따라address및phone클레임을 추가할 수 있습니다.
3단계: 매핑 구성¶
SSO 로그인을 구현하려면 ID 공급자의 계정 정보를 Guance 계정 정보에 필드 매핑해야 합니다. 주요 필드는 다음과 같습니다.
- 사용자 이름: 필수 항목입니다. ID 공급자의 "사용자 이름" 필드(예:
referred_username)입니다. - 이메일: 필수 항목입니다. ID 공급자의 "이메일" 필드(예:
email)입니다. - 전화번호: 선택 항목입니다. ID 공급자의 "전화번호" 필드(예:
phone)입니다.
4단계: 로그인 제어¶
- 액세스 제한: 로그인 이메일의 도메인 접미사가 구성된 도메인과 일치하는지 확인합니다. 일치하는 이메일만 SSO 로그인 링크에 액세스할 수 있습니다. 사용자가 처음 로그인할 때 Guance 멤버 계정이 동적으로 생성되며, 워크스페이스 내에서 미리 생성할 필요가 없습니다.
- 역할 권한 부여: 처음 로그인하는 SSO 계정에 역할을 할당합니다. 처음 로그인이 아닌 계정은 영향을 받지 않습니다.
- 워크스페이스 내에서 SAML 매핑이 활성화된 경우 매핑 규칙에 따라 역할이 우선 할당됩니다.
- 세션 유지: SSO 로그인 세션의 비활성 유지 시간과 최대 유지 시간을 설정합니다.
세션 유지 구성¶
| 구성 항목 | 범위 | 기본값 | 설명 |
|---|---|---|---|
| 비활성 로그인 세션 유지 시간 | 180~1440분 | 180분 | 사용자 활동이 없을 때 자동 로그아웃되는 시간 |
| 로그인 세션 최대 유지 시간 | 0~7일 | 7일 | 활동 여부와 관계없이 이 시간이 지나면 강제 로그아웃됩니다. 0은 만료되지 않음을 의미합니다. |
세션 유지 시간을 변경하면 이미 로그인한 멤버는 기존 설정을 유지하고, 새로 로그인하는 멤버부터 최신 설정이 적용됩니다.
역할 권한 부여와 역할 매핑의 관계¶
- 워크스페이스에서 OIDC 역할 매핑이 비활성화된 경우: 처음 로그인하는 모든 SSO 사용자는 여기서 구성된 기본 역할을 부여받습니다.
- 워크스페이스에서 OIDC 역할 매핑이 활성화된 경우: 매핑 규칙에 따라 역할이 우선 할당되며, 규칙과 일치하지 않는 사용자는 여기서 구성된 기본 역할을 부여받습니다.
사용자 측 OIDC 구성 관련 주의 사항¶
- 권한 부여 모드:
authorization_code권한 부여 모드만 지원합니다. 반환 유형은code여야 합니다. id_token서명 알고리즘: 현재HS256만 지원합니다.code를token으로 교환하는 인증 방식:- 기본 지원:
client_secret_basic - 사용자 정의 방식 지원:
client_secret_post,client_secret_basic,none scope범위:- 기본 범위:
openid,profile,email,phone - 사용자 정의 요구 사항:
openid는 반드시 포함해야 하며, 다른 항목은 사용자 정의할 수 있지만 반환 결과에는email이 반드시 포함되어야 합니다.phone_number는 선택적으로 반환할 수 있습니다.
5단계: 콜백 URL 획득¶
ID 공급자 생성이 완료되면 편집 버튼을 클릭하여 다음 URL을 획득하고 IdP에 제공합니다.
- 콜백 URL: IdP 인증 성공 후 Guance로 리디렉션되는 주소입니다.
- 로그인 시작 URL: Guance SSO 로그인 진입 주소입니다.
6단계: IdP에서 콜백 주소 구성¶
5단계에서 획득한 콜백 URL을 사용하여 IdP에서 다음 구성을 완료합니다.
- 콜백 주소(Redirect URI): Guance에서 제공하는 콜백 URL을 입력합니다.
- 권한 부여 모드:
authorization_code를 지원하는지 확인합니다. - 반환 유형:
code를 지원하는지 확인합니다.
비표준 OIDC 구성¶
OAuth 2.0 기반이지만 표준 OIDC 사양을 준수하지 않는 ID 공급자에 적합하며, 일반적으로 다음과 같은 시나리오에서 발생합니다.
- IdP가 표준 OIDC 탐색 엔드포인트(
.well-known/openid-configuration)를 제공하지 않는 경우 - 사용자 정보를 가져오는 인터페이스 경로 또는 반환 형식이 표준 OIDC와 다른 경우
- 인터페이스 매개변수의 대소문자 스타일이 표준과 일치하지 않는 경우
구성 단계¶
- 관리 > 멤버 관리 > SSO 관리 > OIDC > ID 공급자 생성으로 이동합니다.
- 오른쪽 상단에서 전환하여 표준 OIDC 구성 페이지로 이동할 수 있습니다.
- 연결 구성:
- ID 공급자 이름: 사용자 정의 표시 이름(64자 제한)
- 프로필 파일 업로드: 템플릿을 다운로드하고 인증 엔드포인트, 토큰 엔드포인트, 사용자 정보 엔드포인트, 필드 매핑 등의 정보를 입력한 후 업로드합니다.
- 비고: ID 공급자에 대한 설명을 기록하기 위해 사용자가 직접 추가할 수 있는 설명 정보입니다.
- 로그인 구성: 표준 OIDC와 동일하게 구성합니다(액세스 제한, 역할 권한 부여, 세션 유지).
- 저장 및 활성화합니다.
로그인 확인¶
- 이메일 로그인으로 Guance SSO 페이지(https://auth.guance.com/login/sso)에 접속합니다.
- SSO 생성 시 구성한 이메일 주소를 입력하고 로그인할 워크스페이스가 속한 IDP를 선택합니다.
- 인증 성공 후 워크스페이스 선택 화면으로 이동합니다.
- 해당 주소로 로그인합니다.
- 사용자 이름, 비밀번호 등을 입력합니다.
- 로그인에 성공합니다.
주의 사항¶
- 역할 매핑이 활성화된 경우: 사용자가 어떤 역할 매핑 규칙과도 일치하지 않거나 역할 매핑이 비활성화된 경우 로그인 시 "액세스 권한 없음"이 표시됩니다.
- ID 공급자 삭제 후: 사용자가 SSO로 로그인할 때 삭제된 IdP에 해당하는 워크스페이스를 볼 수 없습니다.
- 다중 IdP 구성: 단일 워크스페이스는 최대 10개의 IdP를 지원하며, 사용자 이메일 도메인이 IdP 중 하나와 일치하면 로그인할 수 있습니다.
- 계정 연결: SSO 첫 로그인 시 이메일이 기존 Guance 계정과 일치하면 자동으로 연결되고 이전 데이터가 유지됩니다.
- 매핑 필드 오류: 구성된 매핑 필드가 IdP에서 실제로 반환하는 필드와 일치하지 않으면 사용자 정보를 가져올 수 없어 로그인에 실패합니다.
더 읽어보기¶
다음 내용에 관심이 있을 수 있습니다.

