Microsoft Entra Privileged Identity Management (이하 PIM) 을 한줄로 표현 해보자면 아래와 같다.
Azure와 관련된 권한 관리 서비스
일을 하다보면 한사람 또는 몇몇의 사람들이 권한들을 가지고 모든 것들을 처리하기는 무리가 있다. 아래와 같은 상황에 대해 생각해보자.
1번 상황
2번 상황
위는 특정한 상황들만 말했지만 위의 리소스에 그 어떤 리소스를 대입해도 이상하지 않다.
즉, 권한을 오래 들고 있으면 그 만큼 human error에 대한 리스크는 커질 수 있다는 뜻이며, 만에 하나 회수가 안되면 잠재적 리스크로 변하게 된다.
기존의 방식대로 진행하며 느끼게 부분들은 아래와 같다.
위와 같은 pain point들을 어떻게 해결할 수 있을까?
pain point들은 일반적으로 기도를 한다고 해결되진 않는다. 직접 움직여야 해결이 된다. 크게 개발과 도입 중 하나를 선택할 수 있다.
개발
개발 또한 가능한 부분이다. 권한을 부여할 수 있는 서비스 어카운트를 만들어 프론트 만들고 백엔드가 해당 서비스 어카운트를 트리거하여 권한을 부여. 회수도 시간 맞춰 회수.
A to Z 개발은 몇가지 리스크가 있다.
따라서 결론을 내보자면, 개발은 여러 비용이 많이 들어가기에, 배보다 배꼽이 더 커지는 상황이 발생될 것 같아 보인다.
도입
만약 코어한 기능만 갖추어진 서비스를 도입할 수 있다면 가장 베스트이다. 도입은 큰 리스크 보단 어떤 서비스 또는 툴을 고르냐고 문제이다.
많은 툴 및 서비스들 중에 최근에 내가 실제 운영환경에서 사용하고 있는 Microsoft Entra Privileged Identity Management에 대해 기록하려 한다.
먼저 필요한 부분들을 보자.

최소 Microsoft Entra ID P2 가 필요하다.
PIM은 크게 2가지로 나누어져 있다.

위쪽의 빨간 박스 부분이 내가 권한을 신청하거나 허가를 해주는 부분,
아래쪽의 빨간 박스 부분이 관리자로서 해당 권한신청 관련 설정 부분으로 나누어진다.
권한을 신청하기에 앞서 '누구에게 어떤 권한을 신청 가능하게 할까?'를 정할 수 있는 아래 빨간 박스 부분 부터 보고 가보자.
Entra ID 또는 구독에 관련된 권한들을 설정하고 부여할 수 있다. 또는 특정 그룹에 jit 느낌으로 인원을 넣어줄 수 있다. 이는 라이선스 관련된 부분을 활용하기 좋아보인다.
아래는 'Microsoft Entra roles' 를 눌러 보이는 화면이다.

워낙 방대하기에 메뉴를 하나하나 리뷰하기 보단, 코어한 기능을 위주로 보자.
Entra ID 쪽 권한은 웬만해선 custom role 생성을 권장하지 않는다. (안되는게 많다.) 반대로 구독은 custom role을 생성을 권장한다. 입맛에 맞게 쓰는 즐거움이 있다!! 만들다가 시간이 쏜살같이 흘러간걸 느낄 수 있을것이다.
가장 먼저 해야할 것은 custom role이든 built in role이든 우선 아래와 같이 role 별로 설정을 해주어야 한다.
Settings를 눌러보면,

위의 스크린샷에 나와있는 부분과 같이, (아래 내용들 중 스크린샷에 담기지 않은것들도 포함)
role 별 설정이 끝이 났다면, 해당 role을 어떤 형태로 누구에게 할당하는지를 설정해야 한다.
Assignments를 눌러보면,

위와 같이 어떤 그룹에 어떠한 형태로 assign 하였는지 보거나 설정할 수 있다.

위와 같은 기능들을 제공한다. 위 기능들을 조금 풀어서 써보자면,
아마 가장 많이 쓰는 부분은, 권한 신청 및 승인이다.

위와 같이 원하는 시간대에 미리 승인 요청을 해놓고 승인자가 approve 한다면 해당 시간에 권한이 부여 되었다가 자동으로 회수된다.

권한을 부여되어야 하는 리소스 또한 세분화해서 요청할 수 있다. approver는 해당 권한 요청이 너무 광범위하게 설정되었는지 확인하고 deny를 할 수도 있다.
진단 설정을 통해 아래와 같이 logging도 가능하다.


logging 될 때, 추가로 입력한 comments 들도 같이 로깅이 되니, Settings 쪽에서 요청이나 승인시 comment를 강제한다면 자세한 logging이 가능하다.
권한 부여와 항상 같이 따라다니는 부분이, 요청 및 승인에 대한 자료가 필요한데 Settings 에서 필수 필드로 바꿔서 신청 및 허가를 해버리면 따로 email로 상황설명 + 요청할 필요 없이 PIM의 기능만으로 웬만한건 핸들링 할 수 있을 것으로 보인다.
이렇게 사용한지 얼마되지 않아, 추가적인 개선점이 있을 수 있지만, 아마도 큰 문제가 없다면 현 상태로 요청 승인 관련 요구사항들은 compliance 관점에서는 충족이 되지 않을까 싶다.
아직 도입하여 사용한지는 몇 주 되지 않았지만, 기존의 email로 주고받던 권한 요청 부분을 많이 해소할 수 있어 매우 기대된다. 개선점이 필요하다면 나중에 회고를 통해 다시 한번 기록을 해야겠다.