Azure AD SAML 설정
이 문서는 Azure AD가 SAML 속성을 통해 역할 정보를 n8n으로 전송하도록 구성하는 방법을 안내합니다. Enterprise Applications에 대한 접근 권한이 있는 Azure AD 계정과 n8n SAML 설정의 리디렉트 URL 및 엔티티 ID가 필요합니다.
이 문서는 Azure AD가 SAML 속성을 통해 역할 정보를 n8n으로 전송하도록 구성하는 방법을 안내합니다. 이를 통해 Azure AD 그룹 멤버십을 기반으로 역할을 자동으로 배정할 수 있습니다.
사전 요구 사항#
Enterprise Applications에 대한 접근 권한이 있는 Azure AD 계정과 n8n SAML 설정의 리디렉트 URL 및 엔티티 ID가 필요합니다.
먼저 SAML 설정 가이드를 읽어보세요.
n8n이 요구하는 사항#
n8n은 SAML 어설션에 사용자 정의 SAML 속성이 포함되어 있어야 합니다:
| 속성 이름 | 데이터 유형 | 목적 |
|---|---|---|
| n8n_instance_role | String | n8n에서 사용자의 전역 역할을 제어 |
n8n_instance_role의 유효한 값:
| 값 | 설명 |
|---|---|
global:owner |
인스턴스 전체 소유자 권한 |
global:admin |
관리자 권한 |
global:member |
일반 멤버 권한 (지정하지 않은 경우 기본값) |
global:chatUser |
Chat Hub 인터페이스를 통해 AI 에이전트와 안전하게 상호작용하도록 설계된 제한적인 비기술 역할 |
설정#
1단계: 표준 SAML 속성 구성
-
Azure AD 포털에서 n8n Enterprise Application으로 이동합니다.
-
Single sign-on > Attributes & Claims로 이동합니다.
-
다음 표준 속성이 구성되어 있는지 확인합니다:
클레임 이름 소스 속성 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressuser.mail http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstnameuser.givenname http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lastnameuser.surname http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upnuser.userprincipalname
2단계: n8n_instance_role 클레임 추가
이 클레임은 Azure AD 그룹 멤버십에 따라 서로 다른 역할 값을 내보내기 위해 조건부 로직을 사용합니다.
-
Attributes & Claims에서 Add new claim을 클릭합니다.
-
기본 설정을 구성합니다:
- Name:
n8n_instance_role - Namespace: 비워 둡니다
- Source:
Attribute
- Name:
-
Claim conditions를 펼치고 Add condition을 클릭합니다.
-
각 Azure AD 그룹에 대한 조건을 추가합니다 (우선순위 순서로):
사용자 유형 범위 그룹 소스 값 Members n8n-chatusers Attribute global:chatUserMembers n8n-users Attribute global:memberMembers n8n-admins Attribute global:adminMembers n8n-owners Attribute global:owner
조건은 순서대로 평가됩니다. 가장 높은 권한의 그룹(owners)을 마지막에 배치하세요.
- Save를 클릭합니다.
구성 테스트#
- n8n에서 Settings > SSO로 이동합니다.
- Role assignment를 Instance roles via SSO로 설정합니다.
- Role mapping method를 Map rules on your IdP로 설정합니다.
- Test settings를 클릭합니다.
- SAML 응답에 올바른
n8n_instance_role값이 표시되는지 확인합니다.
문제 해결#
SAML 응답에 클레임이 표시되지 않는 경우
- 사용자가 구성된 그룹 중 하나 이상에 속해 있는지 확인합니다.
- 그룹이 Enterprise Application에 할당되어 있는지 확인합니다.
- 조건의 소스가
Attribute로 구성되어 있는지 확인합니다. - 'SAML Chrome Panel'과 같은 브라우저 확장 플러그인을 사용하여 애플리케이션 SAML 응답을 확인하세요.
사용자에게 잘못된 역할이 배정되는 경우
- 조건 순서를 확인합니다 (가장 높은 권한의 그룹이 마지막에 있어야 합니다).
