Azure 관리 그룹이란?
조직에 Azure 구독이 많으면 구독에 대한 액세스, 정책 및 준수를 효율적으로 관리하는 방법이 필요할 수 있습니다. 관리 그룹은 구독 위의 거버넌스 범위를 제공합니다. 구독을 관리 그룹으로 구성할 때 연결된 모든 구독에 상속을 통해 계단식으로 적용하는 거버넌스 조건입니다.
관리 그룹을 사용하면 구독 유형에 관계없이 엔터프라이즈급 관리 기능을 대규모로 사용할 수 있습니다. 그러나 단일 관리 그룹 내의 모든 구독은 동일한 Microsoft Entra 테넌트를 신뢰해야 합니다.
예를 들어, VM(가상 머신) 생성에 사용 가능한 지역을 제한하는 정책을 관리 그룹에 적용할 수 있습니다. 이 정책은 모든 중첩된 관리 그룹, 구독, 리소스에 적용되며 권한 있는 지역에서만 VM을 만들 수 있습니다.
관리 그룹 및 구독의 계층 구조
리소스를 통합 정책 및 액세스 관리를 위한 계층 구조로 구성하는 유연한 관리 그룹 및 구독 구조를 만들 수 있습니다. 다음 다이어그램에서는 관리 그룹을 사용하여 거버넌스 계층 구조를 만드는 예를 보여 줍니다.
관리 그룹과 구독을 모두 보유하는 루트 관리 그룹의 다이어그램. 일부 자식 관리 그룹은 관리 그룹을 보유하고, 일부는 구독을 보유하며, 일부는 모두를 보유합니다. 샘플 계층 구조의 예 중 하나는 모든 구독이 자식 수준에 있는 4가지 수준의 관리 그룹입니다.
예를 들어 Corp이라는 관리 그룹에서 VM 위치를 미국 서부 지역으로 제한하는 정책을 적용하는 계층을 만들 수 있습니다. 이 정책은 해당 관리 그룹의 하위 항목인 모든 EA(기업 계약) 구독으로 상속되어 해당 구독의 모든 VM에 적용됩니다. 리소스 또는 구독 소유자는 개선된 거버넌스를 위해 이 보안 정책을 변경할 수 없습니다.
참고 항목
관리 그룹은 현재 MCA(Microsoft 고객 계약) 구독에 대한 Cost Management 기능에서 지원되지 않습니다.
관리 그룹을 사용하는 또 다른 시나리오는 여러 구독에 대한 사용자 액세스를 제공하는 것입니다. 여러 구독을 관리 그룹 아래로 이동하면 관리 그룹에 하나의 Azure 역할 할당을 만들 수 있습니다. 역할은 모든 구독에 대한 액세스 권한을 상속합니다. 관리 그룹에 대한 하나의 할당을 통해 사용자는 다른 구독에 대해 Azure RBAC(역할 기반 액세스 제어)를 스크립팅하는 대신 필요한 모든 것에 액세스할 수 있습니다.
관리 그룹에 대한 중요 한 사실
단일 디렉터리는 10,000개의 관리 그룹을 지원할 수 있습니다.
관리 그룹 트리에서 지원할 수 있는 최대 깊이 수준은 6입니다.
이 제한은 루트 수준 또는 구독 수준을 포함하지 않습니다.
각 관리 그룹 및 구독은 하나의 부모만 지원할 수 있습니다.
각 관리 그룹에는 여러 자식 요소가 있을 수 있습니다.
모든 구독 및 관리 그룹은 각 디렉터리의 단일 계층 내에 위치합니다. 자세한 내용은 이 문서 뒷부분에 나오는 루트 관리 그룹에 대한 중요한 팩트를 참조하세요.
각 디렉터리에 대한 루트 관리 그룹
각 디렉터리에는 루트 관리 그룹이라는 단일 최상위 관리 그룹이 있습니다. 이 루트 관리 그룹은 모든 관리 그룹과 구독이 루트 관리 그룹까지 접히도록 만들어집니다.
루트 관리 그룹을 사용하면 디렉터리 수준에서 글로벌 정책 및 Azure 역할 할당을 적용할 수 있습니다. 처음에는 모든 Azure 구독 및 관리 그룹을 관리할 수 있는 액세스 권한 상승이 이 루트 그룹의 사용자 액세스 관리자 역할로 설정되었습니다. 액세스 권한 승격 후, 관리자는 다른 디렉터리 사용자 또는 그룹에 모든 Azure 역할을 할당하여 계층 구조를 관리할 수 있습니다. 관리자는 자신의 계정을 루트 관리 그룹의 소유자로 지정할 수 있습니다.
루트 관리 그룹에 대한 중요한 사실
- 기본적으로 루트 관리 그룹의 표시 이름은 테넌트 루트 그룹이며 관리 그룹으로 자체 작동합니다. ID는 Microsoft Entra 테넌트 ID와 동일한 값입니다.
- 표시 이름을 변경하려면 계정에 루트 관리 그룹에 대한 소유자 또는 기여자 역할이 있어야 합니다. 자세한 내용은 관리 그룹 이름 변경을 참조하세요.
- 루트 관리 그룹은 다른 관리 그룹과는 다르게 이동하거나 삭제할 수 없습니다.
- 모든 구독 및 관리 그룹은 디렉터리 내 하나의 루트 관리 그룹이 될 때까지 접을 수 있습니다.
- 디렉터리의 모든 리소스는 전역 관리를 위해 루트 관리 그룹까지 접을 수 있습니다.
- 새 구독은 만들어질 때 자동으로 루트 관리 그룹으로 기본 설정됩니다.
- 모든 Azure 고객은 루트 관리 그룹을 볼 수 있지만 일부 고객에게는 해당 루트 관리 그룹을 관리하는 액세스 권한이 없습니다.
- 구독에 대한 액세스 권한이 있는 모든 사용자는 계층 구조에 있는 해당 구독의 컨텍스트를 볼 수 있습니다.
- 누구도 루트 관리 그룹에 대한 기본 액세스 권한을 갖지 않습니다. Microsoft Entra 전역 관리자는 액세스 권한을 얻기 위해 자신의 권한을 높일 수 있는 유일한 사용자입니다. 루트 관리 그룹에 대한 액세스 권한을 얻은 후에는 Azure 역할을 다른 사용자에게 할당하여 그룹을 관리할 수 있습니다.
Important
루트 관리 그룹에서 사용자 액세스 또는 정책은 디렉터리 내의 모든 리소스에 적용됩니다. 이 액세스 수준으로 인해 모든 고객은 이 범위에 항목을 정의해야 할 필요성을 평가해야 합니다. 사용자 액세스 및 정책 할당은 이 범위에만 "있어야" 합니다.
관리 그룹의 초기 설치
사용자가 관리 그룹을 사용하기 시작하면 초기 설정 프로세스가 발생합니다. 첫 번째 단계는 디렉터리에 루트 관리 그룹을 만드는 것입니다. 디렉터리에 존재하는 모든 기존 구독은 루트 관리 그룹의 자식 항목이 됩니다.
이 프로세스는 디렉터리 내에 하나의 관리 그룹 계층 구조가 있도록 했기 때문에 발생합니다. 디렉터리 내의 단일 계층 구조를 사용하면 관리 고객은 디렉터리 내의 다른 고객이 무시할 수 없는 전역 액세스 및 정책을 적용할 수 있습니다.
루트에 할당된 모든 내용은 전체 계층 구조에 적용됩니다. 즉, 해당 Microsoft Entra 테넌트 내의 모든 관리 그룹, 구독, 리소스 그룹 및 리소스에 적용됩니다.
관리 그룹 액세스
Azure 관리 그룹은 모든 리소스 액세스 및 역할 정의에 대해 Azure RBAC를 지원합니다. 계층 구조에 존재하는 자식 리소스는 이러한 권한을 상속합니다. 모든 Azure 역할은 리소스에 대한 계층 구조를 상속하는 관리 그룹에 할당할 수 있습니다.
예를 들어, Azure 역할 VM 기여자를 관리 그룹에 할당할 수 있습니다. 역할은 관리 그룹에 대한 조치를 취하지 않지만 해당 관리 그룹에서 모든 VM에 상속됩니다.
다음 차트에서는 관리 그룹에 대한 역할 및 지원되는 작업 목록을 보여줍니다.
Azure 역할 이름 | 생성 | 이름 바꾸기 | 이동** | 삭제 | 액세스 권한 할당 | 정책 할당 | 읽음 |
---|---|---|---|---|---|---|---|
담당자 | X | X | X | X | X | X | X |
참가자 | X | X | X | X | X | ||
관리 그룹 기여자* | X | X | X | X | X | ||
판독기 | X | ||||||
관리 그룹 읽기 권한자* | X | ||||||
리소스 정책 기여자 | X | ||||||
사용자 액세스 관리자 | X | X |
*: 이러한 역할을 통해 사용자는 관리 그룹 범위에서만 지정된 작업을 수행할 수 있습니다.
**: 구독 또는 관리 그룹을 이동하기 위해 루트 관리 그룹에 대한 역할을 할당할 필요가 없습니다.
계층 내에서 항목을 이동하는 방법에 대한 세부 정보는 관리 그룹을 사용하여 리소스 관리를 참조하세요.
Azure 사용자 지정 역할 정의 및 할당
Azure 사용자 지정 역할 정의에서 관리 그룹을 할당 가능한 범위로 정의할 수 있습니다. 그런 다음 해당 관리 그룹 및 다른 관리 그룹, 구독, 리소스 그룹 또는 리소스 그룹의 리소스에 Azure 사용자 지정 역할을 할당할 수 있습니다. 사용자 지정 역할은 기본 제공 역할과 마찬가지로 계층 구조를 상속합니다.
사용자 지정 역할 및 관리 그룹의 제한 사항에 대한 자세한 내용은 이 문서 뒷부분에 나오는 제한 사항을 참조하세요.
예제 정의
사용자 지정 역할 정의 및 만들기는 관리 그룹을 포함해도 변경되지 않습니다. 전체 경로를 사용하여 관리 그룹 /providers/Microsoft.Management/managementgroups/{_groupId_}
를 정의합니다.
관리 그룹의 표시 이름이 아니라 관리 그룹의 ID를 사용합니다. 이 일반적인 오류는 둘 다 관리 그룹을 만들 때 사용자 지정 필드이기 때문에 발생합니다.
...
{
"Name": "MG Test Custom Role",
"Id": "id",
"IsCustom": true,
"Description": "This role provides members understand custom roles.",
"Actions": [
"Microsoft.Management/managementGroups/delete",
"Microsoft.Management/managementGroups/read",
"Microsoft.Management/managementGroups/write",
"Microsoft.Management/managementGroups/subscriptions/delete",
"Microsoft.Management/managementGroups/subscriptions/write",
"Microsoft.resources/subscriptions/read",
"Microsoft.Authorization/policyAssignments/*",
"Microsoft.Authorization/policyDefinitions/*",
"Microsoft.Authorization/policySetDefinitions/*",
"Microsoft.PolicyInsights/*",
"Microsoft.Authorization/roleAssignments/*",
"Microsoft.Authorization/roledefinitions/*"
],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/providers/microsoft.management/managementGroups/ContosoCorporate"
]
}
...
역할 정의 및 할당 계층 경로를 위반하는 이슈
역할 정의는 관리 그룹 계층 구조 내부의 어느 위치에나 할당 가능한 범위입니다. 역할 정의는 부모 관리 그룹에 있을 수 있지만 실제 역할 할당은 자식 구독에 있습니다. 두 항목 사이에 관계가 있기 때문에 할당을 정의에서 분리하려고 하면 오류가 발생합니다.
예를 들어, 계층 구조의 작은 섹션에 대한 다음 예를 살펴보겠습니다.
다이어그램은 자식 랜딩 존 및 샌드박스 관리 그룹이 있는 루트 관리 그룹에 중점을 둡니다. 랜딩 존에 대한 관리 그룹에는 Corp 및 Online이라는 두 개의 자식 관리 그룹이 있는 반면, 샌드박스 관리 그룹에는 두 개의 자식 구독이 있습니다.
샌드박스 관리 그룹에 사용자 지정 역할이 정의되어 있다고 가정합니다. 그런 다음 해당 사용자 지정 역할이 두 개의 샌드박스 구독에 할당됩니다.
해당 구독 중 하나를 Corp 관리 그룹의 자식 항목으로 이동하려고 하면 구독 역할 할당에서 샌드박스 관리 그룹에 대한 역할 정의로의 경로가 중단됩니다. 이 시나리오에서는 이동이 관계를 깨뜨릴 수 있으므로 이동이 허용되지 않는다는 오류를 받게 됩니다.
이 시나리오를 해결하려면 다음 옵션이 있습니다.
- 구독을 새 부모 관리 그룹으로 이동하기 전에 구독에서 역할 할당을 제거합니다.
- 역할 정의의 할당 가능한 범위에 구독을 추가합니다.
- 역할 정의 내에서 할당 가능한 범위를 변경합니다. 이 예에서는 계층 구조의 두 분기 모두 정의에 도달할 수 있도록 샌드박스 관리 그룹에서 루트 관리 그룹으로 할당 가능한 범위를 업데이트할 수 있습니다.
- 다른 분기에 정의되는 다른 사용자 지정 역할을 만듭니다. 이 새 역할을 사용하려면 구독에 대한 역할도 변경해야 합니다.
제한 사항
관리 그룹에서 사용자 지정 역할을 사용하는 데에는 제한 사항이 있습니다.
- 새 역할의 할당 가능한 범위에는 하나의 관리 그룹만 정의할 수 있습니다. 이 제한은 역할 정의와 역할 할당의 연결이 끊어지는 상황을 줄이기 위해 마련되었습니다. 이 상황은 역할 할당이 있는 구독 또는 관리 그룹을 역할 정의가 없는 다른 부모로 이동할 때 발생합니다.
DataActions
의 사용자 지정 역할은 관리 그룹 범위에서 할당할 수 없습니다. 자세한 내용은 사용자 지정 역할 제한을 참조하세요.- Azure Resource Manager는 관리 그룹이 역할 정의의 할당 가능한 범위에 있는지 확인하지 않습니다. 철자 오류가 있거나 잘못된 관리 그룹 ID가 있는 경우에도 역할 정의는 계속 생성됩니다.
관리 그룹 및 구독 이동
관리 그룹 또는 구독을 다른 관리 그룹의 자식으로 이동하려면 다음이 필요합니다.
- 자식 구독 또는 관리 그룹에 대한 관리 그룹 쓰기 권한 및 역할 할당 쓰기 권한입니다.
- 기본 제공 역할 예제: 소유자
- 대상 부모 관리 그룹에 대한 관리 그룹 쓰기 액세스 권한.
- 기본 제공 역할 예제: 소유자, 기여자, 관리 그룹 기여자
- 기존 부모 관리 그룹에 대한 관리 그룹 쓰기 액세스 권한.
- 기본 제공 역할 예제: 소유자, 기여자, 관리 그룹 기여자
예외가 있습니다. 대상 또는 기존 부모 관리 그룹이 루트 관리 그룹인 경우 권한 요구 사항이 적용되지 않습니다. 루트 관리 그룹은 모든 새 관리 그룹 및 구독의 기본 랜딩 스팟이므로 루트 관리 그룹에 대한 권한이 없어도 항목을 이동할 수 있습니다.
구독에 대한 소유자 역할이 현재 관리 그룹에서 상속되는 경우 이동 대상이 제한됩니다. 소유자 역할이 있는 다른 관리 그룹으로만 구독을 이동할 수 있습니다. 기여자 역할만 있는 관리 그룹으로는 구독을 이동할 수 없습니다. 구독의 소유권을 잃게 되기 때문입니다. 구독의 소유자 역할에 직접 할당된 경우 기여자 역할이 있는 모든 관리 그룹으로 이동할 수 있습니다.
Important
Azure Resource Manager는 관리 그룹 계층 구조의 세부 정보를 최대 30분 동안 캐시합니다. 결과적으로 Azure Portal에는 관리 그룹을 이동했다는 사실이 즉시 표시되지 않을 수 있습니다.
활동 로그를 사용하여 관리 그룹 감사
관리 그룹은 Azure Monitor 활동 로그에서 지원됩니다. 다른 Azure 리소스와 동일한 중앙 위치에서 관리 그룹에 발생하는 모든 이벤트를 쿼리할 수 있습니다. 예를 들어 특정 관리 그룹에 이루어진 모든 역할 할당 또는 정책 할당 변경 내용을 볼 수 있습니다.
Azure Portal 외부의 관리 그룹에 대해 쿼리하려는 경우 관리 그룹의 대상 범위는 "/providers/Microsoft.Management/managementGroups/{management-group-id}"
와 같습니다.
참고 항목
Azure Resource Manager REST API를 사용하고 관리 그룹에서 진단 설정을 사용하도록 설정하여 관련된 Azure Monitor 활동 로그 항목을 Log Analytics 작업 영역, Azure Storage 또는 Azure Event Hubs로 보낼 수 있습니다. 자세한 내용은 관리 그룹 진단 설정 - 만들기 또는 업데이트를 참조하세요.
관련 콘텐츠
관리 그룹에 대해 자세히 알아보려면 다음 항목을 참조하세요.