사용자 속성
Enterprise, Enterprise Advanced 플랜에서 사용할 수 있습니다.
Mattermost v10.8부터는 조직에 특화된 사용자 프로필 속성을 시스템 속성으로 정의하고 관리하면서 AD/LDAP 또는 SAML ID 공급자와 동기화할 수 있습니다. 이를 통해 팀이 효과적으로 협업하는 데 꼭 필요한 정보를 항상 갖추도록 할 수 있습니다.
시스템 속성을 사용하면 조직의 고유한 요구에 맞게 사용자 프로필 속성을 맞춤 설정할 수 있어, 사용자 데이터를 중앙에서 일관되게 유지하면서 협업을 간소화할 수 있습니다.
Mattermost v11부터는 관리자 관리 설정과 사용자 편집 가능 설정을 통해 이러한 사용자 속성을 더 세밀하게 제어할 수 있습니다. 보안을 위해 속성은 기본적으로 관리자가 관리하지만, 접근 제어나 민감한 조직 데이터에 영향을 주지 않는 특정 속성에 한해 사용자 편집을 명시적으로 허용할 수 있습니다. 이러한 사용자 속성은 사용자의 프로필 사진에서 볼 수 있는 기존 사용자 정보를 보완합니다.

시작하기 전에
시스템 속성을 AD/LDAP 또는 SAML ID 공급자와 동기화하려면 AD/LDAP 또는 SAML 동기화가 이미 활성화되고 구성되어 있어야 합니다. 자세한 내용은 AD/LDAP 그룹 제품 문서 또는 SAML 2.0 구성 설정 문서를 참고하세요.
Mattermost v11 이상
Mattermost v11부터 사용자 속성에는 보안을 우선하는 방식의 강화된 관리자 제어가 적용됩니다. 모든 속성이 기본적으로 관리자 관리 대상이 되어 보안과 거버넌스가 향상됩니다. 시스템 관리자는 시스템 콘솔 화면에서 특정 속성에 한해 사용자 편집을 명시적으로 허용할 수 있습니다.
조직이 Enterprise Edition Advanced 라이선스를 필요로 하는 속성 기반 접근 제어(ABAC)를 사용한다면, 접근 제어 정책에 쓰이는 속성은 보안상의 이유로 관리자 관리 상태를 유지해야 합니다. 아래에 안내한 대로 config.json의 EnableUserManagedAttributes를 설정하거나 환경 변수를 사용해 ABAC에서 사용자 관리 속성을 활성화할 수 있지만, 신중하게 결정해야 합니다.
config.json설정:".AccessControlSettings.EnableUserManagedAttributes: false",이며true와false를 지정할 수 있습니다.- 환경 변수:
MM_ACCESSCONTROLSETTINGS_ENABLEUSERMANAGEDATTRIBUTES
이 구성 설정은 시스템 콘솔에서 관리되지 않으며, 사용자가 자신의 프로필 속성을 수정해 접근 제어 정책을 우회하지 못하도록 기본적으로 비활성화되어 있습니다. 관리자 관리 속성과 사용자 편집 가능 속성에서 자세히 알아보세요.
또한 모바일 앱 v2.31.0부터 사용자 속성이 모바일 기기에서 완전히 지원됩니다. 모바일 사용자는 모바일 앱에서 프로필 속성을 직접 확인하고 관리할 수 있습니다(관리자 설정이 허용하는 경우). 모바일 속성 지원에는 동일한 서버 측 구성이 필요하며, 모바일 전용 설정을 따로 할 필요는 없습니다.
Mattermost v10.11 이상
Mattermost v10.11부터 보안상의 이유로 사용자 관리 속성은 ABAC 규칙에서 제외됩니다. 조직이 ABAC(Enterprise Edition Advanced 필요)를 사용한다면, 시스템 관리자가 아래에 안내한 대로 config.json의 EnableUserManagedAttributes를 설정하거나 환경 변수를 사용해 ABAC에서 사용자 관리 속성을 명시적으로 활성화할 수 있습니다. 이 구성 설정은 시스템 콘솔에서 관리되지 않으며, 사용자가 자신의 프로필 속성을 수정해 접근 제어 정책을 우회하지 못하도록 기본적으로 비활성화되어 있습니다.
config.json설정:".AccessControlSettings.EnableUserManagedAttributes: false",이며true와false를 지정할 수 있습니다.- 환경 변수:
MM_ACCESSCONTROLSETTINGS_ENABLEUSERMANAGEDATTRIBUTES
또한 모바일 앱 v2.31.0부터 사용자 속성이 모바일 기기에서 완전히 지원됩니다. 모바일 사용자는 모바일 앱에서 프로필 속성을 직접 확인하고 관리할 수 있습니다. 모바일 속성 지원에는 동일한 서버 측 구성이 필요하며, 모바일 전용 설정을 따로 할 필요는 없습니다.
Mattermost v10.9 이상
Mattermost Enterprise v10.9부터는 Mattermost 시스템 관리자가 시스템 속성을 만들고 관리하는 데 별도의 수동 설정이 필요하지 않습니다.
Mattermost v10.8
시스템 속성을 만들고 관리하려면 Mattermost Enterprise v10.8 이상이 필요하며, Mattermost 시스템 관리자로서 시스템 속성 기능 플래그 MM_FEATUREFLAGS_CUSTOMPROFILEATTRIBUTES를 활성화해야 합니다. 자체 호스팅 배포에서 기능 플래그를 활성화하는 방법은 Mattermost 개발자 문서의 기능 플래그 활성화를 참고하세요. Mattermost Cloud 고객은 Mattermost 어카운트 매니저에게 문의하거나 지원 티켓을 생성해 이 기능 플래그 활성화를 요청할 수 있습니다.
관리자 관리 속성과 사용자 편집 가능 속성
Mattermost v11부터 시스템 관리자는 관리자 관리 설정과 사용자 편집 가능 설정을 통해 사용자 속성을 더 세밀하게 제어할 수 있습니다. 이러한 구분은 조직 프로필 데이터의 보안과 거버넌스를 강화합니다.
관리자 관리 속성(기본 동작):
- 시스템 관리자만 제어합니다
- 사용자는 자신의 프로필에서 이 값을 편집할 수 없습니다
- 역할, 보안 등급, 조직 식별자처럼 보안에 민감한 정보에 권장됩니다
- ABAC(속성 기반 접근 제어) 정책에 사용되는 속성에 적합합니다
- 값은 관리자 또는 ID 공급자 동기화를 통해서만 갱신할 수 있습니다
사용자 편집 가능 속성:
- 사용자가 자신의 프로필에서 값을 갱신할 수 있습니다
- 시스템 관리자도 이 속성을 수정할 수 있습니다
- 개인 취향, 보유 기술, 연락처 정보처럼 민감하지 않은 정보에 적합합니다
- 보안 접근 제어에 영향을 주는 속성에는 사용하지 않아야 합니다
보안상의 이유로 ABAC 정책에 사용되는 속성은 기본적으로 관리자 관리 대상이며, 시스템 관리자가 Allow user editing(사용자 편집 허용) 옵션으로 명시적으로 허용하지 않는 한 사용자가 편집할 수 없습니다.
모범 사례:
- 접근 제어에 영향을 주거나 민감한 조직 데이터를 담은 속성은 관리자 관리로 유지하세요
- 보안 정책에 영향을 주지 않는 속성에만 사용자 편집을 허용하세요
- 사용자 편집 가능 속성이 계속 적절한지 정기적으로 검토하세요
- 속성의 편집 가능 여부를 정할 때 조직의 데이터 거버넌스 요구 사항을 고려하세요
속성 추가
시스템 콘솔에서 최대 20개의 시스템 속성을 정의하고 관리할 수 있습니다. Mattermost v11부터 제공되는 Editable by Users(사용자가 편집 가능) 옵션을 비활성화하지 않는 한, 각 속성은 사용자가 값을 채울 수 있는 사용자 프로필 항목이 됩니다. 속성이 20개에 도달하면 더 이상 필요하지 않은 속성을 삭제하기 전까지 새 속성을 만들 수 없습니다.
Mattermost v11.8부터 사용자 속성에는 Display Name과 Name이 함께 있습니다. Display Name은 Mattermost에서 사용자와 관리자에게 표시되는 라벨이고, Name은 API 참조와 속성 기반 접근 제어(ABAC) 정책 표현식에 사용되는 내부 속성 식별자입니다. 새 사용자 속성을 만들 때 Mattermost가 Display Name으로부터 CEL에서 사용할 수 있는 형식의 Name을 생성할 수 있습니다. 저장된 ABAC 정책은 계속해서 user.attributes.<name> 형태로 내부 이름을 참조합니다.
속성의 Editable by Users 옵션을 비활성화하면 관리자만 mmctl cpa 명령으로 값을 설정할 수 있습니다.
- 시스템 콘솔에서 Site Configuration > System Attributes > User Attributes(사이트 구성 > 시스템 속성 > 사용자 속성)로 이동해 Add Attribute를 선택합니다.
- 다음 정보를 입력합니다.
- Display Name: 사용자에게 보이는 UI에 표시될 속성의 표시 이름을 입력합니다.
- Attribute name: 속성 이름은 입력한 Display Name에서 자동으로 생성됩니다. 원하는 고유 이름으로 직접 바꿀 수도 있습니다. 속성 이름은 최대 40자입니다. 속성 이름은 접근 제어 정책에서 CEL(Common Expression Language) 식별자로 사용됩니다. 반드시 문자나 밑줄로 시작해야 하며 문자, 숫자, 밑줄만 포함할 수 있습니다.
true,false,null,in,as,break,const,continue,else,for,function,if,import,let,loop,package,namespace,return,var,void,while등 CEL 예약어는 사용할 수 없습니다. - Type: 속성 유형을 다음 중 하나로 지정합니다.
- Text: 텍스트 기반 프로필 속성.
- Phone: 전화번호 기반 프로필 속성.
- URL: 웹사이트 주소 기반 프로필 속성.
- Select: 사용자가 고를 수 있는 프로필 속성 값 목록. 값을 입력할 때마다 TAB 또는 ENTER를 누릅니다. 값은 최대 64자이며 사용자는 값 하나를 고를 수 있습니다.
- Multi-select: 사용자가 고를 수 있는 프로필 속성 값 목록. 값을 입력할 때마다 TAB 또는 ENTER를 누릅니다. 값은 최대 64자이며 사용자는 여러 값을 고를 수 있습니다.
- Ranked: 각 값이 다른 값보다 높거나 낮은 순위를 갖는 정렬된 값 목록입니다. 예를 들어 Public, Secret, Top Secret 같은 보안 등급이나 분류 수준이 여기에 해당합니다. 값을 각각 입력한 다음 낮은 순위부터 높은 순위 순으로 정렬합니다. 사용자는 값 하나를 고를 수 있습니다. 값에 순서가 있으므로 접근 제어 정책이 정확히 일치하는지만 확인하는 대신, 순위 속성을 임계값과 비교할 수 있습니다. 예를 들어 보안 등급이 Secret 이상인지 판단할 수 있습니다.
- 속성의 표시 방식을 다음 중 하나로 지정합니다.
- Always show: 사용자 프로필에 항상 표시됩니다.
- Hide when empty: 값이 있을 때만 사용자 프로필에 표시됩니다.
- Always hide: 사용자 프로필에 표시되지 않습니다.
표시 방식이나 정렬 순서를 명시하지 않고 속성을 만들거나 갱신하면(예: API나 자동화를 통해), 해당 값이 저장되지 않았더라도 Mattermost가 응답에 기본값을 반환합니다. 표시 방식은 서버의 기본 표시 방식으로, 정렬 순서는 0으로 기본 설정됩니다.
- Editable by users 옵션을 활성화하거나 비활성화해 사용자 편집 권한을 구성합니다(Mattermost v11 이상).
- 변경 사항을 저장합니다.
More 를 선택한 뒤 Duplicate attribute를 선택하면 기존 속성을 복제할 수 있습니다. 원본과 같은 이름과 유형을 가진 새 속성이 만들어지며, 이후 새 속성의 이름, 유형, 표시 방식을 필요에 맞게 수정할 수 있습니다.
속성 관리
- 수정: 속성 필드를 선택해 속성의 이름, 유형, 값을 인라인으로 변경합니다. 속성의 표시 방식을 바꾸려면 More
를 선택합니다.
Mattermost v11.8부터 기존 사용자 속성은 Display Name이 처음에 Name과 동일하도록 채워집니다. Display Name이 비어 있거나 사용할 수 없으면 Mattermost는 Name을 대신 표시합니다. 표시 이름은 중복될 수 있지만 내부 이름은 계속 고유해야 합니다.
- 순서: 목록에서 속성을 끌어다 놓아 사용자 프로필에 표시될 순서를 조정합니다.
- 삭제: 더 이상 필요하지 않은 속성은 More
를 선택한 뒤 Delete property를 선택해 삭제합니다.
API나 자동화로 사용자 속성을 갱신할 때 attrs 객체는 기존 속성 설정을 병합하지 않고 대체합니다. 표시 방식만 전송하면, 같은 요청에 sort_order를 포함하지 않는 한 정렬 순서가 0으로 초기화됩니다. 패치가 실패하면 API가 "Unable to patch User Attribute field" 오류 문자열을 반환할 수 있습니다.
- 사용자 편집 권한: Mattermost v11부터 보안 강화를 위해 모든 사용자 속성이 기본적으로 관리자 관리 대상입니다. 특정 속성에 대해 사용자 편집을 허용하려면 관리자가 More
메뉴에서 Allow user editing을 선택하면 됩니다. 이 옵션은 보안 접근 제어나 조직 정책에 영향을 주지 않는 속성에만 사용해야 합니다. ABAC 정책에 사용되는 속성은 명확한 업무상 필요가 있고 보안 영향을 충분히 이해한 경우가 아니라면 관리자 관리 상태로 유지해야 합니다.
- 사용자 속성 값 편집: Mattermost v11.1부터 시스템 콘솔에서 개별 사용자의 속성 값을 확인하고 갱신할 수 있습니다. 자세한 내용은 사용자 속성 관리 문서를 참고하세요.
여러 시스템 관리자가 시스템 속성을 함께 관리하는 경우, 다른 관리자가 변경한 시스템 속성을 실시간으로 확인하려면 웹 브라우저를 새로 고치세요.
속성 접근 모드
각 사용자 속성에는 access mode(접근 모드)가 있어, 해당 속성 값이 접근 제어 정책에 나타날 때 누가 그 값을 볼 수 있는지 제어합니다. 접근 모드는 속성별로 설정되며, 정책을 편집하는 관리자가 규칙에서 참조하는 속성의 원래 값을 볼 수 있는지를 결정합니다.
접근 모드는 시스템 콘솔에서 구성할 수 없습니다. Mattermost 플러그인이 Property Fields API를 통해 프로그래밍 방식으로만 설정할 수 있습니다. 시스템 관리자가 시스템 콘솔에서 만든 속성은 항상 public 접근 모드를 사용합니다. 속성 노출을 제한해야 하는 플러그인은 필드를 protected: true로 만들고 원하는 access_mode를 설정해야 합니다. 이는 주로 외부 ID 소스에서 민감한 속성을 동기화하면서 어떤 관리자가 그 값을 읽을 수 있는지 제어해야 하는 플러그인에서 사용합니다.
- Public(기본값): 해당 속성을 참조하는 정책을 편집하는 모든 관리자에게 속성 값이 보입니다. 마스킹이 적용되지 않습니다.
- Shared only: 자신이 동일한 값을 가진 관리자에게만 속성 값이 보입니다. 그 값을 갖지 않은 관리자에게는 정책 편집기에서 마스킹된 상태(
--------)로 표시됩니다. - Source only: 해당 값을 설정한 시스템 소스(예: ID 공급자)에만 값이 보입니다. 모든 관리자에게는 자신의 속성 값과 관계없이 정책 편집기에서 마스킹된 상태로 표시됩니다.
정책 편집기의 마스킹은 shared_only 또는 source_only 접근 모드를 가진 속성에만 적용됩니다. 마스킹된 값이 있을 때 편집기가 어떻게 동작하는지는 속성 값 마스킹을 참고하세요.
ID 공급자와 속성 동기화
- 속성을 AD/LDAP 또는 SAML과 동기화하려면 More
를 선택한 뒤 Link attribute to AD/LDAP 또는 Link attribute to SAML을 선택합니다. 그러면 Mattermost가 시스템 콘솔의 AD/LDAP 또는 SAML 2.0 구성 설정 페이지로 바로 이동시켜, 동기화할 속성을 매핑할 수 있게 합니다.
- User attributes sync 섹션까지 스크롤해 사용자 프로필의 속성을 채우는 데 사용할 속성을 지정합니다.
- 시스템 속성의 Attribute 필드에 속성 이름을 입력해 해당 속성의 매핑을 지정합니다. 속성 이름은 ID 공급자의 속성 이름과 일치해야 합니다.
- 변경 사항을 저장합니다.