InfoGrab DocsInfoGrab Docs

Azure AD SAML 설정

요약

이 문서는 SAML 속성을 통해 Azure AD가 역할 정보를 n8n으로 전송하도록 구성하는 방법을 설명합니다. Enterprise Applications에 접근할 수 있는 Azure AD 계정과 n8n의 SAML 설정에서 얻은 리디렉션 URL 및 엔터티 ID가 필요합니다.

이 문서는 SAML 속성을 통해 Azure AD가 역할 정보를 n8n으로 전송하도록 구성하는 방법을 설명합니다. 이를 통해 Azure AD 그룹 멤버십을 기반으로 자동 역할 할당이 가능합니다.

사전 요구 사항#

Enterprise Applications에 접근할 수 있는 Azure AD 계정과 n8n의 SAML 설정에서 얻은 리디렉션 URL 및 엔터티 ID가 필요합니다.

먼저 SAML 설정 가이드를 읽어보세요.

n8n에 필요한 사항#

n8n은 SAML assertion에 사용자 지정 SAML 속성이 포함되기를 기대합니다.

속성 이름(Attribute Name) 데이터 유형(Data Type) 목적(Purpose)
n8n_instance_role String n8n에서 사용자의 전역 역할을 제어합니다

n8n_instance_role의 유효한 값:

값(Value) 설명(Description)
global:owner 전체 인스턴스 소유자 접근 권한
global:admin 관리자 접근 권한
global:member 일반 멤버 접근 권한(지정하지 않은 경우 기본값)
global:chatUser Chat Hub 인터페이스를 통해 AI 에이전트와 안전하게 상호작용하도록 설계된, n8n의 제한적이고 비기술적인 역할

설정#

1단계: 표준 SAML 속성 구성

  1. Azure AD 포털에서 n8n Enterprise Application으로 이동합니다.

  2. Single sign-on > Attributes & Claims로 이동합니다.

  3. 다음 표준 속성이 구성되어 있는지 확인합니다.

    클레임 이름(Claim Name) 원본 속성(Source Attribute)
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress user.mail
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname user.givenname
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lastname user.surname
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn user.userprincipalname

2단계: n8n_instance_role 클레임 추가

이 클레임은 조건부 로직을 사용하여 Azure AD 그룹 멤버십에 따라 서로 다른 역할 값을 내보냅니다.

  1. Attributes & Claims에서 Add new claim을 클릭합니다.

  2. 기본 설정을 구성합니다.

    • Name: n8n_instance_role
    • Namespace: 비워 둡니다
    • Source: Attribute
  3. Claim conditions를 펼치고 Add condition을 클릭합니다.

  4. 각 Azure AD 그룹에 대해 조건을 추가합니다(우선순위 순서로).

    사용자 유형(User Type) 범위 지정 그룹(Scoped Groups) 원본(Source) 값(Value)
    Members n8n-chatusers Attribute global:chatUser
    Members n8n-users Attribute global:member
    Members n8n-admins Attribute global:admin
    Members n8n-owners Attribute global:owner
Note

조건 순서

조건은 순서대로 평가됩니다. 가장 권한이 높은 그룹(owners)을 맨 마지막에 배치하세요.

  1. Save를 클릭합니다.

구성 테스트#

  1. n8n에서 Settings > SSO로 이동합니다.
  2. Role assignmentInstance roles via SSO로 설정합니다.
  3. Role mapping methodMap rules on your IdP로 설정합니다.
  4. Test settings를 클릭합니다.
  5. SAML 응답에 올바른 n8n_instance_role 값이 표시되는지 확인합니다.

문제 해결#

SAML 응답에 클레임이 나타나지 않는 경우

  • 사용자가 구성된 그룹 중 최소 하나에 속해 있는지 확인합니다.
  • 그룹이 Enterprise Application에 할당되어 있는지 확인합니다.
  • 조건이 Attribute를 원본으로 하여 구성되어 있는지 확인합니다.
  • 'SAML Chrome Panel'과 같은 브라우저 확장 플러그인을 사용하여 애플리케이션의 SAML 응답을 확인합니다.

사용자가 잘못된 역할을 받는 경우

  • 조건 순서를 확인합니다(가장 권한이 높은 그룹이 마지막에 있어야 함).

그룹 기반 클레임 대신 앱 역할을 사용하여 여러 프로젝트 역할 할당하기#

사용자에게 여러 프로젝트 역할을 할당하기 위해 Azure AD 그룹 기반 클레임 조건을 사용하면, SAML assertion에서 첫 번째로 일치하는 그룹 클레임만 전송되는 경우가 많습니다. 즉, 사용자가 여러 그룹에 속해 있어도 하나의 프로젝트에만 접근할 수 있는 것으로 보일 수 있습니다.

여러 프로젝트에 각각의 역할을 안정적으로 할당하려면 그룹 기반 클레임 대신 App Registration에 정의된 App Roles를 사용하세요.

  1. n8n SAML 앱의 App Registration에서 각 프로젝트와 권한 조합을 나타내는 App Roles를 정의합니다(예: <projectId>:<role>).
  2. 업데이트된 App Manifest를 저장합니다.
  3. Enterprise Application에서 Users and groups 아래에 이러한 App Roles에 사용자 또는 그룹을 할당합니다.
  4. Single sign-on > Attributes & Claims에서 n8n_projects SAML 클레임을 user.assignedroles에서 가져오도록 업데이트합니다. 이렇게 하면 할당된 모든 역할이 배열 형태로 SAML 응답에 전송됩니다.

이 설정을 통해 n8n은 모든 프로젝트 할당 정보를 정확하게 수신하여 여러 프로젝트에 걸쳐 적절한 접근을 가능하게 합니다. App Roles를 정의하면 초기 관리 부담이 늘어나지만, 이후 사용자-역할 관리를 단순화하고 프로젝트 역할 동기화가 완전하게 이루어지도록 보장합니다.

그룹 기반 클레임에서 App Roles로 마이그레이션할 때는 프로젝트 접근이 불완전해지지 않도록 역할 정의와 클레임 매핑을 그에 맞게 조정하세요.

참고 자료#

Azure AD SAML 설정

n8n v2.29
원문 보기
요약

이 문서는 SAML 속성을 통해 Azure AD가 역할 정보를 n8n으로 전송하도록 구성하는 방법을 설명합니다. Enterprise Applications에 접근할 수 있는 Azure AD 계정과 n8n의 SAML 설정에서 얻은 리디렉션 URL 및 엔터티 ID가 필요합니다.

이 문서는 SAML 속성을 통해 Azure AD가 역할 정보를 n8n으로 전송하도록 구성하는 방법을 설명합니다. 이를 통해 Azure AD 그룹 멤버십을 기반으로 자동 역할 할당이 가능합니다.

사전 요구 사항#

Enterprise Applications에 접근할 수 있는 Azure AD 계정과 n8n의 SAML 설정에서 얻은 리디렉션 URL 및 엔터티 ID가 필요합니다.

먼저 SAML 설정 가이드를 읽어보세요.

n8n에 필요한 사항#

n8n은 SAML assertion에 사용자 지정 SAML 속성이 포함되기를 기대합니다.

속성 이름(Attribute Name) 데이터 유형(Data Type) 목적(Purpose)
n8n_instance_role String n8n에서 사용자의 전역 역할을 제어합니다

n8n_instance_role의 유효한 값:

값(Value) 설명(Description)
global:owner 전체 인스턴스 소유자 접근 권한
global:admin 관리자 접근 권한
global:member 일반 멤버 접근 권한(지정하지 않은 경우 기본값)
global:chatUser Chat Hub 인터페이스를 통해 AI 에이전트와 안전하게 상호작용하도록 설계된, n8n의 제한적이고 비기술적인 역할

설정#

1단계: 표준 SAML 속성 구성

  1. Azure AD 포털에서 n8n Enterprise Application으로 이동합니다.

  2. Single sign-on > Attributes & Claims로 이동합니다.

  3. 다음 표준 속성이 구성되어 있는지 확인합니다.

    클레임 이름(Claim Name) 원본 속성(Source Attribute)
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress user.mail
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname user.givenname
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lastname user.surname
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn user.userprincipalname

2단계: n8n_instance_role 클레임 추가

이 클레임은 조건부 로직을 사용하여 Azure AD 그룹 멤버십에 따라 서로 다른 역할 값을 내보냅니다.

  1. Attributes & Claims에서 Add new claim을 클릭합니다.

  2. 기본 설정을 구성합니다.

    • Name: n8n_instance_role
    • Namespace: 비워 둡니다
    • Source: Attribute
  3. Claim conditions를 펼치고 Add condition을 클릭합니다.

  4. 각 Azure AD 그룹에 대해 조건을 추가합니다(우선순위 순서로).

    사용자 유형(User Type) 범위 지정 그룹(Scoped Groups) 원본(Source) 값(Value)
    Members n8n-chatusers Attribute global:chatUser
    Members n8n-users Attribute global:member
    Members n8n-admins Attribute global:admin
    Members n8n-owners Attribute global:owner
Note

조건 순서

조건은 순서대로 평가됩니다. 가장 권한이 높은 그룹(owners)을 맨 마지막에 배치하세요.

  1. Save를 클릭합니다.

구성 테스트#

  1. n8n에서 Settings > SSO로 이동합니다.
  2. Role assignmentInstance roles via SSO로 설정합니다.
  3. Role mapping methodMap rules on your IdP로 설정합니다.
  4. Test settings를 클릭합니다.
  5. SAML 응답에 올바른 n8n_instance_role 값이 표시되는지 확인합니다.

문제 해결#

SAML 응답에 클레임이 나타나지 않는 경우

  • 사용자가 구성된 그룹 중 최소 하나에 속해 있는지 확인합니다.
  • 그룹이 Enterprise Application에 할당되어 있는지 확인합니다.
  • 조건이 Attribute를 원본으로 하여 구성되어 있는지 확인합니다.
  • 'SAML Chrome Panel'과 같은 브라우저 확장 플러그인을 사용하여 애플리케이션의 SAML 응답을 확인합니다.

사용자가 잘못된 역할을 받는 경우

  • 조건 순서를 확인합니다(가장 권한이 높은 그룹이 마지막에 있어야 함).

그룹 기반 클레임 대신 앱 역할을 사용하여 여러 프로젝트 역할 할당하기#

사용자에게 여러 프로젝트 역할을 할당하기 위해 Azure AD 그룹 기반 클레임 조건을 사용하면, SAML assertion에서 첫 번째로 일치하는 그룹 클레임만 전송되는 경우가 많습니다. 즉, 사용자가 여러 그룹에 속해 있어도 하나의 프로젝트에만 접근할 수 있는 것으로 보일 수 있습니다.

여러 프로젝트에 각각의 역할을 안정적으로 할당하려면 그룹 기반 클레임 대신 App Registration에 정의된 App Roles를 사용하세요.

  1. n8n SAML 앱의 App Registration에서 각 프로젝트와 권한 조합을 나타내는 App Roles를 정의합니다(예: <projectId>:<role>).
  2. 업데이트된 App Manifest를 저장합니다.
  3. Enterprise Application에서 Users and groups 아래에 이러한 App Roles에 사용자 또는 그룹을 할당합니다.
  4. Single sign-on > Attributes & Claims에서 n8n_projects SAML 클레임을 user.assignedroles에서 가져오도록 업데이트합니다. 이렇게 하면 할당된 모든 역할이 배열 형태로 SAML 응답에 전송됩니다.

이 설정을 통해 n8n은 모든 프로젝트 할당 정보를 정확하게 수신하여 여러 프로젝트에 걸쳐 적절한 접근을 가능하게 합니다. App Roles를 정의하면 초기 관리 부담이 늘어나지만, 이후 사용자-역할 관리를 단순화하고 프로젝트 역할 동기화가 완전하게 이루어지도록 보장합니다.

그룹 기반 클레임에서 App Roles로 마이그레이션할 때는 프로젝트 접근이 불완전해지지 않도록 역할 정의와 클레임 매핑을 그에 맞게 조정하세요.

참고 자료#