InfoGrab DocsInfoGrab Docs

팀 멤버십 접근 정책

요약

Mattermost v11.10부터 시스템 관리자와 팀 관리자는 속성 기반 접근 제어(ABAC)를 팀에 직접 적용하여 사용자 프로필 속성을 기준으로 팀에 가입할 수 있는 사용자를 제어할 수 있습니다. 팀 멤버십 ABAC는 채널 ABAC와 동일한 정책과 속성 규칙을 사용하지만, 팀이 공개인지 비공개인지에 따라 다르게 동작합니다.

사용 가능 플랜: Entry, Enterprise Advanced

Mattermost v11.10부터 시스템 관리자와 팀 관리자는 속성 기반 접근 제어(ABAC)를 팀에 직접 적용하여 사용자 프로필 속성을 기준으로 팀에 가입할 수 있는 사용자를 제어할 수 있습니다. 이는 기존 ABAC 채널 멤버십 시스템을 팀 경계로 확장하여, 채널 정책을 충족하지 못한 사용자도 팀과 팀의 멤버 목록, 채널 구조를 볼 수 있었던 「복도 접근」 공백을 해소합니다.

팀 멤버십 ABAC는 채널 ABAC와 동일한 정책과 속성 규칙을 사용하지만, 팀이 공개인지 비공개인지에 따라 다르게 동작합니다.

  • 공개 팀(권고 모드): 정책은 접근을 차단하지 않습니다. 누구나 자유롭게 가입할 수 있습니다. 아직 멤버가 아닌 자격 요건 충족 사용자에게는 팀 찾아보기에 추천 칩이 표시됩니다. 자동 추가가 활성화된 경우 동기화가 자격 요건 충족 사용자를 자동으로 추가할 수 있지만, 누구도 제거하지 않습니다.
  • 비공개 팀(엄격 모드): 정책이 디렉터리 표시 여부, 가입 평가, 동기화 시 멤버십을 제어합니다. 자격 요건을 충족하지 못한 사용자는 팀을 찾거나 가입할 수 없습니다. 자격 요건을 충족하지 못한 멤버는 다음 동기화에서 제거됩니다.
Note

업그레이드 안내: 팀 설정의 접근 탭은 Mattermost v11.10부터 새 UI로 바뀌었으며, ABAC 라이선스 보유 또는 활성화 여부와 관계없이 모든 배포의 모든 팀에 영향을 줍니다. 기존의 「모든 사용자의 가입 허용」 체크박스는 공개 팀 / 비공개 팀 선택 카드로 대체되었습니다. 자세한 내용은 접근 탭: 공개/비공개 팀 카드를 참조하세요.

접근 탭: 공개/비공개 팀 카드#

Important

이 변경은 ABAC 활성화 여부나 조직의 Enterprise Advanced 라이선스 보유 여부와 관계없이 모든 배포의 모든 Mattermost 팀에 영향을 줍니다. 업그레이드 후 Team Settings > Access를 여는 모든 팀 관리자에게 새 UI가 표시됩니다. 단, LDAP/AD 그룹 동기화로 관리되는 팀은 카드 대신 정적 메시지가 표시됩니다. 자세한 내용은 모드 전환을 참조하세요.

변경 내용: 「모든 사용자의 가입 허용」 체크박스가 두 개의 선택 카드로 영구 대체되었습니다.

  • 공개 팀 — 서버의 누구나 찾아서 가입할 수 있습니다.
  • 비공개 팀 — 초대된 멤버만 가입할 수 있습니다.

변경 이유: 카드는 팀의 공개 또는 비공개 상태를 명시적이고 모호하지 않게 만들며, 팀 ABAC 적용이 권고 모드와 엄격 모드 중 무엇을 사용할지 결정하는 근거가 바로 이 상태입니다.

ABAC를 사용하지 않을 때의 동작: 기존 체크박스와 기능적으로 동일합니다. 공개 팀은 「모든 사용자의 가입 허용」이 켜져 있던 경우이고, 비공개 팀은 꺼져 있던 경우입니다. 멤버십 정책이 없는 팀의 다른 동작은 변경되지 않습니다.

ABAC를 사용할 때의 동작: 카드가 적용 모드를 결정합니다. 공개 팀에는 권고 ABAC가, 비공개 팀에는 엄격 ABAC가 적용됩니다. 정책이 적용된 팀의 모드를 변경하면 확인 모달이 표시될 수 있습니다(아래 참조).

새 팀의 기본값: 새 팀은 기본적으로 비공개이므로, 모드를 명시적으로 선택하기 전에 할당된 정책은 엄격 적용을 활성화합니다. 팀은 기본적으로 항상 보호되며, 권고 모드를 사용하려면 공개 팀을 명시적으로 선택해야 합니다.

모드 전환#

비공개 → 공개: 적용을 완화합니다. 확인 모달 없이 바로 저장됩니다. 정책이 적용되어 있으면 팀은 즉시 권고 모드로 전환되며, 기존 멤버는 제거되지 않습니다.

공개 → 비공개: 팀 ABAC가 활성화되어 있고(Enterprise Advanced 라이선스 및 속성 기반 접근 제어 활성화) 팀에 멤버십 정책이 할당되어 있으면, 비공개 팀을 클릭할 때 저장하기 전에 확인 모달이 열립니다.

  • 제목: "비공개 팀으로 전환하시겠습니까?"
  • 본문에는 정책 기준을 충족하지 못해 다음 동기화에서 제거될 현재 멤버의 수가 표시됩니다. 현재 멤버가 모두 기준을 충족하면 모달에 제거될 사람이 없다고 표시됩니다. 수를 알 수 없으면 대신 일반 경고가 표시됩니다.
  • 취소 — 모달을 닫으며 변경하지 않습니다.
  • 비공개로 전환 — 변경 사항을 저장하고 즉시 팀 동기화 작업을 만들어 엄격 모드를 적용합니다.

전환하는 관리자가 정책 기준을 충족하지 못하면, 엄격 모드에서는 해당 관리자가 팀에서 제거되므로 대신 "비공개 팀으로 전환할 수 없음" 오류 모달이 나타나고 전환이 차단됩니다. 자신이 포함되도록 규칙을 업데이트하거나 다른 관리자에게 전환을 요청하세요.

정책이 할당되지 않았으면 공개 → 비공개 전환은 모달 없이 바로 저장됩니다.

접근 탭의 다른 필드(초대 코드 및 허용된 이메일 도메인)는 이 변경의 영향을 받지 않습니다. LDAP/AD 그룹 동기화로 관리되는 팀에서는 접근 탭에 카드 대신 「이 팀의 멤버는 연결된 그룹에 의해 추가 및 제거됩니다」라는 정적 메시지가 표시됩니다.

권고 및 엄격 적용#

정책이 엄격하게 적용되는지 권고로 처리되는지는 팀이 공개인지 비공개인지에 따라서만 결정됩니다. 아래 표는 각 조합의 동작을 요약합니다.

팀 ABAC 정책 가입 제한 팀 찾아보기 동기화 제거 추천 태그
공개 없음 개방 모두에게 표시 해당 없음 아니요
공개 있음 — 권고 개방(제한 없음) 모두에게 표시 건너뜀 예(자격 요건 충족 비멤버)
비공개 없음 초대 전용 멤버에게만 표시 해당 없음 아니요
비공개 있음 — 엄격 자격 요건 미충족 사용자는 거부 자격 요건 미충족 비멤버에게는 숨김 자격 요건 미충족 사용자 제거 아니요
Note

자동 추가는 권고 모드와 엄격 모드 모두에 적용되는 유일한 동작입니다. 활성화하면 팀이 공개인지 비공개인지와 관계없이 동기화가 자격 요건을 충족하는 비멤버를 추가합니다.

사전 요구 사항#

팀 멤버십 정책을 구성하기 전에 다음을 확인하세요.

  1. System Console에서 사용자 속성을 구성합니다. Mattermost v12.0 이상은 속성 관리를, 이전 릴리즈는 사용자 속성을 참조하세요.
  2. System Console > System Attributes > Attribute-Based Access로 이동하여 속성 기반 접근 제어 활성화를 활성화합니다.
  3. 규칙을 구성하는 팀 관리자의 경우: manage_team_access_rules 권한이 필요합니다. 이 권한은 기본적으로 팀 관리자 역할에 포함되어 있습니다.

팀 멤버십 ABAC는 Mattermost v11.10부터 기본적으로 활성화되어 있는 TeamMembershipAccessControl 기능 플래그로도 제어됩니다. 이 플래그를 비활성화하면 채널 ABAC에는 영향 없이 팀 적용이 꺼집니다. 자세한 내용은 Mattermost 개발자 문서의 셀프 호스팅 배포의 기능 플래그를 참조하세요.

팀 멤버십 ABAC가 꺼져 있을 때 달라지는 점:

화면 팀 멤버십 ABAC 켜짐 팀 멤버십 ABAC 꺼짐
가입 제한(비공개 팀) 적용됨 — 자격 요건 미충족 사용자 거부 평가하지 않음 — 비공개 팀은 이전처럼 초대 전용으로 유지
팀 찾아보기 필터 비공개+ABAC 팀이 자격 요건 미충족 사용자에게 숨겨짐 속성 필터링 없음 — 표준 개인정보 보호 규칙 적용
팀 멤버십 탭(팀 설정) 팀 관리자와 시스템 관리자에게 표시 숨김 — 탭이 나타나지 않음
System Console 팀별 ABAC 제어 정책 할당 및 사용자 지정 규칙 패널 표시 숨김
추천 태그 공개+ABAC 팀에서 자격 요건 충족 사용자에게 표시 표시되지 않음
동기화 작업 — 제거 단계 비공개+ABAC 팀에서 자격 요건 미충족 사용자 제거 팀 동기화 작업이 실행되지 않음
초대 모달 필터링 비공개+ABAC 팀에서 필터링 이전처럼 모든 사용자 표시
공개/비공개 카드(접근 탭) 표시 — 제어 대상 아님 계속 표시 — 그룹 동기화 팀을 제외한 모든 팀에서 렌더링
채널 ABAC 영향 없음 영향 없음

시스템 관리자 구성#

팀에 멤버십 정책 할당#

시스템 관리자는 팀별 System Console 페이지를 통해 기존 시스템 전체 멤버십 정책을 팀에 할당합니다.

  1. System Console > User Management > Teams로 이동하여 구성할 팀을 엽니다.
  2. 팀 관리 섹션에서 속성 기반 멤버십 정책으로 멤버십 관리를 활성화합니다. 멤버십 정책 및 팀별 멤버십 규칙 섹션은 이 토글을 켠 후에만 나타납니다. 이 토글은 그룹 동기화 팀에서는 사용할 수 없으며, 정책이 연결되면 읽기 전용이 됩니다.
  3. 멤버십 정책 섹션에서 정책에 연결을 선택하고 선택기에서 기존 정책을 고릅니다.
  4. 저장을 선택합니다.

저장하기 전에 멤버십 정책 적용 확인 모달이 나타납니다. 이 모달에는 해당 팀에 적용되는 결과만 표시됩니다.

  • 정책 기준을 충족하지 못해 다음 동기화에서 제거될 현재 멤버의 수 — 비공개 팀에만 해당하며, 그 수가 0보다 클 때만 표시됩니다.
  • 다음 동기화에서 추가될 자격 요건 충족 사용자의 수 — 자동 추가가 활성화되어 있고 그 수가 0보다 클 때만 표시됩니다.
  • 팀이 비공개이고 정책과 일치하는 사용자가 없는 경우의 빈 팀 경고(「저장하면 비공개 팀이 비어 있을 수 있습니다」).
  • 확인 메시지: 「멤버십 정책을 적용하시겠습니까?」

정책을 제거하려면: 정책 행 옆의 휴지통 아이콘을 선택하고 "이 팀을 정책에서 제거" 모달에서 확인한 다음 저장을 선택합니다. 기존 멤버는 유지되며 팀은 다음 동기화에서 표준 접근 모드로 돌아갑니다.

정책 목록의 팀 수: 멤버십 정책 목록 페이지에는 각 정책이 적용된 채널 수와 팀 수가 표시됩니다(예: 2 channels, 1 team). 0인 항목은 생략됩니다(즉 0 channels, 1 team이 아니라 1 team).

팀별 멤버십 규칙 구성#

시스템 전체 상위 정책 외에도 시스템 관리자는 팀별 System Console 페이지에서 팀별 규칙을 직접 정의할 수 있습니다.

  1. System Console > User Management > Teams로 이동하여 팀을 엽니다.

  2. 속성 기반 멤버십 정책으로 멤버십 관리 스위치를 활성화합니다.

  3. 팀별 멤버십 규칙 패널로 스크롤합니다.

  4. 속성 추가를 선택하여 조건을 추가합니다. 각 조건에 대해 다음을 선택합니다.

    • 속성: 평가할 사용자 프로필 속성입니다.
    • 연산자: 속성이 일치해야 하는 방식입니다. 옵션: 같음, 같지 않음, 다음 중 하나, 다음으로 시작, 다음으로 끝남, 포함. 순위 지정 속성의 경우: 정확히 같음, 이상, 초과, 이하, 미만.
    • 값: 필요한 속성 값입니다.

    모든 조건은 논리 AND로 결합되므로 사용자는 모든 조건을 충족해야 합니다.

  5. 선택적으로 접근 규칙에 따라 멤버 자동 추가를 선택합니다. 이 체크박스는 팀에 규칙이 하나 이상 있거나 연결된 상위 정책이 있을 때 활성화됩니다. 자동 추가 설정은 팀당 하나뿐이며, 연결된 정책별로 구성하지 않습니다.

  6. 저장을 선택합니다. 변경 사항이 적용되기 전에 멤버십 정책 적용 모달에 영향 수가 표시됩니다.

Important

규칙을 저장하면 자동 추가가 꺼져 있어도 항상 즉시 팀 동기화가 실행됩니다. 비공개 팀에서는 더 이상 자격 요건을 충족하지 못하는 멤버를 제거하여 규칙을 즉시 적용합니다. 진행하기 전에 저장 모달에서 영향을 확인하세요.

Note

팀별 규칙은 팀에 할당된 모든 상위 정책과 누적하여 구성됩니다. 사용자는 상위 정책과 팀별 규칙을 모두 충족해야 합니다. 팀별 규칙은 상위 정책을 약화하거나 우회할 수 없습니다.

동기화 상태 푸터(System Console)#

동기화 상태 푸터는 팀별 멤버십 규칙 패널 하단에 렌더링됩니다. 패널 안에서 아래로 스크롤하여 찾으세요.

  • "동기화된 적 없음."과 지금 동기화 링크 — 이 팀에 대해 아직 동기화가 실행된 적이 없습니다.
  • "마지막 동기화: N분 전."과 지금 동기화 링크 — 이전 동기화 이후입니다. 더 오래된 동기화는 시간 또는 일 단위로 표시됩니다.
  • 지금 동기화를 클릭하면 작업이 진행되는 동안 링크가 스피너와 함께 "동기화 중…"으로 바뀌고, 완료되면 "마지막 동기화: 방금 전."으로 업데이트됩니다.

멤버십 동기화 모니터링#

시스템 관리자는 System Console에서 팀 동기화 작업의 결과를 검토할 수 있습니다.

  1. System Console > System Attributes > Membership Policies로 이동하여 멤버십 동기화 작업 패널로 스크롤합니다.
  2. 작업 행을 선택하여 동기화 작업 세부 정보 모달을 엽니다.
  3. 팀 탭을 선택합니다.

팀 탭에는 다음과 함께 팀별 행이 표시됩니다.

  • 관리 대상 팀마다 +N added / −N removed 요약.
  • 멤버의 50% 넘게 제거될 팀 행의 대량 제거 경고 표시기. 경고일 뿐이며 작업은 차단되지 않습니다.
  • 어떤 사용자가 추가되고 제거되었는지 보여 주는, 펼칠 수 있는 팀별 사용자 상세 내역.
Note

팀 탭은 팀 동기화 작업을 직접 보거나 팀 동기화에서 이어진 채널 동기화 작업을 볼 때만 나타납니다. System Console 섹션 제목은 두 작업 유형을 모두 반영하도록 「Channel access control sync jobs」에서 "멤버십 동기화 작업"으로 변경되었습니다.

Tip

멤버십 정책 페이지의 채널 동기화 실행 버튼은 팀 동기화가 아니라 채널 동기화만 실행합니다. 팀 동기화를 실행하려면 팀별 System Console 페이지 또는 Team Settings > Team Membership 탭의 지금 동기화 링크를 사용하세요.

팀 관리자 구성#

팀 멤버십 탭#

Mattermost v11.10부터 팀 설정에는 정보, 접근, 팀 멤버십, 채널 멤버십의 네 가지 탭이 있습니다.

Note

네 번째 탭은 이전에 멤버십 정책으로 표시되었습니다. 지금은 채널 멤버십으로 표시되며 채널 범위 정책만 다룹니다. 새 팀 멤버십 탭(세 번째 탭)은 팀 자체에 가입할 수 있는 사용자를 제어하는 정책을 위한 것입니다.

팀 멤버십 탭에서는 팀 관리자가 팀에 적용된 시스템 정책을 보고 팀별 사용자 지정 규칙을 구성할 수 있으며, 변경할 때마다 시스템 관리자가 개입할 필요가 없습니다.

이 탭은 다음 조건에서만 표시됩니다.

  • 속성 기반 접근 제어 활성화가 켜져 있습니다.
  • TeamMembershipAccessControl 기능 플래그가 켜져 있습니다(기본적으로 활성화).
  • 사용자에게 manage_team_access_rules 권한이 있습니다(팀 관리자 또는 시스템 관리자).

팀 설정을 열려면 사이드바에서 팀 이름을 선택한 다음 팀 설정 → 팀 멤버십 탭을 선택합니다.

시스템 정책 표시기#

시스템 관리자가 시스템 수준 정책을 팀에 적용하면 팀 멤버십 탭 상단에 적용된 정책의 이름을 보여 주는, 닫을 수 없는 정보 배너가 나타납니다. 상위 정책이 없으면 배너가 나타나지 않습니다.

사용자 지정 규칙 구성#

팀 관리자는 모든 시스템 정책 위에 적용되는 속성 규칙을 추가할 수 있습니다. 이 규칙은 채널 규칙과 동일한 기본 모드 편집기를 사용합니다.

  1. 속성 추가를 선택합니다.
  2. 각 조건의 속성, 연산자, 값을 선택합니다.
  3. 필요에 따라 규칙을 추가합니다. 모든 규칙은 AND로 결합됩니다.
  4. 저장을 선택하여 저장 확인 모달을 엽니다.

모든 규칙을 지우고 저장하면 대신 "멤버십 규칙을 제거하시겠습니까?" 모달이 열립니다. 확인하면 팀의 속성 적용이 제거되며, 현재 멤버는 접근 권한을 유지합니다.

사용 가능한 연산자: 같음, 같지 않음, 다음 중 하나, 다음으로 시작, 다음으로 끝남, 포함. 순위 지정 속성의 경우: 정확히 같음, 이상, 초과, 이하, 미만.

Important

규칙을 저장하면 자동 추가가 꺼져 있어도 항상 즉시 팀 동기화가 실행됩니다. 비공개 팀에서는 규칙을 더 이상 충족하지 못하는 멤버가 제거됩니다. 저장하기 전에 확인 모달의 영향 수를 검토하세요.

Note

팀 설정 규칙은 기본 모드만 지원합니다. 고급 CEL 표현식은 여기에서 사용할 수 없습니다. 중첩 논리나 혼합 연산자가 있는 복잡한 규칙은 시스템 관리자가 System Console에서 시스템 전체 상위 정책을 만들어야 합니다.

멤버 자동 추가#

접근 규칙에 따라 멤버 자동 추가 체크박스는 동기화 작업이 자격 요건을 충족하는 비멤버를 팀에 자동으로 추가할지 여부를 제어합니다.

  • 이 체크박스는 규칙이 하나 이상 있거나 시스템 수준 정책이 적용된 경우에만 활성화됩니다.
  • 이를 선택하고 저장하면 즉시 백필 검사가 실행되며, 자격 요건을 충족하는 비멤버가 바로 추가됩니다.
  • 이후 동기화에서도 새로 자격 요건을 충족한 사용자가 계속 추가됩니다.
  • 자동 추가를 끄더라도 멤버가 제거되지 않습니다. 추가만 하는 방식입니다. 자동 추가를 끄는 것도 동기화 작업을 실행하지 않습니다.

접근 규칙 테스트#

접근 규칙 테스트를 선택하면 저장하기 전에 현재 규칙과 일치하는 사용자를 나열하는 미리보기 모달이 열립니다. 이를 통해 규칙을 적용하지 않고도 의도한 범위를 확인할 수 있습니다.

Note

현재 규칙이 편집 중인 팀 관리자를 제외하게 되는 경우, 접근 규칙 테스트 버튼은 결과를 반환하는 대신 설명 툴팁과 함께 비활성화됩니다.

저장 확인 및 안전장치#

저장을 선택하면 변경 사항이 적용되기 전에 확인 모달이 열립니다. 모달에 표시되는 내용은 팀의 모드에 따라 다릅니다.

비공개 팀(엄격):

  • 현재 규칙과 일치하여 접근 권한을 갖게 될 사용자의 수.
  • 규칙과 일치하지 않아 영향을 받을 수 있는 현재 멤버의 수 — 그 수가 0보다 클 때만 표시됩니다.

공개 팀(권고):

  • 규칙이 권고 사항이며 누구도 차단되거나 제거되지 않는다는 안내.
  • 현재 규칙과 일치하는 사용자의 수.

수는 상위 정책과 결합한 팀의 규칙을 기준으로 평가됩니다.

빈 팀 경고: 비공개 팀에서 규칙과 일치하는 사용자가 없으면 모달에 강조된 경고가 표시됩니다. 저장은 차단되지 않지만 동기화가 실행될 때까지 팀이 비어 있게 됩니다.

자기 제외 강제 차단: 비공개 팀에서 규칙이 편집 중인 팀 관리자를 제외하게 되는 경우, 확인 모달 앞에 별도의 오류 모달이 나타나 저장을 막습니다. 편집으로 돌아가기를 선택하여 규칙을 조정하세요. 공개 팀은 예외입니다. 권고 모드는 누구도 제거하지 않기 때문입니다.

Note

설계상 자기 제외 차단은 관리자 본인의 팀 규칙만 평가합니다. 관리자를 제외하는 시스템 수준 상위 정책은 시스템 관리자의 결정이므로 여기에서 차단되지 않습니다.

동기화 상태 푸터(팀 설정)#

자동 추가 섹션 아래에는 팀에 규칙이 하나 이상 있거나 상위 정책이 적용된 경우 항상 동기화 상태 푸터가 나타납니다.

  • "동기화된 적 없음." + 지금 동기화 링크.
  • "마지막 동기화: N분 전." + 지금 동기화 링크.
  • 지금 동기화를 클릭한 후: 스피너와 함께 "동기화 중…" → 완료되면 "마지막 동기화: 방금 전.".

빈 상태(규칙도 상위 정책도 없음)에서는 푸터가 표시되지 않습니다.

지금 동기화를 클릭하면 이 팀으로만 범위가 지정된 팀 동기화 작업이 만들어집니다.

최종 사용자 경험#

팀 찾아보기#

팀 찾아보기 디렉터리는 팀 ABAC 적용을 따릅니다.

비공개 + ABAC 팀(엄격 모드):

  • 아직 멤버가 아닌 자격 요건 미충족 사용자에게는 팀 찾아보기에서 팀이 전혀 보이지 않습니다. 회색으로 표시되거나 잠기는 것이 아니라 팀이 그냥 없습니다.
  • 자격 요건 충족 사용자와 기존 멤버에게는 팀이 정상적으로 표시됩니다.

공개 + ABAC 팀(권고 모드):

  • 모든 사용자에게 팀이 표시됩니다.
  • 아직 멤버가 아닌 자격 요건 충족 사용자에게는 팀 이름 옆에 추천 칩(전구 윤곽선 아이콘)이 표시됩니다.
  • 이미 멤버이거나 정책의 자격 요건을 충족하지 못하는 사용자에게는 칩이 표시되지 않습니다.

정책이 없는 팀:

  • 이전과 완전히 동일하게 동작합니다. 필터링도, 칩도 없습니다.

사용자 초대 모달#

사용자 초대 모달은 팀의 적용 모드에 맞게 조정됩니다.

비공개 + ABAC 팀(엄격 모드):

  • 팀의 멤버십 정책 자격 요건을 충족하는 사용자만 검색 결과에 나타납니다. 자격 요건 미충족 사용자는 결과가 표시되기 전에 걸러집니다.
  • "팀 접근이 사용자 속성으로 제한됩니다"라는 제목의 안내가 관리자에게 알립니다: "멤버십 요건을 충족하는 사용자만 이 팀에 추가할 수 있습니다."
  • 안내에는 정책의 속성 값 태그가 나열됩니다(예: "Department: Engineering").
  • 초대 링크는 다음과 같이 경고합니다: "이 링크를 사용하는 사람은 가입하려면 멤버십 요건을 충족해야 합니다."

공개 + ABAC 팀(권고 모드):

  • 모든 사용자가 검색 결과에 나타납니다. 권고 모드는 접근을 차단하지 않으므로 필터링이 없습니다.
  • "이 팀에는 멤버십 요건이 있습니다"라는 제목의 안내가 계속 표시되며, 요건을 충족하지 못하는 사용자도 가입할 수 있지만 자동으로 추가되지는 않는다고 설명합니다.
  • 초대 링크는 다음과 같이 경고합니다: "이 링크를 사용하는 사람은 멤버십 요건을 충족하지 못해도 가입할 수 있지만 자동으로 추가되지는 않습니다."

정책이 없는 팀:

  • 이전 동작과 달라진 점이 없습니다. 모든 사용자가 나타나고 안내는 표시되지 않습니다.

멤버 추가 흐름(관리자)#

시스템 관리자 또는 팀 관리자가 비공개 + ABAC 팀에서 멤버 추가 관리자 흐름을 사용하면, 자격 요건 미충족 사용자는 제출 시점이 아니라 선택 시점에 차단됩니다.

  • 자격 요건 미충족 후보는 행에 인라인 "멤버십 요건을 충족하지 않음" 표시기가 나타나며 키보드를 포함해 선택할 수 없습니다.
  • 자격 요건 충족 사용자만 선택에 추가할 수 있으므로 추가가 도중에 실패하는 일이 없습니다.

공개 + ABAC 팀(권고 모드)에서는 모든 사용자를 제한 없이 추가할 수 있습니다.

팀 멤버 모달#

팀에 활성 멤버십 정책이 있으면 팀 멤버 모달 상단에 안내 배너가 나타납니다.

  • 비공개 팀: "팀 접근이 사용자 속성으로 제한됩니다" — 멤버십 요건을 충족하는 사람만 멤버가 될 수 있습니다.
  • 공개 팀: "이 팀에는 멤버십 요건이 있습니다" — 요건을 충족하지 못하는 사람도 가입할 수 있지만 자동으로 추가되지는 않습니다.
  • 배너에는 정책의 속성 값 태그가 나열됩니다(예: "Department: Engineering"). 보는 사람이 볼 수 없는 값은 서버 측에서 제거되므로, 해당 값을 갖지 않은 사용자에게는 안내만 표시됩니다.

멤버십 알림#

제거 알림: 동기화 작업이 비공개 팀에서 자격 요건을 충족하지 못하는 멤버를 제거하면, 해당 사용자는 제거된 팀을 알려 주는 시스템 봇의 다이렉트 메시지를 받습니다. 이 메시지에는 정책 이름, 속성 값, CEL 표현식이 포함되지 않습니다.

자동 추가 알림: 동기화 작업이 자격 요건을 충족하는 사용자를 팀에 자동으로 추가하면, 해당 사용자는 추가된 팀을 알려 주는 시스템 봇의 다이렉트 메시지를 받습니다. 제거 알림과 자동 추가 알림은 서로 다른 아이콘을 사용하므로 사용자가 한눈에 구분할 수 있습니다.

정책 상속 및 구성#

상위(시스템 수준) 정책과 사용자 지정 팀 규칙이 모두 적용되는 경우:

  • 상위 정책은 팀 멤버십 탭 상단의 닫을 수 없는 정보 배너에 표시됩니다(읽기 전용).
  • 사용자는 가입이 허용되려면 상위 정책과 사용자 지정 팀 규칙을 모두 충족해야 합니다.
  • 사용자 지정 규칙은 제한만 추가할 수 있으며, 상위 정책을 약화하거나 우회할 수 없습니다.
  • 상위 정책을 삭제해도 팀에서 연결이 해제되거나 팀 자체 규칙이 삭제되지 않습니다. 정책을 삭제하기 전에 각 팀에서 정책 연결을 해제하세요.

동기화 동작#

팀 동기화 배치는 다음 순서로 실행됩니다.

  1. 정책이 할당된 모든 팀에 대해 팀 멤버십 규칙을 평가합니다.
  2. 제거 단계(비공개 + ABAC 팀만 해당): 더 이상 자격 요건을 충족하지 못하는 멤버를 제거합니다. 제거할 때마다 채널 연쇄 제거가 발생하며, 사용자는 팀 내 모든 채널에서 제거됩니다. 제거할 때마다 시스템 봇 다이렉트 메시지로 사용자에게 알리고 감사 로그에 기록합니다. ABAC와 무관한 일반 팀 탈퇴는 정책에 따른 연쇄 제거로 기록되지 않습니다.
  3. 자동 추가 단계(모든 모드, 자동 추가가 활성화된 경우): 자격 요건을 충족하는 비멤버를 팀에 추가합니다. 추가할 때마다 시스템 봇 다이렉트 메시지가 전송됩니다.
  4. 채널 멤버십 동기화(연쇄 실행): 채널 정책 변경 사항을 평가하고 적용합니다. 이미 대기 중이거나 진행 중인 채널 동기화 작업과 중복되지 않도록 처리됩니다.

대량 제거 안전장치: 동기화 단계에서 팀 현재 멤버의 50% 넘게 제거하게 되면, 작업은 동기화 작업 세부 정보 > 팀 탭에서 볼 수 있는 경고 플래그를 설정합니다. 작업은 차단되지 않으며 모든 제거가 진행되지만, 관리자가 검토할 수 있도록 경고가 표시됩니다.

팀 동기화는 LDAP 또는 SAML에서 전파된 속성 변경을 처리하기 위해 일정에 따라 자동으로 실행되기도 합니다. 간격은 AccessControlSettings.SyncJobIntervalSeconds로 설정하며 기본값은 3600초(60분)입니다. 허용되는 최솟값은 60초이며, 변경하려면 서버를 재시작해야 적용됩니다. 같은 간격이 채널 멤버십 동기화에도 적용됩니다. 접근 제어 평가에 사용되는 사용자 속성은 AccessControlSettings.AttributeRefreshIntervalSeconds로 제어되는 별도의 일정에 따라 갱신되며 기본값은 30초입니다. 주기적인 속성 갱신을 비활성화하려면 이 값을 0으로 설정하세요.

그룹 동기화와의 상호 배타성#

LDAP/AD 그룹 동기화로 관리되는 팀에는 ABAC 멤버십 정책을 할당할 수 없습니다. 그룹 동기화 팀에 정책을 할당하려고 하면 오류가 반환됩니다.

팀마다 하나의 멤버십 제어 메커니즘, 즉 그룹 동기화 또는 ABAC 중 하나를 선택해야 합니다.

문제 해결 및 FAQ#

접근 탭이 왜 바뀌었고 「모든 사용자의 가입 허용」 체크박스는 어디로 갔습니까?#

Mattermost v11.10부터 「모든 사용자의 가입 허용」 체크박스는 접근 탭의 공개 팀 및 비공개 팀 선택 카드로 영구 대체되었습니다. 이 변경은 ABAC와 관계없이 모든 배포의 모든 팀에 적용됩니다. 카드는 기존 체크박스와 기능적으로 동일합니다. 공개 팀은 체크박스를 활성화한 것과 같고, 비공개 팀은 비활성화한 것과 같습니다.

팀 설정에 팀 멤버십 탭이 보이지 않는 이유는 무엇입니까?#

이 탭에는 다음 조건이 모두 필요합니다.

  • System Console > System Attributes > Attribute-Based Access에서 속성 기반 접근 제어 활성화가 켜져 있습니다.
  • TeamMembershipAccessControl 기능 플래그가 켜져 있습니다(기본적으로 활성화).
  • 사용자에게 manage_team_access_rules 권한이 있습니다(팀 관리자 또는 시스템 관리자).

세 가지 조건을 모두 충족하는데도 탭이 없다면 System Console > Experimental > Feature Flags 또는 서버 구성에서 기능 플래그가 비활성화되지 않았는지 확인하세요.

일부 사용자에게 비공개 ABAC 팀이 팀 찾아보기에 나타나지 않는 이유는 무엇입니까?#

의도된 동작입니다. 비공개 팀에 ABAC 정책이 있고 사용자가 그 정책을 충족하지 못하면, 팀 찾아보기와 검색 결과에서 해당 사용자에게 팀이 완전히 숨겨집니다. 오류나 잠긴 항목이 표시되지 않고 팀이 그냥 나타나지 않습니다. 자격 요건을 충족하는 사용자에게는 팀이 정상적으로 표시됩니다.

팀 설정에서 고급 CEL 표현식을 사용할 수 있습니까?#

아니요. 팀 멤버십 탭은 채널 설정에서 사용할 수 있는 것과 같은 단순한 속성 편집기인 기본 모드만 사용합니다. 중첩 논리, 혼합 && / || 연산자 또는 그룹화가 필요한 규칙은 시스템 관리자가 System Console의 CEL 편집기를 사용하여 시스템 전체 상위 정책을 만들어야 합니다.

그룹 동기화 팀에서 ABAC를 사용할 수 있습니까?#

아니요. 그룹 동기화와 ABAC는 팀 단위로 상호 배타적입니다. 팀이 그룹 제약을 받는 경우 ABAC 정책을 할당하면 오류가 반환됩니다. ABAC 정책을 적용하기 전에 그룹 동기화 구성을 제거해야 하며, 반대의 경우도 마찬가지입니다.

멤버십 변경 사항은 얼마나 빨리 적용됩니까?#

팀 설정 또는 System Console에서 규칙을 저장하면 자동 추가가 꺼져 있을 때도 즉시 팀 동기화가 실행됩니다. 비공개 팀에서의 제거를 포함한 적용 단계가 자동 추가 설정과 관계없이 실행되기 때문입니다. 변경 사항은 동기화가 완료되는 즉시 적용됩니다. LDAP 또는 SAML의 속성 변경을 처리하기 위해 AccessControlSettings.SyncJobIntervalSeconds에 설정된 간격(기본값 60분)으로 예약된 동기화도 실행됩니다. 접근 제어 평가에 사용되는 사용자 속성은 AccessControlSettings.AttributeRefreshIntervalSeconds에 설정된 간격(기본값 30초)으로 갱신됩니다.

시스템 관리자 역할은 팀 ABAC 적용을 우회합니까?#

아니요. 시스템 관리자를 포함한 모든 역할이 팀 ABAC 정책 평가의 대상입니다. 비공개 팀의 정책을 충족하지 못하는 시스템 관리자는 표준 UI를 통해 해당 팀에 멤버로 가입할 수 없지만, System Console에서 팀 구성에 접근하고 변경할 수는 있습니다.

정책이 할당된 상태에서 팀을 공개에서 비공개로 전환하면 어떻게 됩니까?#

팀 ABAC가 활성화되어 있고(Enterprise Advanced 라이선스 및 속성 기반 접근 제어 활성화) 팀에 정책이 할당되어 있으면, 비공개 팀을 클릭할 때 정책 기준을 충족하지 못하는 현재 멤버의 수를 보여 주는 "비공개 팀으로 전환하시겠습니까?" 확인 모달이 열립니다. 전환을 확인하면 변경 사항이 저장되고 엄격 모드를 적용하기 위한 동기화가 즉시 실행됩니다. 자격 요건을 충족하지 못하는 멤버는 해당 동기화에서 제거됩니다.

전환하는 관리자 본인이 기준을 충족하지 못하면 "비공개 팀으로 전환할 수 없음" 모달과 함께 전환이 차단됩니다.

정책이 할당되지 않았으면 확인 없이 바로 전환이 저장됩니다.

정책이 할당된 상태에서 팀을 비공개에서 공개로 전환하면 어떻게 됩니까?#

비공개에서 공개로 전환하면 항상 확인 모달 없이 바로 저장됩니다. 팀은 즉시 권고 모드로 전환되며, 자격 요건을 충족하지 못하는 멤버를 포함한 기존 멤버는 유지되고 제거는 발생하지 않습니다. 정책은 계속해서 추천 태그와 자격 요건 충족 사용자에 대한 선택적 자동 추가를 제어합니다.

자격 요건을 충족하지 못하는 사용자를 비공개 ABAC 팀에 추가할 수 있습니까?#

아니요. 적용 제한은 모든 추가 경로에 적용됩니다. 사용자 초대 모달(자격 요건 미충족 사용자는 검색 결과에서 완전히 걸러짐), 멤버 추가 관리자 흐름(자격 요건 미충족 사용자는 선택할 수 없음), 직접 API 호출이 모두 해당합니다. 오류 메시지는 일반적인 문구이며 정책 이름이나 속성 세부 정보를 노출하지 않습니다.

ABAC는 이메일 도메인 제한과 어떻게 상호 작용합니까?#

이메일 도메인 제한(접근 탭에서 구성)과 ABAC 규칙(팀 멤버십 탭)은 독립적으로 적용되며, 사용자는 팀에 가입하려면 둘 다 충족해야 합니다. 도메인 검사가 먼저 실행되므로 도메인 때문에 거부된 사용자는 정책 평가에 도달하지 않습니다. 두 설정은 구성 시점에 서로 교차 검증되지 않으므로, 예기치 않은 접근 거부를 디버깅할 때는 두 설정을 함께 검토하세요.

자동 추가가 꺼져 있는데도 규칙을 저장하면 동기화가 실행되는 이유는 무엇입니까?#

자동 추가는 추가 단계(동기화가 자격 요건을 충족하는 비멤버를 추가할지 여부)만 제어합니다. 적용 단계(비공개 팀에서 자격 요건을 충족하지 못하는 멤버 제거)는 자동 추가와 관계없이 규칙이 있을 때마다 실행됩니다. 이렇게 하면 새로 저장했거나 변경한 규칙이 다음 예약 동기화까지 최대 60분을 기다리지 않고 즉시 적용됩니다.

팀 멤버십 접근 정책

Mattermost v12.0
원문 보기

요약

Mattermost v11.10부터 시스템 관리자와 팀 관리자는 속성 기반 접근 제어(ABAC)를 팀에 직접 적용하여 사용자 프로필 속성을 기준으로 팀에 가입할 수 있는 사용자를 제어할 수 있습니다. 팀 멤버십 ABAC는 채널 ABAC와 동일한 정책과 속성 규칙을 사용하지만, 팀이 공개인지 비공개인지에 따라 다르게 동작합니다.

사용 가능 플랜: Entry, Enterprise Advanced

Mattermost v11.10부터 시스템 관리자와 팀 관리자는 속성 기반 접근 제어(ABAC)를 팀에 직접 적용하여 사용자 프로필 속성을 기준으로 팀에 가입할 수 있는 사용자를 제어할 수 있습니다. 이는 기존 ABAC 채널 멤버십 시스템을 팀 경계로 확장하여, 채널 정책을 충족하지 못한 사용자도 팀과 팀의 멤버 목록, 채널 구조를 볼 수 있었던 「복도 접근」 공백을 해소합니다.

팀 멤버십 ABAC는 채널 ABAC와 동일한 정책과 속성 규칙을 사용하지만, 팀이 공개인지 비공개인지에 따라 다르게 동작합니다.

  • 공개 팀(권고 모드): 정책은 접근을 차단하지 않습니다. 누구나 자유롭게 가입할 수 있습니다. 아직 멤버가 아닌 자격 요건 충족 사용자에게는 팀 찾아보기에 추천 칩이 표시됩니다. 자동 추가가 활성화된 경우 동기화가 자격 요건 충족 사용자를 자동으로 추가할 수 있지만, 누구도 제거하지 않습니다.
  • 비공개 팀(엄격 모드): 정책이 디렉터리 표시 여부, 가입 평가, 동기화 시 멤버십을 제어합니다. 자격 요건을 충족하지 못한 사용자는 팀을 찾거나 가입할 수 없습니다. 자격 요건을 충족하지 못한 멤버는 다음 동기화에서 제거됩니다.
Note

업그레이드 안내: 팀 설정의 접근 탭은 Mattermost v11.10부터 새 UI로 바뀌었으며, ABAC 라이선스 보유 또는 활성화 여부와 관계없이 모든 배포의 모든 팀에 영향을 줍니다. 기존의 「모든 사용자의 가입 허용」 체크박스는 공개 팀 / 비공개 팀 선택 카드로 대체되었습니다. 자세한 내용은 접근 탭: 공개/비공개 팀 카드를 참조하세요.

접근 탭: 공개/비공개 팀 카드#

Important

이 변경은 ABAC 활성화 여부나 조직의 Enterprise Advanced 라이선스 보유 여부와 관계없이 모든 배포의 모든 Mattermost 팀에 영향을 줍니다. 업그레이드 후 Team Settings > Access를 여는 모든 팀 관리자에게 새 UI가 표시됩니다. 단, LDAP/AD 그룹 동기화로 관리되는 팀은 카드 대신 정적 메시지가 표시됩니다. 자세한 내용은 모드 전환을 참조하세요.

변경 내용: 「모든 사용자의 가입 허용」 체크박스가 두 개의 선택 카드로 영구 대체되었습니다.

  • 공개 팀 — 서버의 누구나 찾아서 가입할 수 있습니다.
  • 비공개 팀 — 초대된 멤버만 가입할 수 있습니다.

변경 이유: 카드는 팀의 공개 또는 비공개 상태를 명시적이고 모호하지 않게 만들며, 팀 ABAC 적용이 권고 모드와 엄격 모드 중 무엇을 사용할지 결정하는 근거가 바로 이 상태입니다.

ABAC를 사용하지 않을 때의 동작: 기존 체크박스와 기능적으로 동일합니다. 공개 팀은 「모든 사용자의 가입 허용」이 켜져 있던 경우이고, 비공개 팀은 꺼져 있던 경우입니다. 멤버십 정책이 없는 팀의 다른 동작은 변경되지 않습니다.

ABAC를 사용할 때의 동작: 카드가 적용 모드를 결정합니다. 공개 팀에는 권고 ABAC가, 비공개 팀에는 엄격 ABAC가 적용됩니다. 정책이 적용된 팀의 모드를 변경하면 확인 모달이 표시될 수 있습니다(아래 참조).

새 팀의 기본값: 새 팀은 기본적으로 비공개이므로, 모드를 명시적으로 선택하기 전에 할당된 정책은 엄격 적용을 활성화합니다. 팀은 기본적으로 항상 보호되며, 권고 모드를 사용하려면 공개 팀을 명시적으로 선택해야 합니다.

모드 전환#

비공개 → 공개: 적용을 완화합니다. 확인 모달 없이 바로 저장됩니다. 정책이 적용되어 있으면 팀은 즉시 권고 모드로 전환되며, 기존 멤버는 제거되지 않습니다.

공개 → 비공개: 팀 ABAC가 활성화되어 있고(Enterprise Advanced 라이선스 및 속성 기반 접근 제어 활성화) 팀에 멤버십 정책이 할당되어 있으면, 비공개 팀을 클릭할 때 저장하기 전에 확인 모달이 열립니다.

  • 제목: "비공개 팀으로 전환하시겠습니까?"
  • 본문에는 정책 기준을 충족하지 못해 다음 동기화에서 제거될 현재 멤버의 수가 표시됩니다. 현재 멤버가 모두 기준을 충족하면 모달에 제거될 사람이 없다고 표시됩니다. 수를 알 수 없으면 대신 일반 경고가 표시됩니다.
  • 취소 — 모달을 닫으며 변경하지 않습니다.
  • 비공개로 전환 — 변경 사항을 저장하고 즉시 팀 동기화 작업을 만들어 엄격 모드를 적용합니다.

전환하는 관리자가 정책 기준을 충족하지 못하면, 엄격 모드에서는 해당 관리자가 팀에서 제거되므로 대신 "비공개 팀으로 전환할 수 없음" 오류 모달이 나타나고 전환이 차단됩니다. 자신이 포함되도록 규칙을 업데이트하거나 다른 관리자에게 전환을 요청하세요.

정책이 할당되지 않았으면 공개 → 비공개 전환은 모달 없이 바로 저장됩니다.

접근 탭의 다른 필드(초대 코드 및 허용된 이메일 도메인)는 이 변경의 영향을 받지 않습니다. LDAP/AD 그룹 동기화로 관리되는 팀에서는 접근 탭에 카드 대신 「이 팀의 멤버는 연결된 그룹에 의해 추가 및 제거됩니다」라는 정적 메시지가 표시됩니다.

권고 및 엄격 적용#

정책이 엄격하게 적용되는지 권고로 처리되는지는 팀이 공개인지 비공개인지에 따라서만 결정됩니다. 아래 표는 각 조합의 동작을 요약합니다.

팀 ABAC 정책 가입 제한 팀 찾아보기 동기화 제거 추천 태그
공개 없음 개방 모두에게 표시 해당 없음 아니요
공개 있음 — 권고 개방(제한 없음) 모두에게 표시 건너뜀 예(자격 요건 충족 비멤버)
비공개 없음 초대 전용 멤버에게만 표시 해당 없음 아니요
비공개 있음 — 엄격 자격 요건 미충족 사용자는 거부 자격 요건 미충족 비멤버에게는 숨김 자격 요건 미충족 사용자 제거 아니요
Note

자동 추가는 권고 모드와 엄격 모드 모두에 적용되는 유일한 동작입니다. 활성화하면 팀이 공개인지 비공개인지와 관계없이 동기화가 자격 요건을 충족하는 비멤버를 추가합니다.

사전 요구 사항#

팀 멤버십 정책을 구성하기 전에 다음을 확인하세요.

  1. System Console에서 사용자 속성을 구성합니다. Mattermost v12.0 이상은 속성 관리를, 이전 릴리즈는 사용자 속성을 참조하세요.
  2. System Console > System Attributes > Attribute-Based Access로 이동하여 속성 기반 접근 제어 활성화를 활성화합니다.
  3. 규칙을 구성하는 팀 관리자의 경우: manage_team_access_rules 권한이 필요합니다. 이 권한은 기본적으로 팀 관리자 역할에 포함되어 있습니다.

팀 멤버십 ABAC는 Mattermost v11.10부터 기본적으로 활성화되어 있는 TeamMembershipAccessControl 기능 플래그로도 제어됩니다. 이 플래그를 비활성화하면 채널 ABAC에는 영향 없이 팀 적용이 꺼집니다. 자세한 내용은 Mattermost 개발자 문서의 셀프 호스팅 배포의 기능 플래그를 참조하세요.

팀 멤버십 ABAC가 꺼져 있을 때 달라지는 점:

화면 팀 멤버십 ABAC 켜짐 팀 멤버십 ABAC 꺼짐
가입 제한(비공개 팀) 적용됨 — 자격 요건 미충족 사용자 거부 평가하지 않음 — 비공개 팀은 이전처럼 초대 전용으로 유지
팀 찾아보기 필터 비공개+ABAC 팀이 자격 요건 미충족 사용자에게 숨겨짐 속성 필터링 없음 — 표준 개인정보 보호 규칙 적용
팀 멤버십 탭(팀 설정) 팀 관리자와 시스템 관리자에게 표시 숨김 — 탭이 나타나지 않음
System Console 팀별 ABAC 제어 정책 할당 및 사용자 지정 규칙 패널 표시 숨김
추천 태그 공개+ABAC 팀에서 자격 요건 충족 사용자에게 표시 표시되지 않음
동기화 작업 — 제거 단계 비공개+ABAC 팀에서 자격 요건 미충족 사용자 제거 팀 동기화 작업이 실행되지 않음
초대 모달 필터링 비공개+ABAC 팀에서 필터링 이전처럼 모든 사용자 표시
공개/비공개 카드(접근 탭) 표시 — 제어 대상 아님 계속 표시 — 그룹 동기화 팀을 제외한 모든 팀에서 렌더링
채널 ABAC 영향 없음 영향 없음

시스템 관리자 구성#

팀에 멤버십 정책 할당#

시스템 관리자는 팀별 System Console 페이지를 통해 기존 시스템 전체 멤버십 정책을 팀에 할당합니다.

  1. System Console > User Management > Teams로 이동하여 구성할 팀을 엽니다.
  2. 팀 관리 섹션에서 속성 기반 멤버십 정책으로 멤버십 관리를 활성화합니다. 멤버십 정책 및 팀별 멤버십 규칙 섹션은 이 토글을 켠 후에만 나타납니다. 이 토글은 그룹 동기화 팀에서는 사용할 수 없으며, 정책이 연결되면 읽기 전용이 됩니다.
  3. 멤버십 정책 섹션에서 정책에 연결을 선택하고 선택기에서 기존 정책을 고릅니다.
  4. 저장을 선택합니다.

저장하기 전에 멤버십 정책 적용 확인 모달이 나타납니다. 이 모달에는 해당 팀에 적용되는 결과만 표시됩니다.

  • 정책 기준을 충족하지 못해 다음 동기화에서 제거될 현재 멤버의 수 — 비공개 팀에만 해당하며, 그 수가 0보다 클 때만 표시됩니다.
  • 다음 동기화에서 추가될 자격 요건 충족 사용자의 수 — 자동 추가가 활성화되어 있고 그 수가 0보다 클 때만 표시됩니다.
  • 팀이 비공개이고 정책과 일치하는 사용자가 없는 경우의 빈 팀 경고(「저장하면 비공개 팀이 비어 있을 수 있습니다」).
  • 확인 메시지: 「멤버십 정책을 적용하시겠습니까?」

정책을 제거하려면: 정책 행 옆의 휴지통 아이콘을 선택하고 "이 팀을 정책에서 제거" 모달에서 확인한 다음 저장을 선택합니다. 기존 멤버는 유지되며 팀은 다음 동기화에서 표준 접근 모드로 돌아갑니다.

정책 목록의 팀 수: 멤버십 정책 목록 페이지에는 각 정책이 적용된 채널 수와 팀 수가 표시됩니다(예: 2 channels, 1 team). 0인 항목은 생략됩니다(즉 0 channels, 1 team이 아니라 1 team).

팀별 멤버십 규칙 구성#

시스템 전체 상위 정책 외에도 시스템 관리자는 팀별 System Console 페이지에서 팀별 규칙을 직접 정의할 수 있습니다.

  1. System Console > User Management > Teams로 이동하여 팀을 엽니다.

  2. 속성 기반 멤버십 정책으로 멤버십 관리 스위치를 활성화합니다.

  3. 팀별 멤버십 규칙 패널로 스크롤합니다.

  4. 속성 추가를 선택하여 조건을 추가합니다. 각 조건에 대해 다음을 선택합니다.

    • 속성: 평가할 사용자 프로필 속성입니다.
    • 연산자: 속성이 일치해야 하는 방식입니다. 옵션: 같음, 같지 않음, 다음 중 하나, 다음으로 시작, 다음으로 끝남, 포함. 순위 지정 속성의 경우: 정확히 같음, 이상, 초과, 이하, 미만.
    • 값: 필요한 속성 값입니다.

    모든 조건은 논리 AND로 결합되므로 사용자는 모든 조건을 충족해야 합니다.

  5. 선택적으로 접근 규칙에 따라 멤버 자동 추가를 선택합니다. 이 체크박스는 팀에 규칙이 하나 이상 있거나 연결된 상위 정책이 있을 때 활성화됩니다. 자동 추가 설정은 팀당 하나뿐이며, 연결된 정책별로 구성하지 않습니다.

  6. 저장을 선택합니다. 변경 사항이 적용되기 전에 멤버십 정책 적용 모달에 영향 수가 표시됩니다.

Important

규칙을 저장하면 자동 추가가 꺼져 있어도 항상 즉시 팀 동기화가 실행됩니다. 비공개 팀에서는 더 이상 자격 요건을 충족하지 못하는 멤버를 제거하여 규칙을 즉시 적용합니다. 진행하기 전에 저장 모달에서 영향을 확인하세요.

Note

팀별 규칙은 팀에 할당된 모든 상위 정책과 누적하여 구성됩니다. 사용자는 상위 정책과 팀별 규칙을 모두 충족해야 합니다. 팀별 규칙은 상위 정책을 약화하거나 우회할 수 없습니다.

동기화 상태 푸터(System Console)#

동기화 상태 푸터는 팀별 멤버십 규칙 패널 하단에 렌더링됩니다. 패널 안에서 아래로 스크롤하여 찾으세요.

  • "동기화된 적 없음."과 지금 동기화 링크 — 이 팀에 대해 아직 동기화가 실행된 적이 없습니다.
  • "마지막 동기화: N분 전."과 지금 동기화 링크 — 이전 동기화 이후입니다. 더 오래된 동기화는 시간 또는 일 단위로 표시됩니다.
  • 지금 동기화를 클릭하면 작업이 진행되는 동안 링크가 스피너와 함께 "동기화 중…"으로 바뀌고, 완료되면 "마지막 동기화: 방금 전."으로 업데이트됩니다.

멤버십 동기화 모니터링#

시스템 관리자는 System Console에서 팀 동기화 작업의 결과를 검토할 수 있습니다.

  1. System Console > System Attributes > Membership Policies로 이동하여 멤버십 동기화 작업 패널로 스크롤합니다.
  2. 작업 행을 선택하여 동기화 작업 세부 정보 모달을 엽니다.
  3. 팀 탭을 선택합니다.

팀 탭에는 다음과 함께 팀별 행이 표시됩니다.

  • 관리 대상 팀마다 +N added / −N removed 요약.
  • 멤버의 50% 넘게 제거될 팀 행의 대량 제거 경고 표시기. 경고일 뿐이며 작업은 차단되지 않습니다.
  • 어떤 사용자가 추가되고 제거되었는지 보여 주는, 펼칠 수 있는 팀별 사용자 상세 내역.
Note

팀 탭은 팀 동기화 작업을 직접 보거나 팀 동기화에서 이어진 채널 동기화 작업을 볼 때만 나타납니다. System Console 섹션 제목은 두 작업 유형을 모두 반영하도록 「Channel access control sync jobs」에서 "멤버십 동기화 작업"으로 변경되었습니다.

Tip

멤버십 정책 페이지의 채널 동기화 실행 버튼은 팀 동기화가 아니라 채널 동기화만 실행합니다. 팀 동기화를 실행하려면 팀별 System Console 페이지 또는 Team Settings > Team Membership 탭의 지금 동기화 링크를 사용하세요.

팀 관리자 구성#

팀 멤버십 탭#

Mattermost v11.10부터 팀 설정에는 정보, 접근, 팀 멤버십, 채널 멤버십의 네 가지 탭이 있습니다.

Note

네 번째 탭은 이전에 멤버십 정책으로 표시되었습니다. 지금은 채널 멤버십으로 표시되며 채널 범위 정책만 다룹니다. 새 팀 멤버십 탭(세 번째 탭)은 팀 자체에 가입할 수 있는 사용자를 제어하는 정책을 위한 것입니다.

팀 멤버십 탭에서는 팀 관리자가 팀에 적용된 시스템 정책을 보고 팀별 사용자 지정 규칙을 구성할 수 있으며, 변경할 때마다 시스템 관리자가 개입할 필요가 없습니다.

이 탭은 다음 조건에서만 표시됩니다.

  • 속성 기반 접근 제어 활성화가 켜져 있습니다.
  • TeamMembershipAccessControl 기능 플래그가 켜져 있습니다(기본적으로 활성화).
  • 사용자에게 manage_team_access_rules 권한이 있습니다(팀 관리자 또는 시스템 관리자).

팀 설정을 열려면 사이드바에서 팀 이름을 선택한 다음 팀 설정 → 팀 멤버십 탭을 선택합니다.

시스템 정책 표시기#

시스템 관리자가 시스템 수준 정책을 팀에 적용하면 팀 멤버십 탭 상단에 적용된 정책의 이름을 보여 주는, 닫을 수 없는 정보 배너가 나타납니다. 상위 정책이 없으면 배너가 나타나지 않습니다.

사용자 지정 규칙 구성#

팀 관리자는 모든 시스템 정책 위에 적용되는 속성 규칙을 추가할 수 있습니다. 이 규칙은 채널 규칙과 동일한 기본 모드 편집기를 사용합니다.

  1. 속성 추가를 선택합니다.
  2. 각 조건의 속성, 연산자, 값을 선택합니다.
  3. 필요에 따라 규칙을 추가합니다. 모든 규칙은 AND로 결합됩니다.
  4. 저장을 선택하여 저장 확인 모달을 엽니다.

모든 규칙을 지우고 저장하면 대신 "멤버십 규칙을 제거하시겠습니까?" 모달이 열립니다. 확인하면 팀의 속성 적용이 제거되며, 현재 멤버는 접근 권한을 유지합니다.

사용 가능한 연산자: 같음, 같지 않음, 다음 중 하나, 다음으로 시작, 다음으로 끝남, 포함. 순위 지정 속성의 경우: 정확히 같음, 이상, 초과, 이하, 미만.

Important

규칙을 저장하면 자동 추가가 꺼져 있어도 항상 즉시 팀 동기화가 실행됩니다. 비공개 팀에서는 규칙을 더 이상 충족하지 못하는 멤버가 제거됩니다. 저장하기 전에 확인 모달의 영향 수를 검토하세요.

Note

팀 설정 규칙은 기본 모드만 지원합니다. 고급 CEL 표현식은 여기에서 사용할 수 없습니다. 중첩 논리나 혼합 연산자가 있는 복잡한 규칙은 시스템 관리자가 System Console에서 시스템 전체 상위 정책을 만들어야 합니다.

멤버 자동 추가#

접근 규칙에 따라 멤버 자동 추가 체크박스는 동기화 작업이 자격 요건을 충족하는 비멤버를 팀에 자동으로 추가할지 여부를 제어합니다.

  • 이 체크박스는 규칙이 하나 이상 있거나 시스템 수준 정책이 적용된 경우에만 활성화됩니다.
  • 이를 선택하고 저장하면 즉시 백필 검사가 실행되며, 자격 요건을 충족하는 비멤버가 바로 추가됩니다.
  • 이후 동기화에서도 새로 자격 요건을 충족한 사용자가 계속 추가됩니다.
  • 자동 추가를 끄더라도 멤버가 제거되지 않습니다. 추가만 하는 방식입니다. 자동 추가를 끄는 것도 동기화 작업을 실행하지 않습니다.

접근 규칙 테스트#

접근 규칙 테스트를 선택하면 저장하기 전에 현재 규칙과 일치하는 사용자를 나열하는 미리보기 모달이 열립니다. 이를 통해 규칙을 적용하지 않고도 의도한 범위를 확인할 수 있습니다.

Note

현재 규칙이 편집 중인 팀 관리자를 제외하게 되는 경우, 접근 규칙 테스트 버튼은 결과를 반환하는 대신 설명 툴팁과 함께 비활성화됩니다.

저장 확인 및 안전장치#

저장을 선택하면 변경 사항이 적용되기 전에 확인 모달이 열립니다. 모달에 표시되는 내용은 팀의 모드에 따라 다릅니다.

비공개 팀(엄격):

  • 현재 규칙과 일치하여 접근 권한을 갖게 될 사용자의 수.
  • 규칙과 일치하지 않아 영향을 받을 수 있는 현재 멤버의 수 — 그 수가 0보다 클 때만 표시됩니다.

공개 팀(권고):

  • 규칙이 권고 사항이며 누구도 차단되거나 제거되지 않는다는 안내.
  • 현재 규칙과 일치하는 사용자의 수.

수는 상위 정책과 결합한 팀의 규칙을 기준으로 평가됩니다.

빈 팀 경고: 비공개 팀에서 규칙과 일치하는 사용자가 없으면 모달에 강조된 경고가 표시됩니다. 저장은 차단되지 않지만 동기화가 실행될 때까지 팀이 비어 있게 됩니다.

자기 제외 강제 차단: 비공개 팀에서 규칙이 편집 중인 팀 관리자를 제외하게 되는 경우, 확인 모달 앞에 별도의 오류 모달이 나타나 저장을 막습니다. 편집으로 돌아가기를 선택하여 규칙을 조정하세요. 공개 팀은 예외입니다. 권고 모드는 누구도 제거하지 않기 때문입니다.

Note

설계상 자기 제외 차단은 관리자 본인의 팀 규칙만 평가합니다. 관리자를 제외하는 시스템 수준 상위 정책은 시스템 관리자의 결정이므로 여기에서 차단되지 않습니다.

동기화 상태 푸터(팀 설정)#

자동 추가 섹션 아래에는 팀에 규칙이 하나 이상 있거나 상위 정책이 적용된 경우 항상 동기화 상태 푸터가 나타납니다.

  • "동기화된 적 없음." + 지금 동기화 링크.
  • "마지막 동기화: N분 전." + 지금 동기화 링크.
  • 지금 동기화를 클릭한 후: 스피너와 함께 "동기화 중…" → 완료되면 "마지막 동기화: 방금 전.".

빈 상태(규칙도 상위 정책도 없음)에서는 푸터가 표시되지 않습니다.

지금 동기화를 클릭하면 이 팀으로만 범위가 지정된 팀 동기화 작업이 만들어집니다.

최종 사용자 경험#

팀 찾아보기#

팀 찾아보기 디렉터리는 팀 ABAC 적용을 따릅니다.

비공개 + ABAC 팀(엄격 모드):

  • 아직 멤버가 아닌 자격 요건 미충족 사용자에게는 팀 찾아보기에서 팀이 전혀 보이지 않습니다. 회색으로 표시되거나 잠기는 것이 아니라 팀이 그냥 없습니다.
  • 자격 요건 충족 사용자와 기존 멤버에게는 팀이 정상적으로 표시됩니다.

공개 + ABAC 팀(권고 모드):

  • 모든 사용자에게 팀이 표시됩니다.
  • 아직 멤버가 아닌 자격 요건 충족 사용자에게는 팀 이름 옆에 추천 칩(전구 윤곽선 아이콘)이 표시됩니다.
  • 이미 멤버이거나 정책의 자격 요건을 충족하지 못하는 사용자에게는 칩이 표시되지 않습니다.

정책이 없는 팀:

  • 이전과 완전히 동일하게 동작합니다. 필터링도, 칩도 없습니다.

사용자 초대 모달#

사용자 초대 모달은 팀의 적용 모드에 맞게 조정됩니다.

비공개 + ABAC 팀(엄격 모드):

  • 팀의 멤버십 정책 자격 요건을 충족하는 사용자만 검색 결과에 나타납니다. 자격 요건 미충족 사용자는 결과가 표시되기 전에 걸러집니다.
  • "팀 접근이 사용자 속성으로 제한됩니다"라는 제목의 안내가 관리자에게 알립니다: "멤버십 요건을 충족하는 사용자만 이 팀에 추가할 수 있습니다."
  • 안내에는 정책의 속성 값 태그가 나열됩니다(예: "Department: Engineering").
  • 초대 링크는 다음과 같이 경고합니다: "이 링크를 사용하는 사람은 가입하려면 멤버십 요건을 충족해야 합니다."

공개 + ABAC 팀(권고 모드):

  • 모든 사용자가 검색 결과에 나타납니다. 권고 모드는 접근을 차단하지 않으므로 필터링이 없습니다.
  • "이 팀에는 멤버십 요건이 있습니다"라는 제목의 안내가 계속 표시되며, 요건을 충족하지 못하는 사용자도 가입할 수 있지만 자동으로 추가되지는 않는다고 설명합니다.
  • 초대 링크는 다음과 같이 경고합니다: "이 링크를 사용하는 사람은 멤버십 요건을 충족하지 못해도 가입할 수 있지만 자동으로 추가되지는 않습니다."

정책이 없는 팀:

  • 이전 동작과 달라진 점이 없습니다. 모든 사용자가 나타나고 안내는 표시되지 않습니다.

멤버 추가 흐름(관리자)#

시스템 관리자 또는 팀 관리자가 비공개 + ABAC 팀에서 멤버 추가 관리자 흐름을 사용하면, 자격 요건 미충족 사용자는 제출 시점이 아니라 선택 시점에 차단됩니다.

  • 자격 요건 미충족 후보는 행에 인라인 "멤버십 요건을 충족하지 않음" 표시기가 나타나며 키보드를 포함해 선택할 수 없습니다.
  • 자격 요건 충족 사용자만 선택에 추가할 수 있으므로 추가가 도중에 실패하는 일이 없습니다.

공개 + ABAC 팀(권고 모드)에서는 모든 사용자를 제한 없이 추가할 수 있습니다.

팀 멤버 모달#

팀에 활성 멤버십 정책이 있으면 팀 멤버 모달 상단에 안내 배너가 나타납니다.

  • 비공개 팀: "팀 접근이 사용자 속성으로 제한됩니다" — 멤버십 요건을 충족하는 사람만 멤버가 될 수 있습니다.
  • 공개 팀: "이 팀에는 멤버십 요건이 있습니다" — 요건을 충족하지 못하는 사람도 가입할 수 있지만 자동으로 추가되지는 않습니다.
  • 배너에는 정책의 속성 값 태그가 나열됩니다(예: "Department: Engineering"). 보는 사람이 볼 수 없는 값은 서버 측에서 제거되므로, 해당 값을 갖지 않은 사용자에게는 안내만 표시됩니다.

멤버십 알림#

제거 알림: 동기화 작업이 비공개 팀에서 자격 요건을 충족하지 못하는 멤버를 제거하면, 해당 사용자는 제거된 팀을 알려 주는 시스템 봇의 다이렉트 메시지를 받습니다. 이 메시지에는 정책 이름, 속성 값, CEL 표현식이 포함되지 않습니다.

자동 추가 알림: 동기화 작업이 자격 요건을 충족하는 사용자를 팀에 자동으로 추가하면, 해당 사용자는 추가된 팀을 알려 주는 시스템 봇의 다이렉트 메시지를 받습니다. 제거 알림과 자동 추가 알림은 서로 다른 아이콘을 사용하므로 사용자가 한눈에 구분할 수 있습니다.

정책 상속 및 구성#

상위(시스템 수준) 정책과 사용자 지정 팀 규칙이 모두 적용되는 경우:

  • 상위 정책은 팀 멤버십 탭 상단의 닫을 수 없는 정보 배너에 표시됩니다(읽기 전용).
  • 사용자는 가입이 허용되려면 상위 정책과 사용자 지정 팀 규칙을 모두 충족해야 합니다.
  • 사용자 지정 규칙은 제한만 추가할 수 있으며, 상위 정책을 약화하거나 우회할 수 없습니다.
  • 상위 정책을 삭제해도 팀에서 연결이 해제되거나 팀 자체 규칙이 삭제되지 않습니다. 정책을 삭제하기 전에 각 팀에서 정책 연결을 해제하세요.

동기화 동작#

팀 동기화 배치는 다음 순서로 실행됩니다.

  1. 정책이 할당된 모든 팀에 대해 팀 멤버십 규칙을 평가합니다.
  2. 제거 단계(비공개 + ABAC 팀만 해당): 더 이상 자격 요건을 충족하지 못하는 멤버를 제거합니다. 제거할 때마다 채널 연쇄 제거가 발생하며, 사용자는 팀 내 모든 채널에서 제거됩니다. 제거할 때마다 시스템 봇 다이렉트 메시지로 사용자에게 알리고 감사 로그에 기록합니다. ABAC와 무관한 일반 팀 탈퇴는 정책에 따른 연쇄 제거로 기록되지 않습니다.
  3. 자동 추가 단계(모든 모드, 자동 추가가 활성화된 경우): 자격 요건을 충족하는 비멤버를 팀에 추가합니다. 추가할 때마다 시스템 봇 다이렉트 메시지가 전송됩니다.
  4. 채널 멤버십 동기화(연쇄 실행): 채널 정책 변경 사항을 평가하고 적용합니다. 이미 대기 중이거나 진행 중인 채널 동기화 작업과 중복되지 않도록 처리됩니다.

대량 제거 안전장치: 동기화 단계에서 팀 현재 멤버의 50% 넘게 제거하게 되면, 작업은 동기화 작업 세부 정보 > 팀 탭에서 볼 수 있는 경고 플래그를 설정합니다. 작업은 차단되지 않으며 모든 제거가 진행되지만, 관리자가 검토할 수 있도록 경고가 표시됩니다.

팀 동기화는 LDAP 또는 SAML에서 전파된 속성 변경을 처리하기 위해 일정에 따라 자동으로 실행되기도 합니다. 간격은 AccessControlSettings.SyncJobIntervalSeconds로 설정하며 기본값은 3600초(60분)입니다. 허용되는 최솟값은 60초이며, 변경하려면 서버를 재시작해야 적용됩니다. 같은 간격이 채널 멤버십 동기화에도 적용됩니다. 접근 제어 평가에 사용되는 사용자 속성은 AccessControlSettings.AttributeRefreshIntervalSeconds로 제어되는 별도의 일정에 따라 갱신되며 기본값은 30초입니다. 주기적인 속성 갱신을 비활성화하려면 이 값을 0으로 설정하세요.

그룹 동기화와의 상호 배타성#

LDAP/AD 그룹 동기화로 관리되는 팀에는 ABAC 멤버십 정책을 할당할 수 없습니다. 그룹 동기화 팀에 정책을 할당하려고 하면 오류가 반환됩니다.

팀마다 하나의 멤버십 제어 메커니즘, 즉 그룹 동기화 또는 ABAC 중 하나를 선택해야 합니다.

문제 해결 및 FAQ#

접근 탭이 왜 바뀌었고 「모든 사용자의 가입 허용」 체크박스는 어디로 갔습니까?#

Mattermost v11.10부터 「모든 사용자의 가입 허용」 체크박스는 접근 탭의 공개 팀 및 비공개 팀 선택 카드로 영구 대체되었습니다. 이 변경은 ABAC와 관계없이 모든 배포의 모든 팀에 적용됩니다. 카드는 기존 체크박스와 기능적으로 동일합니다. 공개 팀은 체크박스를 활성화한 것과 같고, 비공개 팀은 비활성화한 것과 같습니다.

팀 설정에 팀 멤버십 탭이 보이지 않는 이유는 무엇입니까?#

이 탭에는 다음 조건이 모두 필요합니다.

  • System Console > System Attributes > Attribute-Based Access에서 속성 기반 접근 제어 활성화가 켜져 있습니다.
  • TeamMembershipAccessControl 기능 플래그가 켜져 있습니다(기본적으로 활성화).
  • 사용자에게 manage_team_access_rules 권한이 있습니다(팀 관리자 또는 시스템 관리자).

세 가지 조건을 모두 충족하는데도 탭이 없다면 System Console > Experimental > Feature Flags 또는 서버 구성에서 기능 플래그가 비활성화되지 않았는지 확인하세요.

일부 사용자에게 비공개 ABAC 팀이 팀 찾아보기에 나타나지 않는 이유는 무엇입니까?#

의도된 동작입니다. 비공개 팀에 ABAC 정책이 있고 사용자가 그 정책을 충족하지 못하면, 팀 찾아보기와 검색 결과에서 해당 사용자에게 팀이 완전히 숨겨집니다. 오류나 잠긴 항목이 표시되지 않고 팀이 그냥 나타나지 않습니다. 자격 요건을 충족하는 사용자에게는 팀이 정상적으로 표시됩니다.

팀 설정에서 고급 CEL 표현식을 사용할 수 있습니까?#

아니요. 팀 멤버십 탭은 채널 설정에서 사용할 수 있는 것과 같은 단순한 속성 편집기인 기본 모드만 사용합니다. 중첩 논리, 혼합 && / || 연산자 또는 그룹화가 필요한 규칙은 시스템 관리자가 System Console의 CEL 편집기를 사용하여 시스템 전체 상위 정책을 만들어야 합니다.

그룹 동기화 팀에서 ABAC를 사용할 수 있습니까?#

아니요. 그룹 동기화와 ABAC는 팀 단위로 상호 배타적입니다. 팀이 그룹 제약을 받는 경우 ABAC 정책을 할당하면 오류가 반환됩니다. ABAC 정책을 적용하기 전에 그룹 동기화 구성을 제거해야 하며, 반대의 경우도 마찬가지입니다.

멤버십 변경 사항은 얼마나 빨리 적용됩니까?#

팀 설정 또는 System Console에서 규칙을 저장하면 자동 추가가 꺼져 있을 때도 즉시 팀 동기화가 실행됩니다. 비공개 팀에서의 제거를 포함한 적용 단계가 자동 추가 설정과 관계없이 실행되기 때문입니다. 변경 사항은 동기화가 완료되는 즉시 적용됩니다. LDAP 또는 SAML의 속성 변경을 처리하기 위해 AccessControlSettings.SyncJobIntervalSeconds에 설정된 간격(기본값 60분)으로 예약된 동기화도 실행됩니다. 접근 제어 평가에 사용되는 사용자 속성은 AccessControlSettings.AttributeRefreshIntervalSeconds에 설정된 간격(기본값 30초)으로 갱신됩니다.

시스템 관리자 역할은 팀 ABAC 적용을 우회합니까?#

아니요. 시스템 관리자를 포함한 모든 역할이 팀 ABAC 정책 평가의 대상입니다. 비공개 팀의 정책을 충족하지 못하는 시스템 관리자는 표준 UI를 통해 해당 팀에 멤버로 가입할 수 없지만, System Console에서 팀 구성에 접근하고 변경할 수는 있습니다.

정책이 할당된 상태에서 팀을 공개에서 비공개로 전환하면 어떻게 됩니까?#

팀 ABAC가 활성화되어 있고(Enterprise Advanced 라이선스 및 속성 기반 접근 제어 활성화) 팀에 정책이 할당되어 있으면, 비공개 팀을 클릭할 때 정책 기준을 충족하지 못하는 현재 멤버의 수를 보여 주는 "비공개 팀으로 전환하시겠습니까?" 확인 모달이 열립니다. 전환을 확인하면 변경 사항이 저장되고 엄격 모드를 적용하기 위한 동기화가 즉시 실행됩니다. 자격 요건을 충족하지 못하는 멤버는 해당 동기화에서 제거됩니다.

전환하는 관리자 본인이 기준을 충족하지 못하면 "비공개 팀으로 전환할 수 없음" 모달과 함께 전환이 차단됩니다.

정책이 할당되지 않았으면 확인 없이 바로 전환이 저장됩니다.

정책이 할당된 상태에서 팀을 비공개에서 공개로 전환하면 어떻게 됩니까?#

비공개에서 공개로 전환하면 항상 확인 모달 없이 바로 저장됩니다. 팀은 즉시 권고 모드로 전환되며, 자격 요건을 충족하지 못하는 멤버를 포함한 기존 멤버는 유지되고 제거는 발생하지 않습니다. 정책은 계속해서 추천 태그와 자격 요건 충족 사용자에 대한 선택적 자동 추가를 제어합니다.

자격 요건을 충족하지 못하는 사용자를 비공개 ABAC 팀에 추가할 수 있습니까?#

아니요. 적용 제한은 모든 추가 경로에 적용됩니다. 사용자 초대 모달(자격 요건 미충족 사용자는 검색 결과에서 완전히 걸러짐), 멤버 추가 관리자 흐름(자격 요건 미충족 사용자는 선택할 수 없음), 직접 API 호출이 모두 해당합니다. 오류 메시지는 일반적인 문구이며 정책 이름이나 속성 세부 정보를 노출하지 않습니다.

ABAC는 이메일 도메인 제한과 어떻게 상호 작용합니까?#

이메일 도메인 제한(접근 탭에서 구성)과 ABAC 규칙(팀 멤버십 탭)은 독립적으로 적용되며, 사용자는 팀에 가입하려면 둘 다 충족해야 합니다. 도메인 검사가 먼저 실행되므로 도메인 때문에 거부된 사용자는 정책 평가에 도달하지 않습니다. 두 설정은 구성 시점에 서로 교차 검증되지 않으므로, 예기치 않은 접근 거부를 디버깅할 때는 두 설정을 함께 검토하세요.

자동 추가가 꺼져 있는데도 규칙을 저장하면 동기화가 실행되는 이유는 무엇입니까?#

자동 추가는 추가 단계(동기화가 자격 요건을 충족하는 비멤버를 추가할지 여부)만 제어합니다. 적용 단계(비공개 팀에서 자격 요건을 충족하지 못하는 멤버 제거)는 자동 추가와 관계없이 규칙이 있을 때마다 실행됩니다. 이렇게 하면 새로 저장했거나 변경한 규칙이 다음 예약 동기화까지 최대 60분을 기다리지 않고 즉시 적용됩니다.