사용자 정의 프로젝트 역할
n8n v2.29사용자 정의 역할은 Self-hosted Enterprise 및 Cloud Enterprise 플랜에서 사용할 수 있습니다. 제공 시작 버전: n8n 버전 1.122.0 (2025년 11월 24일 릴리즈) 시크릿 볼트 범위(scope)는 n8n 버전 2.13.0부터 제공됩니다.
기능 제공 여부
사용자 정의 역할은 Self-hosted Enterprise 및 Cloud Enterprise 플랜에서 사용할 수 있습니다. 플랜에 대한 자세한 내용은 n8n의 가격 정책 페이지를 참고하세요.
제공 시작 버전: n8n 버전 1.122.0 (2025년 11월 24일 릴리즈)
시크릿 볼트 범위(scope)는 n8n 버전 2.13.0부터 제공됩니다.
사용자 정의 프로젝트 역할과 사용자 정의 인스턴스 역할
n8n은 두 가지 수준에서 사용자 정의 역할을 지원합니다:
- 사용자 정의 프로젝트 역할 (이 페이지): 특정 프로젝트 내에서 세분화된 권한을 정의합니다. 워크플로, 자격 증명, 기타 프로젝트 리소스에 대한 접근 권한을 맞춤 설정하는 데 유용합니다.
- 사용자 정의 인스턴스 역할 (사용자 정의 인스턴스 역할 만들기): 사용자 관리, 태그, API 키 관리 등 전체 n8n 인스턴스에 적용되는 권한을 정의합니다.
사용자 정의 프로젝트 역할을 사용하면 팀의 요구 사항에 맞는 특정 권한을 가진 역할을 만들 수 있습니다. 내장 프로젝트 역할(관리자, 편집자, 뷰어)과 달리, 사용자 정의 역할을 사용하면 워크플로, 자격 증명, 기타 프로젝트 리소스에 대한 세분화된 접근 권한을 정의할 수 있습니다.
사용자 정의 역할 만들기#
인스턴스 소유자와 인스턴스 관리자는 사용자 정의 역할을 만들 수 있습니다.
사용자 정의 역할을 만들려면:
- Settings > Roles > Project roles로 이동합니다.
- Create role을 선택합니다.
- 역할 이름과 선택적으로 설명을 입력합니다.
- 이 역할에 대한 권한(범위)을 선택합니다:
- 워크플로 권한: 워크플로에 대한 보기, 실행, 편집, 생성, 게시, 이전, 삭제, 또는 데이터 편집(redaction) 관리
- 자격 증명 권한: 자격 증명에 대한 보기, 편집, 생성, 공유, 공유 해제, 이전, 삭제
- 프로젝트 권한: 프로젝트 보기, 편집, 삭제
- 폴더 권한: 폴더에 대한 보기, 편집, 생성, 이전, 삭제
- 실행 권한: 편집(redaction)된 실행 데이터 표시
- 시크릿 볼트 권한: 프로젝트의 시크릿 볼트에 대한 보기, 생성, 편집, 삭제, 동기화
- 시크릿 권한: 자격 증명에서 시크릿 사용
- 데이터 테이블 권한: 테이블 보기, 행 보기, 테이블 편집, 행 편집, 생성, 테이블 삭제
- 프로젝트 변수 권한: 프로젝트 변수에 대한 보기, 편집, 생성, 삭제
- 소스 컨트롤: 소스 컨트롤에 푸시
- Create role을 선택합니다.
사용자에게 사용자 정의 역할 할당하기#
프로젝트 관리자는 프로젝트 구성원에게 사용자 정의 역할을 할당할 수 있습니다. 사용자 정의 역할은 할당된 특정 프로젝트 내에서만 적용됩니다. 사용자는 프로젝트마다 다른 역할을 가질 수 있습니다.
사용자 정의 역할을 할당하려면:
- 프로젝트를 선택합니다.
- Project settings를 선택합니다.
- Project members에서 사용자를 찾아보거나 검색합니다.
- 사용자를 선택하고 드롭다운에서 사용자 정의 역할을 선택합니다.
- Save를 선택합니다.
프로젝트 수준 권한
사용자 정의 역할 권한은 해당 역할이 사용되는 프로젝트 내에서만 적용됩니다. 여러 프로젝트에 동일한 권한을 부여하려면 각 프로젝트에 사용자 정의 역할을 개별적으로 할당해야 합니다.
사용자 정의 역할 편집하기#
기존 사용자 정의 역할을 업데이트하려면:
- Settings > Roles > Project roles로 이동합니다.
- 편집하려는 사용자 정의 역할을 찾습니다.
- 점 3개 메뉴 > Edit를 선택합니다.
- 역할 이름, 설명, 또는 권한을 업데이트합니다.
- Save changes를 선택합니다.
편집은 할당된 모든 사용자에게 영향을 미칩니다
사용자 정의 역할에 대한 변경 사항은 해당 역할을 가진 모든 프로젝트의 모든 사용자에게 적용됩니다. 역할이 여러 프로젝트에서 사용되고 있다면, 권한 변경 사항은 해당 역할이 할당된 모든 곳에 적용됩니다.
사용자 정의 역할 복제하기#
기존 역할을 기반으로 새 역할을 만들려면:
- Settings > Roles > Project roles로 이동합니다.
- 복제하려는 역할을 찾습니다.
- 점 3개 메뉴 > Duplicate를 선택합니다.
- 필요에 따라 역할 이름과 권한을 업데이트합니다.
- Create role을 선택합니다.
사용자 정의 역할 삭제하기#
사용자 정의 역할을 삭제하려면:
- Settings > Roles > Project roles로 이동합니다.
- 삭제하려는 역할을 찾습니다.
- 점 3개 메뉴 > Delete를 선택합니다.
- 삭제를 확인합니다.
삭제 전 사용자 재할당
사용자가 이 역할에 할당되어 있는 경우, 역할을 삭제하기 전에 먼저 사용자를 다른 역할로 재할당해야 합니다.
권한 범위 참조#
사용자 정의 역할은 권한 범위(scope)를 사용하여 프로젝트 내에서 사용자가 수행할 수 있는 작업을 정의합니다. 아래의 각 범위는 Project roles 편집기의 체크박스에 대응합니다. 섹션 제목은 편집기의 섹션 이름과 일치하며, 범위 코드는 API 응답과 감사 로그에서 볼 수 있는 값입니다.
자동으로 부여되는 범위
n8n은 일부 범위를 함께 짝지어 별도의 체크박스로 표시되지 않도록 합니다:
<resource>:read를 부여하면 해당 리소스의 일치하는 목록 범위도 함께 부여됩니다(예:workflow:read는workflow:list를 부여함).workflow:publish를 부여하면workflow:unpublish도 함께 부여됩니다.
워크플로 범위#
workflow:create- 새 워크플로 생성workflow:read- 워크플로 세부 정보 보기workflow:update- 워크플로 편집workflow:execute- 워크플로 실행workflow:publish- 워크플로 게시(workflow:unpublish도 함께 부여됨)workflow:delete- 워크플로 삭제workflow:move- 프로젝트 간 워크플로 이전workflow:enableRedaction- 워크플로에 대한 데이터 편집(redaction) 켜기(실행 데이터 편집 참고)workflow:disableRedaction- 워크플로에 대한 데이터 편집(redaction) 끄기(실행 데이터 편집 참고)
자격 증명 범위#
credential:create- 새 자격 증명 생성credential:read- 자격 증명 세부 정보 보기credential:update- 자격 증명 편집credential:delete- 자격 증명 삭제credential:move- 프로젝트 간 자격 증명 이전credential:share- 다른 사용자와 자격 증명 공유credential:unshare- 자격 증명 공유 해제
프로젝트 범위#
project:read- 프로젝트 세부 정보 보기project:update- 프로젝트 설정 편집project:delete- 프로젝트 삭제
폴더 범위#
folder:create- 새 폴더 생성folder:read- 폴더 내용 보기folder:update- 폴더 이름 변경folder:delete- 폴더 삭제folder:move- 폴더 이전
실행 범위#
execution:reveal- 편집(redaction)된 실행 데이터 표시(실행 데이터 편집 참고)
시크릿 볼트 범위#
범위 코드는 externalSecretsProvider 접두사를 사용합니다. 역할 편집기에서는 이 섹션을 Secrets vaults로 표시합니다.
externalSecretsProvider:create- 프로젝트에서 새 시크릿 볼트 생성externalSecretsProvider:read- 프로젝트의 시크릿 볼트 보기externalSecretsProvider:update- 시크릿 볼트 구성 편집externalSecretsProvider:delete- 프로젝트에서 시크릿 볼트 삭제externalSecretsProvider:sync- 볼트의 시크릿 다시 불러오기
시크릿 범위#
범위 코드는 externalSecret 접두사를 사용합니다. 역할 편집기에서는 이 섹션을 Secrets로 표시합니다.
externalSecret:list- 자격 증명에서 시크릿 사용
데이터 테이블 범위#
dataTable:create- 새 데이터 테이블 생성dataTable:read- 데이터 테이블 스키마 보기dataTable:update- 데이터 테이블 스키마 편집dataTable:delete- 데이터 테이블 삭제dataTable:readRow- 데이터 테이블에서 행 읽기dataTable:writeRow- 데이터 테이블에 행 삽입 또는 업데이트
프로젝트 변수 범위#
projectVariable:create- 새 변수 생성projectVariable:read- 변수 값 보기projectVariable:update- 변수 값 편집projectVariable:delete- 변수 삭제
소스 컨트롤 범위#
sourceControl:push- 소스 컨트롤에 변경 사항 푸시
일반적인 사용자 정의 역할 예시#
다음은 일반적인 사용 사례를 위해 만들 수 있는 사용자 정의 프로젝트 역할의 예시입니다. 이러한 역할은 전체 n8n 인스턴스가 아니라 개별 프로젝트 내에 적용된다는 점을 기억하세요.
워크플로 개발자#
워크플로만 다루는 사용자를 위한 역할:
workflow:create,workflow:read,workflow:update,workflow:execute,workflow:deletecredential:read(자격 증명을 보지만 편집하지는 않음)project:read
자격 증명 관리자#
자격 증명을 관리하는 사용자를 위한 역할:
credential:create,credential:read,credential:update,credential:delete,credential:shareworkflow:read(자격 증명 사용 현황을 파악하기 위해 워크플로 보기)project:read
시크릿 사용자#
볼트를 관리하지는 않지만 자격 증명에서 외부 시크릿을 사용하는 사용자를 위한 역할:
externalSecret:list(자격 증명 표현식에서 시크릿 사용)credential:create,credential:read,credential:update(시크릿을 사용하는 자격 증명 관리)workflow:readproject:read
워크플로 게시자#
완전한 편집 권한 없이 워크플로를 게시할 수 있는 사용자를 위한 역할:
workflow:read,workflow:publishcredential:readproject:read
범위 조합하기
특정 요구 사항에 맞는 역할을 만들기 위해 어떤 범위든 조합할 수 있습니다. 최소 권한 원칙을 고려하세요: 사용자가 작업을 수행하는 데 필요한 권한만 부여합니다.