속성 기반 접근 제어(ABAC)
Entry, Enterprise Advanced 플랜에서 사용할 수 있습니다.
Mattermost v10.9부터, 민감한 정보를 다룰 때 제로 트러스트 보안이 필요한 대규모·복잡한 조직의 시스템 관리자는 속성 기반 접근 제어를 통해 무단 접근을 차단할 수 있습니다.
사용자 속성을 기준으로 접근 제어를 엄격하게 적용하면, 보안 위험이나 비효율, 부적절한 접근으로 이어질 수 있는 수동 역할 조정 절차를 없앨 수 있습니다. 동시에 인가된 사용자만 특정 Mattermost 비공개 채널과 팀에 접근하도록 보장하여 보안과 컴플라이언스를 유지합니다. 공개 채널과 공개 팀에서는 정책이 차단 장치가 아니라 권고 성격을 가집니다. 아래에서 설명하는 권고(advisory) 동작과 엄격(strict) 동작을 참고하세요.
속성 기반 접근 제어(ABAC)는 다음 정책 유형과 함께 사용할 수 있습니다.
- 시스템 전체 접근 정책(시스템 관리자가 관리): 시스템 콘솔에서 만들어 여러 채널과 팀에 걸쳐 적용할 수 있는 중앙 집중식 정책입니다. 시스템 전체 속성 기반 접근 정책을 참고하세요.
- 권한 정책(시스템 관리자가 관리): 파일 업로드, 파일 다운로드 같은 사용자 동작에 적용하는 속성 기반 제한입니다. 권한 정책을 참고하세요.
- 팀 멤버십 정책(시스템 관리자와 팀 관리자가 관리): 누가 팀에 참여할 수 있는지를 제어하는 속성 기반 규칙입니다. 비공개 팀에서는 규칙이 디렉터리 노출, 참여 평가, 동기화 시점의 제거를 통제합니다(엄격 모드). 공개 팀에서는 규칙이 접근을 제한하지 않고 Recommended(추천) 태그와 선택적 자동 추가를 구동합니다(권고 모드). 팀 멤버십 접근 정책을 참고하세요.
- 팀 범위 채널 멤버십 정책(팀 관리자가 관리): 팀 관리자가 Team Settings(팀 설정)의 Channel Membership 탭에서 자기 팀의 채널을 대상으로 직접 만들고 편집하고 삭제할 수 있는 채널 멤버십 정책입니다. 팀 단위 채널 멤버십 정책을 참고하세요.
- 채널별 접근 규칙(채널 관리자가 관리): 채널 관리자가 개별 채널의 Channel Settings(채널 설정)에서 직접 구성할 수 있는 셀프 서비스 접근 규칙입니다. 채널별 접근 규칙을 참고하세요.
Mattermost v11.8부터 ABAC 정책은 비공개 채널과 공개 채널 모두에 적용할 수 있으며, 두 채널 유형의 동작 방식은 의도적으로 다르게 설계되어 있습니다.
- 비공개 채널은 정책에 의해 엄격하게 차단됩니다. 조건에 맞지 않는 멤버는 동기화 과정에서 제거되고, 조건에 맞는 사용자만 추가하거나 초대할 수 있습니다.
- 공개 채널은 권고 성격입니다. 누구나 자유롭게 참여할 수 있고 ABAC가 멤버를 제거하는 일은 없으며, 정책은 조건에 맞는 사용자를 자동 추가하거나(활성화한 경우) Browse Channels > Recommended channels(채널 둘러보기 > 추천 채널)에서 해당 채널을 추천하는 데 쓰입니다(자동 추가를 비활성화한 경우).
기본 채널(Town Square, Off-Topic), 공유 채널, 그룹 동기화 채널은 여전히 대상이 아닙니다.
Mattermost v11.10부터는 ABAC 정책을 팀에도 적용할 수 있습니다. 팀이 공개인지 비공개인지에 따라 동일한 권고/엄격 모델이 적용됩니다. 자세한 내용은 팀 멤버십 접근 정책을 참고하세요.
시작하기 전에
속성 기반 접근 제어를 사용하려면 외부 시스템(LDAP 또는 SAML 등)에서 동기화되었거나 Mattermost 서버에 수동으로 구성·활성화된 사용자 속성이 정의되어 있어야 합니다. 접근 정책을 만들기 전에 시스템 콘솔에서 사용자 속성을 먼저 구성해야 합니다.
Mattermost v11부터 제공되는 Editable by Users(사용자가 편집 가능) 옵션을 비활성화하지 않는 한, 각 속성은 사용자가 값을 채울 수 있는 사용자 프로필 항목이 됩니다. LDAP/SAML로 동기화된 속성 외에 관리자가 관리하는 속성도 속성 기반 접근 제어 규칙에 사용할 수 있습니다.
사용자 속성을 정의한 뒤에는 System Console > System Attributes > Attribute-Based Access(시스템 콘솔 > 시스템 속성 > 속성 기반 접근)로 이동해 Mattermost 인스턴스의 속성 기반 접근 제어를 활성화합니다. 이 기능에는 Mattermost Enterprise Advanced 라이선스가 필요합니다.
Mattermost v10.11부터는 보안상의 이유로 사용자가 관리하는 속성이 속성 기반 접근 제어(ABAC) 규칙에서 기본적으로 제외됩니다. 사용자가 자신의 프로필 속성을 편집해 접근 제어 정책을 우회하는 것을 막기 위해서입니다. 사용자 관리 속성을 ABAC 규칙에 포함하려면 시스템 관리자가 EnableUserManagedAttributes 설정을 명시적으로 활성화해야 합니다. 이 기능을 활성화하는 방법은 사용자 속성 문서를 참고하세요. 이 설정은 Enterprise Edition Advanced에서만 제공되며 기본값은 비활성화입니다.
접근 정책 구성
활성화한 뒤에는 Mattermost에서 접근 정책을 여러 가지 방식으로 구성할 수 있습니다.
Mattermost v11.8.0부터 관리자는 공개 채널과 비공개 채널 양쪽에 대한 멤버십 정책, 파일 업로드·파일 다운로드에 대한 권한 정책을 구성할 수 있으며, 저장하기 전에 정책 결과를 시뮬레이션할 수 있습니다.
시스템 관리자가 할 수 있는 일:
- 시스템 콘솔에서 여러 채널과 팀에 걸쳐 할당할 수 있는 시스템 전체 접근 정책을 만듭니다. 멤버십 정책은 공개 채널과 비공개 채널 모두에 적용할 수 있으며, 공개 채널에서는 권고 방식으로 동작합니다.
- 시스템 콘솔에서 특정 채널에 개별 채널 정책을 할당합니다.
- 팀별 시스템 콘솔 페이지에서 팀에 멤버십 정책을 할당합니다. 공개 팀에는 권고 방식으로, 비공개 팀에는 엄격한 방식으로 적용됩니다.
- 사용자 속성을 기준으로 파일 업로드, 파일 다운로드 같은 동작을 제한하는 권한 정책을 정의합니다.
- 정책 변경을 저장하기 전에 선택한 사용자가 채널 참여, 파일 업로드·다운로드 같은 동작을 수행할 수 있는지 미리 확인하도록 정책 결과를 시뮬레이션합니다.
팀 관리자가 할 수 있는 일:
manage_team_access_rules권한이 부여된 경우, 팀에 적용된 시스템 정책을 확인하고 팀 설정의 Team Membership 탭에서 직접 맞춤 팀 멤버십 규칙을 구성합니다.- 팀 설정의 Channel Membership 탭에서 팀 단위 채널 멤버십 정책을 만들고 관리하면서, 속성 기반 규칙의 적용 범위를 팀 내 하나 이상의 채널로 한정합니다.
채널 관리자가 할 수 있는 일:
- 시스템 관리자 없이도 채널 설정에서 직접 채널별 접근 규칙을 구성합니다.