고급 권한
Mattermost Cloud 또는 Mattermost Server를 사용하는 Mattermost 시스템 관리자는 고급 권한을 사용하여 팀 생성, 채널 관리, 웹훅 구성 등 특정 작업을 수행할 수 있는 사용자를 사용자 정의할 수 있습니다.
Mattermost Cloud 또는 Mattermost Server를 사용하는 Mattermost 시스템 관리자는 고급 권한을 사용하여 팀 생성, 채널 관리, 웹훅 구성 등 특정 작업을 수행할 수 있는 사용자를 사용자 정의할 수 있습니다. Mattermost 권한 시스템은 수정된 RBAC(역할 기반 접근 제어) 아키텍처를 기반으로 하며, 역할을 사용하여 다양한 작업을 수행할 수 있는 사용자를 결정합니다.
Mattermost에서는 두 가지 권한 스킴이 제공됩니다:
* 시스템 스킴: 모든 팀 및 채널에 걸쳐 권한을 적용합니다.
* 팀 재정의 스킴: 관리자가 각 팀의 권한을 사용자 정의할 수 있도록 합니다.
이 문서는 스킴과 채널 설정 및 역할을 사용하여 Mattermost 사용자에게 부여할 수 있는 권한 유형을 설명합니다. 권한 백엔드 문서는 권한에 대한 추가 기술적 세부 사항을 제공합니다.
권한 구조#
Mattermost System Console은 관리자가 시스템의 권한을 제어하기 위한 여러 요소를 제공합니다.
시스템 스킴#
시스템 관리자, 팀 관리자, 채널 관리자, 게스트(활성화된 경우) 및 모든 멤버에게 부여된 기본 권한을 설정할 수 있습니다. 시스템 스킴에서 부여된 권한은 시스템 전체에 적용됩니다. 즉:
- 게스트: 게스트 계정이 활성화된 경우 모든 팀의 모든 채널에서 게스트 사용자에게 권한이 적용됩니다.
- 모든 멤버: 모든 팀의 모든 채널에서 관리자를 포함한 모든 멤버에게 권한이 적용됩니다.
- 채널 관리자: 모든 팀의 모든 채널에서 모든 채널 관리자에게 권한이 적용됩니다.
- 팀 관리자: 모든 팀에서 모든 팀 관리자에게 권한이 적용됩니다.
System Console > User Management > Permissions > System Scheme으로 이동하여 시스템 스킴 인터페이스에 액세스할 수 있습니다.

팀 재정의 스킴#
여러 Mattermost 팀이 있는 시스템에서 각 팀은 고유한 방식으로 운영하고 협업할 수 있습니다. 팀 재정의 스킴은 관리자에게 각 팀의 요구에 맞게 권한을 맞춤화할 수 있는 유연성을 제공합니다.
이 권한 스킴을 사용하는 경우:
- 팀 재정의 스킴에서 부여된 권한은 스킴에 할당된 팀에서만 적용됩니다.
- 시스템 스킴은 팀 재정의 스킴에 추가된 팀에는 적용되지 않습니다.
- 팀은 하나의 팀 재정의 스킴에만 속할 수 있습니다.

채널 권한#
채널 권한 인터페이스는 System Console > User Management > Channels에서 액세스할 수 있습니다.
고급 접근 제어#
사용 가능한 채널 접근 제어에 대한 자세한 내용은 팀 및 채널 관리 문서를 참조하세요.
레시피#
이 섹션은 팀 관리, 채널 관리 및 전반적인 권한에 대한 일반적인 권한 사용 사례의 몇 가지 예를 제공합니다.
팀 관리#
같은 팀 또는 채널에 있을 때만 서로를 볼 수 있도록 사용자 제한#
예시: 기밀 조직은 기밀 프로젝트에 Mattermost 팀을 사용하려고 합니다. 각 프로젝트에서 팀 멤버는 자신의 프로젝트 외부의 멤버에 대해 알 수 없으며, @멘션은 기밀 프로젝트 외부의 사람들의 이름을 공개해서는 안 됩니다.
mmctl permissions remove 명령을 사용하여 system_user 역할에서 view_member 권한을 취소합니다: mmctl permissions remove system_user view_member.
특정 팀에서 관리자만 멤버를 추가할 수 있도록 허용#
예시: 팀 A에서 시스템 및 팀 관리자만 새 팀 멤버를 추가할 수 있도록 합니다. 다른 모든 팀의 기본값으로 모든 사용자가 새 멤버를 추가하고 초대할 수 있도록 합니다.
- System Console > User Management > Permissions로 이동합니다.
- Edit Scheme을 선택합니다.
- All Members > Teams 패널에서 Add Team Members 체크박스를 선택합니다. 이것은 모든 팀의 시스템 기본값을 설정합니다.
- Save를 선택합니다.
- 뒤로 화살표를 선택하여 Permission Schemes 메뉴로 돌아갑니다.
- New Team Override Scheme을 선택합니다.
- Save를 선택합니다.
- 뒤로 화살표를 선택하여 Permission Schemes 메뉴로 돌아갑니다.
a. 스킴의 이름과 설명을 지정합니다. 예를 들어 Authorized Personnel Only에 설명 Restrict adding team members to Team and System Admins.를 입력합니다.
공개 및 비공개 채널 관리#
채널 이름 변경 및 편집 가능한 사용자 제한#
예시: 전체 시스템의 기본값으로 채널 이름 변경 및 헤더와 목적 편집을 관리자만 할 수 있도록 제한합니다.
- System Console > User Management > Permissions로 이동합니다.
- Edit Scheme을 선택합니다.
- All Members 패널에서 Manage Public Channels > Manage Channel Settings 체크박스를 선택 해제합니다.
이제 Manage Channel Settings 옵션은 채널 관리자, 팀 관리자 및 시스템 관리자에게만 사용할 수 있습니다.
특정 팀에서 채널을 생성할 수 있는 사용자 제한#
예시: 팀 C에서 공개 채널 생성을 관리자로 제한합니다. 다른 모든 팀의 기본값으로 모든 사람이 공개 채널을 생성할 수 있도록 합니다.
- System Console > User Management > Permissions로 이동합니다.
- Edit Scheme을 선택합니다.
- All Members 패널의 Manage Public Channels 메뉴에서 Create Channels 체크박스를 선택합니다. 이것은 모든 팀에서 공개 채널 생성을 허용하는 시스템 기본값을 설정합니다.
- Save를 선택합니다.
- 화살표를 선택하여 Permission Schemes 인터페이스로 돌아갑니다.
- New Team Override Scheme을 선택합니다.
a. 스킴의 이름과 설명을 지정합니다. 예를 들어 Contractor Scheme에 설명 Restrict public channel creation to Admins only를 입력합니다.
공개 채널을 비공개 채널로 변환#
누구나 공개 채널을 비공개 채널로 변환할 수 있도록 허용#
예시: 모든 멤버, 팀 관리자 및 채널 관리자가 공개 채널을 비공개로 변환할 수 있도록 기본 설정을 합니다.
- System Console > User Management > Permissions로 이동합니다.
- Edit Scheme을 선택합니다.
- All Members 패널에서 Manage Public Channels > Convert Channels 체크박스를 선택 해제합니다.
이 권한은 다른 모든 역할(게스트 역할 제외)에 적용됩니다. 이 권한이 모든 멤버에게 활성화되지 않은 경우 필요하다면 팀 관리자와 채널 관리자에게 수동으로 적용해야 합니다.
읽기 전용 채널#
멤버는 참여할 수 있지만 게스트는 읽기 및 반응만 가능#
- System Console > User Management > Channels로 이동합니다.
- 구성할 채널 이름 옆의 Edit를 선택합니다.
- Create Posts 패널에서 Guests를 선택 해제합니다.
- 필요한 경우 Post Reactions 패널에서 Guests를 선택 해제합니다.
- Save를 선택합니다.
채널은 모든 멤버와 게스트가 액세스할 수 있지만, 게스트는 메시지를 읽고 반응만 할 수 있습니다.
채널 관리자만 게시할 수 있는 공지 채널 만들기#
- 새 채널(공개 또는 비공개)을 만듭니다.
- System Console > User Management > Channels로 이동합니다.
- 방금 만든 채널 이름 옆의 Edit를 선택합니다(검색해야 할 수 있음).
- Create Posts 패널에서 Guests와 Members를 선택 해제합니다.
- Post Reactions 패널에서 Guests와 Members를 선택 해제합니다.
- Save를 선택합니다.
채널은 모든 멤버와 게스트가 액세스할 수 있지만 관리자만 게시할 수 있습니다.
메시지 관리#
메시지를 삭제할 수 있는 사용자 제한#
예시: 전체 시스템의 기본값으로 시스템 및 팀 관리자만 게시물을 삭제할 수 있도록 제한합니다.
- System Console > User Management > Permissions로 이동합니다.
- Edit Scheme을 선택합니다.
- All Members 및 Channel Administrators 패널의 Delete Posts 섹션에서 Delete Own Posts 및 Delete Others' Posts 체크박스를 선택 해제합니다.
- Channel Administrators 및 Team Administrators 패널의 Delete Posts 섹션에서 Delete Own Posts 및 Delete Others' Posts 체크박스를 선택합니다.
메시지를 편집할 수 있는 사용자 제한#
예시: 전체 시스템의 기본값으로 사용자가 게시 후 5분 동안만 자신의 게시물을 편집할 수 있도록 허용합니다.
- System Console > User Management > Permissions로 이동합니다.
- Edit Scheme을 선택합니다.
- All Members, Channel Administrators 및 Team Administrators 패널의 Manage Posts 섹션에서 Edit Posts 체크박스를 선택합니다.
- 어느 패널에서든 기어 버튼을 선택하여 전역 시간 제한을
300초로 설정합니다.
통합 관리#
Mattermost v11.2부터 System Console은 웹훅, 슬래시 명령어, OAuth 앱을 포함한 통합을 관리하기 위한 향상된 제어를 제공하며, 자신의 통합 관리와 다른 사용자의 통합 관리에 대한 별도의 권한이 포함됩니다.
웹훅 및 슬래시 명령어를 관리할 수 있는 사용자 제한#
예시: 전체 시스템의 기본값으로 시스템 관리자만 통합을 생성, 편집 및 삭제할 수 있도록 허용합니다.
- System Console > User Management > Permissions로 이동합니다.
- Edit Scheme을 선택합니다.
- All Members 및 Team Administrators 패널의 Integrations & Customizations 섹션에서 Manage Incoming Webhooks, Manage Outgoing Webhooks 및 Manage Slash Commands 체크박스를 선택 해제합니다.
관리 도구#
권한 시스템을 구성하고 문제를 해결하는 데 도움이 되는 여러 API 및 mmctl 도구를 관리자가 사용할 수 있습니다:
- mmctl permissions reset 명령을 사용하여 새 설치 시 모든 권한을 기본값으로 재설정합니다.
- GetAllRoles API 엔드포인트를 사용하여 모든 역할 목록을 가져옵니다.
- mmctl permissions add 명령을 사용하여 역할에 권한을 추가합니다.
백엔드 인프라#
권한 백엔드에 대해 더 깊이 이해하려는 기술 관리자나 개발자는 권한 백엔드 문서를 참조할 수 있습니다.
용어 사전#
- 권한(Permission): 특정 작업을 실행하는 능력. 권한은 역할에 부여됩니다.
- 역할(Roles): 권한의 집합. 사용자 또는 그룹은 역할에 할당됩니다.
- 그룹(Group): 일반적으로 AD/LDAP에서 동기화된 사용자 집합. 그룹은 팀, 채널 또는 시스템 전체 컨텍스트에서 역할에 할당됩니다.
- 기본 역할(Default Roles): 모든 멤버, 게스트(활성화된 경우), 채널 관리자, 팀 관리자, 시스템 관리자.
- 시스템 스킴(System Scheme): 시스템 전체에 적용되는 기본 역할 집합.
- 팀 재정의 스킴(Team Override Scheme): 지정된 팀에서만 적용되는 기본 역할 집합. 팀 재정의 스킴에서 역할에 부여된 권한은 시스템 스킴의 역할을 재정의합니다.
- 시스템 전체(System-wide): 사용자가 멤버인 모든 팀을 포함하여 전체 시스템에 걸쳐 적용됩니다.
- 팀 전체(Team-wide): 특정 팀에서만 적용됩니다.
