권한 집합 그룹의 음소거 권한
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- 특정 권한을 음소거할 필요성을 설명할 수 있습니다.
- 권한 집합 그룹에서 권한을 음소거할 수 있습니다.
음소거란 무엇일까요?
이 모듈의 앞부분에서 우리는 권한 집합 그룹을 사용하면 직무에 따라 권한 집합을 함께 묶을 수 있다는 것을 배웠습니다. 권한 집합 그룹은 자신을 구성하는 권한 집합들에 존재하는 모든 권한을 포함합니다. 또한 특정 권한 집합을 하나 이상의 권한 집합 그룹에 포함시킬 수도 있죠.
흠. 잠깐만 생각해 봅시다. 둘 이상의 권한 집합 그룹에 권한 집합을 포함할 수 있다면 상당한 유연성이 확보됩니다. 그런데 주어진 권한 집합의 모든 권한을 권한 집합 그룹의 사용자들에게 할당하기를 원치 않는다면 어떻게 해야 할까요?
음소거 권한 집합을 활용하면 권한 집합 그룹에서 선택한 권한을 비활성화(음소거)하여 권한 집합 그룹을 사용자 정의할 수 있습니다. 하나의 권한 집합 그룹은 최대 하나의 음소거 권한 집합을 가질 수 있으며 음소거할 수 있는 대상은 개체, 필드, 사용자 권한 및 기타 액세스 설정입니다.
음소거 권한 집합을 활용하면 개별 사용자의 서로 다른 요구를 충족하기 위해 조금씩 다른 권한들로 구성된 유사한 권한 집합을 여럿 만들 필요가 없어지므로 같은 권한 집합을 여러 번 재사용할 수 있게 됩니다. 서로 다른 사용자들에게 필요한 특정 작업이나 기능과 관련된 모든 권한을 권한 집합에 포함한다고 해봅시다. 이때 개인 특성에 기반한 권한 집합 그룹의 음소거 권한 집합을 사용하면 각 사용자의 역할에 필요한 권한만을 제공할 수 있습니다.
예를 들어 영업 담당자 권한 집합 그룹을 만든 후 기존의 사례 관리 권한 집합을 그에 추가하려 한다고 해봅시다. 그런데 해당 권한 집합에는 사례에 대한 개체 삭제 권한이 포함되어 있는데, 이를 서비스 담당자 권한 집합 그룹에 할당된 사용자들에게 부여해서는 안 다고 해봅시다.
이 문제는 사례 관리 권한 집합을 서비스 담당자 권한 집합 그룹에 추가하기 전에 음소거 권한 집합을 만들어서 개체 삭제 권한만을 음소거하여 해결할 수 있습니다. 그러면 사용자들이 사례 관리 권한 집합을 통해 자신에게 필요한 권한만을 받을 수 있습니다. 이때 기존의 권한 집합을 수정할 필요는 없습니다. 따라서 의도치 않게 다른 사용자들에게 영향을 미치거나, 새로운 권한 집합을 만들어서 액세스 설정 관리를 더욱 어렵게 만드는 일을 막을 수 있습니다.
음소거 권한 집합 관련 고려 사항
이처럼 음소거는 권한 모델 설계의 유연성을 높입니다. 권한 집합 그룹 설정 계획을 수립할 때는 음소거 권한이 아래와 같이 다른 기능들과 맞물려 작동하는 방식을 고려해야 합니다.
- 권한 집합 그룹의 어떤 권한을 음소거하면 해당 권한 집합 그룹에 할당된 사용자들만 영향을 받습니다.
- 권한 집합 그룹 외부의 권한 집합에 직접 할당된 사용자들은 영향을 받지 않습니다.
- 어떤 사용자가 일부 권한이 음소거된 권한 집합 그룹에 할당되어 있으나 프로필, 권한 집합, 또는 서로 다른 권한 집합 그룹을 통해서 음소거된 권한들에 할당되어 있다면, 해당 사용자는 음소거 권한 집합과는 무관하게 해당 권한들을 갖게 됩니다.
-
사용자 액세스 요약과 권한 집합 그룹 요약은 모두 음소거 권한 집합을 고려하여 활성화할 권한을 결정합니다.
음소거 사용해보기
새로운 기능은 직접 사용해 봐야 원리를 이해할 수 있는 법이죠. 이 모듈의 앞쪽에서 E.J.를 위해 만들었던 Sales Processing(판매 처리) 권한 집합 그룹은 두 개의 권한 집합을 포함합니다.
- 다음 권한으로 구성된 Sales Orders(판매 주문) 권한 집합:
- 주문 활성화
- 주문 읽기, 생성, 편집, 삭제
- 다음 권한으로 구성된 Sales Contracts(판매 계약) 권한 집합:
- 계약 읽기, 생성, 편집, 삭제
계약 부서의 Alyssa에게는 판매 계약 관련 작업을 해야 하는 사용자가 있습니다. Alyssa의 사용자들에게 필요한 것은 다음과 같습니다.
- 모든 계약을 읽기, 생성, 편집, 삭제, 모두 보기, 수정
- 활성화된 계약 삭제
Alyssa만을 위한 권한 집합을 만들 수도 있을 겁니다. 하지만 생각해 보면 기존의 권한 집합을 사용하는 게 더 좋을 겁니다. 특히 Sales Contracts(판매 계약) 권한 집합 말이죠. 이런 재사용이 가능한 것은 두 팀의 직무가 서로 다르지만 둘 다 계약에 관련된 작업을 하기 때문입니다.
문제는 Sales Contract(판매 계약) 권한 집합에는 Alyssa의 사용자들에게 필요한 몇몇 권한이 없다는 겁니다. 해당 권한들을 단순히 Sales Contracts(판매 계약) 권한 집합에 추가하는 경우 Sales Processing(판매 처리) 권한 집합 그룹에 할당된 사용자들에게 불필요한 권한들이 주어집니다.
이를 해결할 방법이 없을까요? 있습니다! 권한 집합 그룹은 유연하게 설정할 수 있으며 음소거 권한 집합을 사용하면 사용자들에게 필요한 권한만을 부여할 수 있기 때문입니다. 이제 이렇게 해봅시다.
- 음소거 권한 집합을 만들어서 Sales Processing(판매 처리) 권한 집합 그룹에 할당된 사용자들에게 주어져서는 안 될 권한들을 음소거하는 겁니다. 이 과정을 먼저 해야 합니다. 그 이유는 무엇일까요? Alyssa의 팀이 필요로 하는 계약에 대한 광범위한 권한을 판매 처리 권한 집합 그룹에 할당된 사용자들에게 (비록 잠깐이라도) 부여하지 않기 위해서입니다. 음소거 권한 집합을 먼저 만들면 Max를 위한 권한 집합 그룹의 무결성을 유지할 수 있습니다.
- Alyssa의 팀에 필요한 권한들을 추가하여 Sales Contracts(판매 계약) 권한 집합을 업데이트합니다.
- Alyssa의 팀을 위해 새로운 Contracts Processing(계약 처리) 권한 집합 그룹을 만듭니다. 업데이트된 Sales Contracts(판매 계약) 권한 집합을 추가합니다.
그럼 시작해 보겠습니다. 유닛 2의 과정을 끝내지 않으셨다면 먼저 완료하세요. 아니면 이 활동을 진행할 수 없습니다.
음소거 권한 집합을 만듭니다.
- Setup(설정) Quick(빠른 찾기) 상자에
Permission Set Groups
(권한 집합 그룹)를 입력한 후 Permission Set Groups(권한 집합 그룹)를 선택합니다.
- 유닛 2에서 만든 권한 집합 그룹인 Sales Processing(판매 처리)을 클릭합니다.
- Permission Sets(권한 집합)에서 Muting Permission Set in Group(그룹의 음소거 권한 집합)을 클릭합니다.
-
New(새로 만들기)를 클릭합니다.
- Label(레이블)은
Contracts Permissions Muted
(음소거된 계약 권한)를 사용합니다.
- API Name(API 이름)은
Contracts_Permissions_Muted
를 사용합니다.
- 음소거 권한 집합을 저장합니다.
음소거할 권한들을 선택합니다.
- 음소거할 권한 집합의 이름을 클릭합니다.
- Find Settings(설정 찾기) 상자에서
Contracts
(계약)를 입력하고 Contracts(계약)를 선택합니다.
-
Edit(편집)을 클릭합니다.
- View All(모두 보기)과 Modify All(모두 수정) 개체 권한을 음소거합니다.
- 변경 사항을 저장합니다.
- Find Settings(설정 찾기) 상자에서
Contracts
(계약)를 입력하고 Delete Activated Contracts(활성화된 계약 삭제)를 선택합니다.
-
Edit(편집)을 클릭합니다.
- Sales(판매)에서 Delete Activated Contracts(활성화된 계약 삭제) 권한을 음소거합니다.
- 변경 사항을 저장합니다.
이제 Alyssa의 그룹에 대한 권한을 Sales Contracts(판매 계약) 권한 집합에 추가하면 Sales Processing(판매 처리) 권한 집합 그룹에서는 해당 권한이 음소거됩니다. Sales Contracts(판매 계약) 권한 집합에 Alyssa의 권한을 추가해 보겠습니다. Sales Contracts(판매 계약) 권한 집합에 다음 권한을 활성화합니다.
- Delete Activated Contracts(활성화된 계약 삭제) 앱 (사용자) 권한
- 계약에 대한 View All(모두 보기)과 Modify All(모두 수정) 개체 권한
Alyssa를 위한 Contracts Processing(계약 처리) 권한 집합 그룹을 만들 준비가 되었다면 Sales Contracts(판매 계약) 권한 집합을 그룹에 추가할 수 있습니다. 구성원들은 Delete Activated Contracts(활성화된 계약 삭제)와 계약 개체에 대한 View All(모두 보기) 및 Modify All(모두 수정) 개체를 포함해 모든 활성화된 권한을 받게 됩니다. 짜잔!
음소거와 권한 종속성
음소거 권한 집합에서 권한을 음소거할 경우 종속 권한도 음소거됩니다. 예를 들어 사용자들에게 어떤 개체에 대한 생성, 읽기, 편집, 삭제, 모두 보기, 모두 수정 권한을 부여한다고 가정해 보겠습니다. 이제 읽기 권한을 음소거하면 생성, 편집, 삭제, 모두 보기, 모두 수정 권한도 함께 음소거됩니다. 이는 데이터를 읽지 못하면 수행할 수 없는 작업들이기 때문입니다.
이 예시는 아주 간단했지만 종속성 문제란 복잡해질 수도 있습니다. 권한을 음소거할 경우에는 변경 사항을 저장할 때 권한 변경 확인 메시지에 주의하세요. 예를 들어 Sales Contracts(판매 계약) 권한 집합에서 권한을 음소거할 때는 Activate Contracts(계약 활성화)를 음소거했을 경우 Delete Activated Contracts(활성화된 계약 삭제) 또한 음소거되었을 것입니다.
권한 집합 그룹을 활용할 때는 권한 종속성에 유의하여 필요한 사용자에게서 권한을 제거하지 않도록 유의하세요. 권한 집합 그룹 음소거 종속성에 대한 자세한 내용은 Salesforce 도움말에서 확인하세요.
설치된 패키지에서의 음소거
음소거 권한 집합은 또 다른 이점이 있습니다. 관리 패키지를 구독할 경우, 아직 적용할 준비가 되지 않은 기능에 대해서는 권한 집합 그룹에서 권한을 음소거할 수 있습니다.
예를 들어 권한 집합 그룹을 만든 다음 관리 패키지로부터 설치된 관리 권한 집합을 그에 추가한다고 가정해 보겠습니다. 독립 소프트웨어 공급업체(ISV)로부터 해당 패키지에 대한 자동 업데이트를 받았지만, 여러분은 현재 관리 권한 집합에서 사용할 수 있는 새로운 필드를 사용할 준비가 되지 않았습니다. 이게 문제가 될까요? 그렇지 않습니다. 업데이트를 통해 그 혜택은 받을 수 있겠지만, 이 필드 권한을 조직에서 채택할 준비가 되기 전까지 음소거할 수 있습니다.
잘하셨습니다! 이제 여러분은 음소거 권한 집합과 권한 집합 그룹의 큰 그림을 이해하게 되셨습니다. 또한 권한 집합 그룹을 사용했을 때 얻을 수 있는 이점과, 권한 모델을 유연하게 재사용할 수 있도록 설계하는 법을 학습하셨습니다.
리소스