플랫폼 관리자로서, 저는 애플리케이션 관리자에게 '기여자(Contributor)' 권한을 부여하되, 프라이빗 엔드포인트(Private Endpoints), 네트워크 인터페이스(Network Interfaces), 애플리케이션 게이트웨이(Application Gateways)와 같은 몇 가지 예외를 제외하고 대부분의 Microsoft.Network 리소스 유형에 대한 쓰기 및 삭제 권한을 제거하고자 합니다.
유효 제어 평면 권한(effective control plane permissions) 논리에 따라, 저희는 두 개의 사용자 지정 역할을 설계했습니다. 첫 번째 역할은 '기여자' 역할을 복제하되, notActions 항목에 Microsoft.Network/*/Write 및 Microsoft.Network/*/Delete를 추가한 형태입니다. 두 번째 역할은 Microsoft.Network/networkInterfaces/*와 같이 와일드카드가 포함된 리소스 유형을 사용하여 특정 Microsoft.Network 작업을 다시 허용합니다.
애플리케이션 관리자 유효 권한 = 역할 1(기여자 - Microsoft.Network 제외) + 역할 2(예: Microsoft.Network/networkInterfaces/, Microsoft.Network/networkSecurityGroups/, Microsoft.Network/applicationGateways/write 등)
Microsoft의 RBAC 모범 사례에서는 와일드카드(*) 작업 사용을 지양할 것을 권장한다는 점을 잘 알고 있습니다. 하지만 저희 팀은 개별 작업을 일일이 나열하여 역할을 만드는 것이 매우 번거롭고 시간이 오래 걸린다는 것을 알게 되었습니다. 특히 각 작업이 미치는 영향을 정확히 파악하는 것이 너무 어렵습니다.
이러한 유형의 사용자 지정 RBAC 설계를 구현하는 데 있어, 더 간단하거나 유지 관리가 용이한 패턴에 대해 제안해 주실 분 계신가요?