InfoGrab Docs

SAML 설정

요약

UI 대신 환경 변수로 SAML을 구성할 수도 있습니다. n8n은 POST 바인딩을 지원하지 않습니다. IdP 구성 단계는 선택한 IdP에 따라 다릅니다. n8n은 SSO를 통해 인스턴스 역할과 프로젝트 역할 프로비저닝을 지원합니다.

기능 제공 범위
  • Business 및 Enterprise 플랜에서 사용 가능합니다.
  • SAML을 활성화하고 구성하려면 인스턴스 소유자 또는 관리자여야 합니다.
환경 변수를 사용한 구성

UI 대신 환경 변수로 SAML을 구성할 수도 있습니다. n8n v2.18.0부터 사용 가능합니다. SSO 환경 변수를 참조하세요.

SAML 활성화#

  1. n8n에서 Settings > SSO로 이동합니다.
  2. n8n의 Redirect URLEntity ID를 메모합니다.
    • 선택사항: IdP에서 가져온 메타데이터로 SAML을 설정할 수 있다면 Entity ID URL로 이동하여 XML을 저장합니다.
    • 선택사항: 로드 밸런서 뒤에서 n8n을 실행하는 경우 N8N_EDITOR_BASE_URL이 구성되어 있는지 확인합니다.
  3. 신원 제공자(IdP)에서 SAML을 설정합니다. Redirect URLEntity ID가 필요합니다. IdP 사용자를 위한 이메일 주소와 이름도 필요할 수 있습니다.
  4. IdP에서 설정을 완료한 후 메타데이터 XML을 n8n에 로드합니다. 메타데이터 URL 또는 원시 XML을 사용할 수 있습니다:
    • Metadata URL: IdP의 메타데이터 URL을 n8n의 Identity Provider Settings 필드에 복사합니다.
    • Raw XML: IdP에서 메타데이터 XML을 다운로드하고, Identity Provider SettingsXML로 전환한 후 원시 XML을 Identity Provider Settings에 복사합니다.
  5. Save settings를 선택합니다.
  6. Test settings를 선택하여 SAML 설정이 작동하는지 확인합니다.
  7. SAML 2.0을 Activated로 설정합니다.
SAML 요청 유형

n8n은 POST 바인딩을 지원하지 않습니다. 대신 HTTP 요청 바인딩을 사용하도록 IdP를 구성하세요.

일반 IdP 설정#

IdP 구성 단계는 선택한 IdP에 따라 다릅니다. 다음은 일반적인 설정 작업입니다:

  • IdP에서 n8n용 앱을 만듭니다.
  • n8n 속성을 IdP 속성에 매핑합니다:
값 (IdP 측) Name format Name
User email URI Reference http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
User First Name URI Reference http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname
User Last Name URI Reference http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lastname
User Email URI Reference http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn

인스턴스 및 프로젝트 접근 프로비저닝#

n8n은 SSO를 통해 인스턴스 역할과 프로젝트 역할 프로비저닝을 지원합니다. 사용자가 SAML을 통해 로그인하면 n8n은 SAML 응답의 속성을 기반으로 인스턴스 역할과 프로젝트 접근을 자동으로 할당할 수 있습니다.

역할 프로비저닝은 버전 1.122.2에서 도입되었습니다.

역할 할당 방법 선택#

n8n에서 Settings > SSO로 이동합니다. Role assignment 드롭다운을 사용하여 n8n이 SSO를 통해 로그인하는 사용자에게 역할을 할당하는 방법을 선택합니다. 기본값은 Assigned manually in n8n입니다.

옵션:

  • Assigned manually in n8n: 관리자가 n8n에서 직접 모든 역할을 할당합니다. IdP에서 자동 매핑이 없습니다.
  • Instance roles via SSO: n8n이 로그인 시 IdP에서 사용자의 인스턴스 역할을 읽습니다. 프로젝트 접근은 여전히 n8n에서 수동으로 관리됩니다.
  • Instance and project roles via SSO: n8n이 로그인 시 IdP에서 인스턴스 역할과 프로젝트 접근 모두를 읽습니다.

역할은 모든 로그인 시 재평가되므로 IdP에서의 변경 사항은 사용자의 다음 로그인 시 적용됩니다.

기존 접근이 덮어쓰여집니다

SSO 프로비저닝 모드 중 하나를 활성화하면, IdP 응답에 반영되지 않은 n8n 내에서 부여된 접근 권한이 다음 로그인 시 사용자에게서 제거됩니다.

이 변경 사항을 저장하기 전에 n8n은 현재 접근 설정을 포함하는 두 개의 CSV 파일을 다운로드하도록 요청합니다. 참조용으로 보관하세요.

역할 매핑 방법 선택#

Role assignmentInstance roles via SSO 또는 Instance and project roles via SSO로 설정되면 Role mapping method 드롭다운이 나타납니다. 다음 중 선택할 수 있습니다:

  • Map rules on your IdP: n8n이 SAML 응답에서 n8n 특정 속성(n8n_instance_rolen8n_projects)을 직접 읽습니다. IdP 관리자가 각 사용자 또는 그룹이 받아야 할 n8n 역할 또는 프로젝트를 구성합니다.
  • Map rules inside n8n: n8n에서 사용자의 SAML 속성을 평가하고 역할을 반환하는 표현식을 정의합니다. IdP가 n8n 특정 역할 로직을 인코딩할 수 없거나 IT 거버넌스로 인해 IdP 측 변경이 느린 경우 사용합니다.

IdP에서 규칙 매핑#

IdP의 그룹 또는 개별 사용자에 다음 속성을 구성합니다:

값 (IdP 측) 데이터 유형 Name
n8n_instance_role string n8n_instance_role
n8n_projects array n8n_projects

n8n_instance_role 속성 구성

n8n_instance_role은 IdP의 그룹 또는 사용자에 대해 구성된 문자열입니다. 값이 설정되지 않은 경우 n8n은 global:member로 폴백합니다.

지원되는 인스턴스 역할:

  • global:member
  • global:admin
  • global:chatUser

n8n_projects 속성 구성

n8n_projects는 IdP의 그룹 또는 사용자에 대해 구성된 문자열 배열입니다. 각 요소는 <project-id>:<role> 형식을 따라야 합니다.

예시:

  • bHsykgeFirmIhezz:viewer
  • 4K3zrg3DvlMFFTB7:editor
  • dCjnYuEpYOUBVaNe:admin

프로젝트 프로비저닝 활성화 시 기존 접근의 경우 다운로드한 CSV 파일에서 프로젝트 ID를 찾습니다.

새 프로젝트의 경우 브라우저에서 프로젝트를 볼 때 URL에서 프로젝트 ID를 가져옵니다. URL <your-domain>/projects/VVRWZaq5DRxaf9O1/workflows에서 프로젝트 ID는 VVRWZaq5DRxaf9O1입니다.

n8n 내에서 규칙 매핑#

n8n 내에서 규칙 매핑은 버전 2.19.0 이상부터 사용 가능합니다.

IdP 대신 n8n 내에서 그룹-역할 매핑을 정의하려면 이 옵션을 사용합니다. 각 규칙은 n8n이 IdP 응답의 SAML 속성에 대해 평가하는 표현식입니다.

표현식 작동 방식

  • 표현식은 $claims 객체를 통해 IdP 응답의 모든 SAML 속성에 접근합니다.
  • 표현식이 true를 반환하면 해당 규칙에서 선택한 역할이 할당됩니다.
  • 규칙은 위에서 아래로 평가됩니다. 첫 번째 일치 규칙이 적용됩니다.
  • 규칙은 모든 로그인 시 재평가되므로 역할 변경 사항은 사용자의 다음 세션에서 적용됩니다.
  • $claims는 원시 SAML 속성을 노출합니다. n8n은 이를 정규화하지 않으므로 IdP가 실제로 전송하는 구조에 맞게 표현식을 작성하세요. SAML 그룹 멤버십은 일반적으로 다중 값 속성으로 전달되지만 정확한 형태는 IdP에 따라 다릅니다.
SAML 응답 구조 확인

IdP마다 그룹 및 기타 속성을 다르게 직렬화합니다. 규칙을 작성하기 전에 SAML Chrome Panel(또는 IdP의 테스트 도구)과 같은 브라우저 도구를 사용하여 SAML 응답을 검사하고 속성 이름과 구조를 확인하세요.

인스턴스 역할 규칙

Instance role rules 아래에서 Add rule을 선택하여 규칙을 만듭니다. 조건 표현식을 입력하고 조건이 true를 반환할 때 할당할 인스턴스 역할을 선택합니다.

예를 들어 IdP admin 그룹의 모든 사용자에게 Admin 역할을 할당하려면:

{{ $claims.groups.includes('admin') }}

Default condition 행은 어떤 규칙도 일치하지 않을 때 사용자가 받는 역할을 설정합니다. 기본값은 Member입니다.

프로젝트 역할 규칙

Project role rules 아래에서 Add rule을 선택하여 하나 이상의 프로젝트에서 프로젝트 역할을 할당하는 규칙을 만듭니다.

예를 들어 operations 그룹의 사용자에게 Operations 프로젝트에서 Project Editor 역할을 부여하려면 표현식을 다음과 같이 설정합니다:

{{ $claims.groups.includes('operations') }}

assign 필드에서 역할을 선택하고 in 필드에서 대상 프로젝트를 선택합니다. 어떤 프로젝트 규칙과도 일치하지 않는 사용자는 프로젝트 접근 권한을 갖지 않습니다.

수동 역할 관리 비활성화됨

n8n 내에서 규칙 매핑이 활성화되면 수동으로 사용자 역할을 할당하는 UI 컨트롤이 비활성화됩니다. 모든 역할 할당은 매핑 규칙을 통해 처리됩니다.

매핑 방법 전환

n8n 내에서 규칙 매핑에서 IdP에서 규칙 매핑으로 다시 전환하면 n8n 내 매핑이 모두 제거됩니다. IdP에 동등한 매핑이 설정되지 않으면 사용자는 다음 로그인 시 현재 할당된 역할을 잃을 수 있습니다. n8n은 이 변경을 적용하기 전에 확인을 요청합니다.

일반적인 IdP를 위한 설정 리소스#

일반적인 IdP의 문서 링크입니다.

IdP 문서
Auth0 Configure Auth0 as SAML Identity Provider: Manually configure SSO integrations
Authentik ApplicationsSAML Provider
Azure AD SAML authentication with Azure Active Directory
JumpCloud How to setup SAML (SSO) applications with JumpCloud (Zoom을 예시로 사용)
Keycloak 호스팅 방식에 따라 Getting Started 가이드를 선택합니다.
Okta n8n은 Workforce Identity 설정 가이드단계별 PDF 가이드를 제공합니다
PingIdentity PingOne SSO

SAML 설정

원문 보기
요약

UI 대신 환경 변수로 SAML을 구성할 수도 있습니다. n8n은 POST 바인딩을 지원하지 않습니다. IdP 구성 단계는 선택한 IdP에 따라 다릅니다. n8n은 SSO를 통해 인스턴스 역할과 프로젝트 역할 프로비저닝을 지원합니다.

기능 제공 범위
  • Business 및 Enterprise 플랜에서 사용 가능합니다.
  • SAML을 활성화하고 구성하려면 인스턴스 소유자 또는 관리자여야 합니다.
환경 변수를 사용한 구성

UI 대신 환경 변수로 SAML을 구성할 수도 있습니다. n8n v2.18.0부터 사용 가능합니다. SSO 환경 변수를 참조하세요.

SAML 활성화#

  1. n8n에서 Settings > SSO로 이동합니다.
  2. n8n의 Redirect URLEntity ID를 메모합니다.
    • 선택사항: IdP에서 가져온 메타데이터로 SAML을 설정할 수 있다면 Entity ID URL로 이동하여 XML을 저장합니다.
    • 선택사항: 로드 밸런서 뒤에서 n8n을 실행하는 경우 N8N_EDITOR_BASE_URL이 구성되어 있는지 확인합니다.
  3. 신원 제공자(IdP)에서 SAML을 설정합니다. Redirect URLEntity ID가 필요합니다. IdP 사용자를 위한 이메일 주소와 이름도 필요할 수 있습니다.
  4. IdP에서 설정을 완료한 후 메타데이터 XML을 n8n에 로드합니다. 메타데이터 URL 또는 원시 XML을 사용할 수 있습니다:
    • Metadata URL: IdP의 메타데이터 URL을 n8n의 Identity Provider Settings 필드에 복사합니다.
    • Raw XML: IdP에서 메타데이터 XML을 다운로드하고, Identity Provider SettingsXML로 전환한 후 원시 XML을 Identity Provider Settings에 복사합니다.
  5. Save settings를 선택합니다.
  6. Test settings를 선택하여 SAML 설정이 작동하는지 확인합니다.
  7. SAML 2.0을 Activated로 설정합니다.
SAML 요청 유형

n8n은 POST 바인딩을 지원하지 않습니다. 대신 HTTP 요청 바인딩을 사용하도록 IdP를 구성하세요.

일반 IdP 설정#

IdP 구성 단계는 선택한 IdP에 따라 다릅니다. 다음은 일반적인 설정 작업입니다:

  • IdP에서 n8n용 앱을 만듭니다.
  • n8n 속성을 IdP 속성에 매핑합니다:
값 (IdP 측) Name format Name
User email URI Reference http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
User First Name URI Reference http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname
User Last Name URI Reference http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lastname
User Email URI Reference http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn

인스턴스 및 프로젝트 접근 프로비저닝#

n8n은 SSO를 통해 인스턴스 역할과 프로젝트 역할 프로비저닝을 지원합니다. 사용자가 SAML을 통해 로그인하면 n8n은 SAML 응답의 속성을 기반으로 인스턴스 역할과 프로젝트 접근을 자동으로 할당할 수 있습니다.

역할 프로비저닝은 버전 1.122.2에서 도입되었습니다.

역할 할당 방법 선택#

n8n에서 Settings > SSO로 이동합니다. Role assignment 드롭다운을 사용하여 n8n이 SSO를 통해 로그인하는 사용자에게 역할을 할당하는 방법을 선택합니다. 기본값은 Assigned manually in n8n입니다.

옵션:

  • Assigned manually in n8n: 관리자가 n8n에서 직접 모든 역할을 할당합니다. IdP에서 자동 매핑이 없습니다.
  • Instance roles via SSO: n8n이 로그인 시 IdP에서 사용자의 인스턴스 역할을 읽습니다. 프로젝트 접근은 여전히 n8n에서 수동으로 관리됩니다.
  • Instance and project roles via SSO: n8n이 로그인 시 IdP에서 인스턴스 역할과 프로젝트 접근 모두를 읽습니다.

역할은 모든 로그인 시 재평가되므로 IdP에서의 변경 사항은 사용자의 다음 로그인 시 적용됩니다.

기존 접근이 덮어쓰여집니다

SSO 프로비저닝 모드 중 하나를 활성화하면, IdP 응답에 반영되지 않은 n8n 내에서 부여된 접근 권한이 다음 로그인 시 사용자에게서 제거됩니다.

이 변경 사항을 저장하기 전에 n8n은 현재 접근 설정을 포함하는 두 개의 CSV 파일을 다운로드하도록 요청합니다. 참조용으로 보관하세요.

역할 매핑 방법 선택#

Role assignmentInstance roles via SSO 또는 Instance and project roles via SSO로 설정되면 Role mapping method 드롭다운이 나타납니다. 다음 중 선택할 수 있습니다:

  • Map rules on your IdP: n8n이 SAML 응답에서 n8n 특정 속성(n8n_instance_rolen8n_projects)을 직접 읽습니다. IdP 관리자가 각 사용자 또는 그룹이 받아야 할 n8n 역할 또는 프로젝트를 구성합니다.
  • Map rules inside n8n: n8n에서 사용자의 SAML 속성을 평가하고 역할을 반환하는 표현식을 정의합니다. IdP가 n8n 특정 역할 로직을 인코딩할 수 없거나 IT 거버넌스로 인해 IdP 측 변경이 느린 경우 사용합니다.

IdP에서 규칙 매핑#

IdP의 그룹 또는 개별 사용자에 다음 속성을 구성합니다:

값 (IdP 측) 데이터 유형 Name
n8n_instance_role string n8n_instance_role
n8n_projects array n8n_projects

n8n_instance_role 속성 구성

n8n_instance_role은 IdP의 그룹 또는 사용자에 대해 구성된 문자열입니다. 값이 설정되지 않은 경우 n8n은 global:member로 폴백합니다.

지원되는 인스턴스 역할:

  • global:member
  • global:admin
  • global:chatUser

n8n_projects 속성 구성

n8n_projects는 IdP의 그룹 또는 사용자에 대해 구성된 문자열 배열입니다. 각 요소는 <project-id>:<role> 형식을 따라야 합니다.

예시:

  • bHsykgeFirmIhezz:viewer
  • 4K3zrg3DvlMFFTB7:editor
  • dCjnYuEpYOUBVaNe:admin

프로젝트 프로비저닝 활성화 시 기존 접근의 경우 다운로드한 CSV 파일에서 프로젝트 ID를 찾습니다.

새 프로젝트의 경우 브라우저에서 프로젝트를 볼 때 URL에서 프로젝트 ID를 가져옵니다. URL <your-domain>/projects/VVRWZaq5DRxaf9O1/workflows에서 프로젝트 ID는 VVRWZaq5DRxaf9O1입니다.

n8n 내에서 규칙 매핑#

n8n 내에서 규칙 매핑은 버전 2.19.0 이상부터 사용 가능합니다.

IdP 대신 n8n 내에서 그룹-역할 매핑을 정의하려면 이 옵션을 사용합니다. 각 규칙은 n8n이 IdP 응답의 SAML 속성에 대해 평가하는 표현식입니다.

표현식 작동 방식

  • 표현식은 $claims 객체를 통해 IdP 응답의 모든 SAML 속성에 접근합니다.
  • 표현식이 true를 반환하면 해당 규칙에서 선택한 역할이 할당됩니다.
  • 규칙은 위에서 아래로 평가됩니다. 첫 번째 일치 규칙이 적용됩니다.
  • 규칙은 모든 로그인 시 재평가되므로 역할 변경 사항은 사용자의 다음 세션에서 적용됩니다.
  • $claims는 원시 SAML 속성을 노출합니다. n8n은 이를 정규화하지 않으므로 IdP가 실제로 전송하는 구조에 맞게 표현식을 작성하세요. SAML 그룹 멤버십은 일반적으로 다중 값 속성으로 전달되지만 정확한 형태는 IdP에 따라 다릅니다.
SAML 응답 구조 확인

IdP마다 그룹 및 기타 속성을 다르게 직렬화합니다. 규칙을 작성하기 전에 SAML Chrome Panel(또는 IdP의 테스트 도구)과 같은 브라우저 도구를 사용하여 SAML 응답을 검사하고 속성 이름과 구조를 확인하세요.

인스턴스 역할 규칙

Instance role rules 아래에서 Add rule을 선택하여 규칙을 만듭니다. 조건 표현식을 입력하고 조건이 true를 반환할 때 할당할 인스턴스 역할을 선택합니다.

예를 들어 IdP admin 그룹의 모든 사용자에게 Admin 역할을 할당하려면:

{{ $claims.groups.includes('admin') }}

Default condition 행은 어떤 규칙도 일치하지 않을 때 사용자가 받는 역할을 설정합니다. 기본값은 Member입니다.

프로젝트 역할 규칙

Project role rules 아래에서 Add rule을 선택하여 하나 이상의 프로젝트에서 프로젝트 역할을 할당하는 규칙을 만듭니다.

예를 들어 operations 그룹의 사용자에게 Operations 프로젝트에서 Project Editor 역할을 부여하려면 표현식을 다음과 같이 설정합니다:

{{ $claims.groups.includes('operations') }}

assign 필드에서 역할을 선택하고 in 필드에서 대상 프로젝트를 선택합니다. 어떤 프로젝트 규칙과도 일치하지 않는 사용자는 프로젝트 접근 권한을 갖지 않습니다.

수동 역할 관리 비활성화됨

n8n 내에서 규칙 매핑이 활성화되면 수동으로 사용자 역할을 할당하는 UI 컨트롤이 비활성화됩니다. 모든 역할 할당은 매핑 규칙을 통해 처리됩니다.

매핑 방법 전환

n8n 내에서 규칙 매핑에서 IdP에서 규칙 매핑으로 다시 전환하면 n8n 내 매핑이 모두 제거됩니다. IdP에 동등한 매핑이 설정되지 않으면 사용자는 다음 로그인 시 현재 할당된 역할을 잃을 수 있습니다. n8n은 이 변경을 적용하기 전에 확인을 요청합니다.

일반적인 IdP를 위한 설정 리소스#

일반적인 IdP의 문서 링크입니다.

IdP 문서
Auth0 Configure Auth0 as SAML Identity Provider: Manually configure SSO integrations
Authentik ApplicationsSAML Provider
Azure AD SAML authentication with Azure Active Directory
JumpCloud How to setup SAML (SSO) applications with JumpCloud (Zoom을 예시로 사용)
Keycloak 호스팅 방식에 따라 Getting Started 가이드를 선택합니다.
Okta n8n은 Workforce Identity 설정 가이드단계별 PDF 가이드를 제공합니다
PingIdentity PingOne SSO