개요
시놀로지는 다 좋고 편한데 회원 가입을 능동적으로 처리하는 기능이 없습니다. 기본 기능만을 사용할 경우, 관리자가 계정을 생성하고 사용자가 최초 로그인 시 무조건 비밀번호를 변경하도록 구성하는 것 정도가 최선이죠.
왜냐하면, 계정 컨트롤은 시놀로지 DSM이 수행해야 할 본연의 기능이고, 외부 클라이언트는 '인증'정도만 거들어주게 되어있기 때문입니다.
그런데, AD/LDAP의 경우에는, DSM을 클라이언트로 가입시키면, 해당 서비스에 있는 계정이 자동적으로 연동됩니다. 이를 이용해서 관리자의 특별한 행동이 없어도, 이용자가 자동적으로 시놀로지 계정을 얻을 수 있도록 구성할 수 있습니다.
Authentik 구성하기
Authentik 회원 가입 구성
먼저, 기본적으로 Authentik에서 이용자가 스스로 계정을 생성할 수 있도록 환경을 만들어 주어야 합니다. 이를 위한 선택지에는, 외부 OpenID 소스를 연동(구글 등)하거나, 비밀번호 규칙을 설정한 뒤 회원 가입 스테이지를 열어주는 등의 방법이 있습니다.
해당 내용은 이전에 작성한 글의 링크로 대신하겠습니다.
2025.01.23 - [Apps] - Authentik으로 홈서버 SSO 구현하기 (6) – 회원 가입, 초대 코드, 소셜 로그인
Authentik으로 홈서버 SSO 구현하기 (6) – 회원 가입, 초대 코드, 소셜 로그인
개요Authentik의 Provider를 이용해 많은 서비스를 연동하는 것까진 완료했지만, 아직 회원을 받는 기능은 없습니다.주변 지인들에게 계정을 발급할 때, 하나하나 생성해 주어야 하는 귀찮은 점은 아
worklazy.net
LDAP 구성
Authentik의 계정 정보를 DSM에서 연동하기 위해서는 Authentik의 LDAP가 필수적으로 구성되어야 합니다.
LDAP를 구성하고, 시놀로지 DSM과 연동하는 방법 역시 기존 글의 링크로 대신하겠습니다.
Authentik은 LDAP 정보를 넘겨줄 때 uuid값을 넘겨주기 때문에, 클라이언트 측에선 계정ID가 해쉬값으로 넘어오는 단점이 있습니다.
따라서 아래 링크글의 내용대로 맵핑 시 uid=cn으로 매핑해주는 과정이 꼭 필요합니다.
2025.01.23 - [Apps] - Authentik으로 홈서버 SSO 구현하기 (2) – LDAP
Authentik으로 홈서버 SSO 구현하기 (2) – LDAP
2025년 1월 6일 변경사항 : LDAP Provider 변경된 버전에 맞춰 내용 수정 LDAP 구성하기실생활에서 LDAP를 제일 쉽게 접할 수 있는 곳은 회사입니다. 로그인, 네트워크 장치 정보 등을 중앙에 모아놓고
worklazy.net
OIDC 구성
이 예제글에서는 DSM에 연결할 도메인을 dsm.example.com으로 사용하겠습니다.
제일 먼저 OAuth2/OpenID Provider를 생성합니다.
- 이름 : 자유
- 인가 플로우 : default-provider-authorization-implict-consent
- 클라이언트 유형 : 기밀
- Redirect URIs/Origins : (Regex)https://dsm.example.com/#/signin
- 서명 키 : 자체 인증서
- Subject 모드 : 사용자의 사용자이름 기반



구성을 마친 후에 애플리케이션도 하나 생성해 줍니다.
여기까지 구성을 완료했다면, 다음 과정은 DSM에서 진행하게 됩니다.
Synology DSM 구성하기
LDAP링크글을 따라 시놀로지에서 LDAP연동까지 완료했다면, 제어판 → LDAP/도메인 → SSO 클라이언트를 순차적으로 클릭합니다.
그리고 OpenID Connect SSO 서비스 활성화를 클릭합니다.
그리고 아래와 같이 입력합니다.
- 프로파일 : OIDC
- 계정 유형 : 도메인/LDAP/로컬
- 이름 : Authentik
- Well-known URL : https://{authentik도메인}/application/o/{slug}/.well-known/openid-configuration
(Authentik 공급자에서 확인 가능) - 응용 프로그램 ID : 클라이언트 ID
- 응용 프로그램 비밀 : 클라이언트 기밀
- 리디렉션 URI : https://dsm.example.com/#/signin
- 권한 부여 범위 : openid email profile
- 사용자 이름 클레임 : sub(또는 preferred_username)
여기까지 입력을 완료했다면 저장 클릭 후 로그아웃을 해봅니다.
그러면 새로운 SSO인증 창이 나타나게 되고, 화살표를 클릭해보면 2~3초의 시간이 경과된 후 팝업창이 나타나 Authentik 로그인을 요구합니다.


로그인 수행 결과, 시놀로지에서 생성한 적 없는 계정이어도 LDAP를 통해 연동된 계정이기 때문에, 문제 없이 로그인됩니다.
LDAP를 통해 생성된 계정의 초기권한을 조절하여 어플리케이션, 공유 폴더 등에 대한 접근권한을 설정해두면 유용하게 사용할 수 있게 됩니다.
문제 해결(Trouble-Shooting)
Synology Drive등 DSM 어플 로그인 불가 문제
시놀로지 어플리케이션에 대해 별도의 subdomain을 연동하고(예를 들어 Synology Drive와 https://dsmdrive.example.com을 연동), Authentik을 이용해 로그인하려 하면 아래처럼 에러메세지가 출력됩니다.
Redirect URI를 여러 개 구성하면 해결될 문제로 보이지만, 실제로 여러 개 구성시 가장 최근에 구성된 URI를 따라가기 때문에, 기존에 설정한 어플리케이션에서 문제가 발생하게 됩니다.
위와 같은 에러를 해결하기 위해 로그인 포털에서 subdirectory를 지정한 뒤, 외부 도메인을 이용해서 구성할 수 있습니다.
아래 스크린샷을 예로 들면, https://dsm.example.com/drive로 접속하여 SSO를 수행할 수 있게 됩니다.
관련 글
2025.01.23 - [Apps] - Authentik으로 홈서버 SSO 구현하기 (1) – 설치
Authentik으로 홈서버 SSO 구현하기 (1) – 설치
개요여러가지 도커 이미지를 이용해 셀프 호스팅으로 서비스를 올려보고 사용해보는 재미에 빠지다 보면 만나는 문제가 한 가지 있습니다. 바로 서비스에 접속할 때마다 일일히 로그인을 해야
worklazy.net
2025.01.23 - [Apps] - Authentik으로 홈서버 SSO 구현하기 (2) – LDAP
Authentik으로 홈서버 SSO 구현하기 (2) – LDAP
2025년 1월 6일 변경사항 : LDAP Provider 변경된 버전에 맞춰 내용 수정 LDAP 구성하기실생활에서 LDAP를 제일 쉽게 접할 수 있는 곳은 회사입니다. 로그인, 네트워크 장치 정보 등을 중앙에 모아놓고
worklazy.net
2025.01.23 - [Apps] - Authentik으로 홈서버 SSO 구현하기 (3) – OAuth/OpenID
Authentik으로 홈서버 SSO 구현하기 (3) – OAuth/OpenID
개요LDAP는 있으면 좋지만, 이것만으로는 번거로운 로그인 과정을 전부 해결할 수는 없습니다.이번 글에서는 OAuth / OpenID Provider를 설정하는 방법을 적어 보겠습니다.LDAP가 조직 내부 네트워크 인
worklazy.net
2025.01.23 - [Apps] - Authentik으로 홈서버 SSO 구현하기 (4) – SAML
Authentik으로 홈서버 SSO 구현하기 (4) – SAML
개요SAML은 JWT기반이었던 OAuth/OpenID와 달리 XML을 기반으로 하며 각각 장단점이 있습니다. OAuth/OpenID와 비교할 때 모바일 지원이 부족하고, JWT보다 덩치가 큰 XML을 이용함에서 오는 네트워크 대역
worklazy.net
2025.01.23 - [Apps] - Authentik으로 홈서버 SSO 구현하기 (5) - Proxy
Authentik으로 홈서버 SSO 구현하기 (5) - Proxy
개요홈서버에서 사용하는 대부분의 애플리케이션들은 앞선 글에서 소개했던 OAuth/OpenID, SAML로 모두 해결할 수 있습니다.그러나, 이런 류의 인증방식을 지원하지 않는 것들도 굉장히 많죠. 예를
worklazy.net
2025.01.23 - [Apps] - Authentik으로 홈서버 SSO 구현하기 (6) – 회원 가입, 초대 코드, 소셜 로그인
Authentik으로 홈서버 SSO 구현하기 (6) – 회원 가입, 초대 코드, 소셜 로그인
개요Authentik의 Provider를 이용해 많은 서비스를 연동하는 것까진 완료했지만, 아직 회원을 받는 기능은 없습니다.주변 지인들에게 계정을 발급할 때, 하나하나 생성해 주어야 하는 귀찮은 점은 아
worklazy.net