If(이미 A 그룹에 소속되어 있음)
이 그룹에 자유롭게 가입할 수 있음
Else
가입 요청을 보내야 함
사용 사례는 외부 계약자를 다루는 상황입니다. 이들에게 Discourse에 대한 접근 권한을 부여하고 싶습니다. 현재는 계약자가 우리 직원과 동일한 그룹에 자유롭게 가입할 수 있습니다. 이로 인해 기밀 유지 문제가 발생하고 있습니다.
그룹 가입을 가입 요청 기반으로 변경하면, 저는 계속해서 가입 요청을 받게 되며, 결국 자동으로 승인하게 될 것입니다. 게다가 저는 기본적으로 요청을 승인하는 습관이 있어, 분명히 실수로 계약자의 요청도 승인하게 될 것입니다. 이는 목적을 완전히 무너뜨리는 결과로 이어집니다.
우리 직원은 관심 있는 그룹에 자유롭게 가입할 수 있어야 하지만, 계약자는 허용된 경우에만 가입할 수 있어야 합니다.
그룹은 카테고리 접근을 제어하는 데 사용할 수 있는 사용자들의 집합입니다. 그룹 가입을 요구하지 않고 직원들에게 모든 카테고리에 대한 접근 권한을 부여할 수는 없나요? (예: 직원 그룹을 해당 모든 카테고리에 추가하는 방식) 아니면 그룹으로 다른 작업을 수행하고 계신 건가요?
이 기능이 곧 코어에 포함될 가능성은 낮지만, 플러그인으로 구현할 수는 있을 것입니다.
제안한 방법들이 이미 알고 계신 내용이고, 실제로 원하시는 것은 해당 기능 자체라면 죄송합니다.
따라서 모든 직원에게 모든 카테고리에 대한 접근 권한을 부여하면 기밀성 문제가 발생합니다. 각 카테고리에 대해 그룹을 생성하면 어떤 사람이 해당 정보에 접근할 수 있는지 명확히 알 수 있습니다.
또한 카테고리가 상당히 많을 것입니다. 카테고리 접근 방식에 대해 일괄적인 규칙을 적용하는 것이 훨씬 쉬워요: 카테고리별로 멤버 그룹과 модератор(관리자) 그룹을 하나씩 두는 방식입니다. 카테고리 그룹의 멤버가 아니则该 카테고리는 표시되지 않습니다. 예를 들어, Docker 그룹에 가입해야만 Docker 카테고리가 보입니다.
결국 직원은 해당 카테고리를 보고 싶으면 해당 그룹에 가입하고, 보고 싶지 않으면 탈퇴하면 됩니다. 따라서 단순히 "직원"이라는 일괄적인 그룹만으로는 이 목표를 달성하기 어렵습니다(물론 일반 용도로 하나 더 가지고 있긴 하지만요).
그렇다면 “Docker-Contractors”, “Grafana-Contractors” 등의 그룹을 만들어야 한다는 뜻인가요? 모든 범주에 대해 그렇게 할 수는 없습니다.
이 문제를 가장 효과적으로 관리하는 방법은 이메일 주소 기반 자동 할당(예: @external.com)을 활용하는 계약업체 그룹을 만드는 것입니다. 이렇게 하면 해당 사용자의 액세스를 구체적으로 제한할 수 있습니다.
그러나 계약업체 그룹의 모든 멤버는 서로 다른 도구에 대해 계약되어 있으며, 서로 다른 영역에 액세스해야 합니다. 따라서 저는 계약업체 그룹에 모든 범주에 대한 액세스를 허용해야 합니다(이렇게 하면 목적을 달성할 수 없게 됨) 또는 각 범주마다 계약업체 그룹을 만들어야 합니다(절대 안 됨) 또는… 기존 그룹(all-employees)의 사용자가 자유롭게 그룹에 가입할 수 있도록 허용해야 합니다.
일반적으로 계약업체가 있다는 것은 “자유롭게 가입” 기능을 전혀 사용할 수 없다는 뜻입니다.