다음을 통해 공유


Azure 관리 그룹이란?

조직에 Azure 구독이 많으면 구독에 대한 액세스, 정책 및 준수를 효율적으로 관리하는 방법이 필요할 수 있습니다. 관리 그룹은 구독 위의 거버넌스 범위를 제공합니다. 연결된 모든 구독에 대한 상속을 통해 적용하는 거버넌스 조건을 관리 그룹으로 구성합니다.

관리 그룹을 사용하면 구독 유형에 관계없이 엔터프라이즈급 관리 기능을 대규모로 사용할 수 있습니다. 그러나 단일 관리 그룹 내의 모든 구독은 동일한 Entra ID 테넌트를 신뢰해야 합니다.

예를 들어, VM(가상 머신) 생성에 사용 가능한 지역을 제한하는 정책을 관리 그룹에 적용할 수 있습니다. 이 정책은 모든 중첩된 관리 그룹, 구독, 리소스에 적용되며 권한 있는 지역에서만 VM을 만들 수 있습니다.

관리 그룹 및 구독의 계층 구조

리소스를 통합 정책 및 액세스 관리를 위한 계층 구조로 구성하는 유연한 관리 그룹 및 구독 구조를 만들 수 있습니다. 다음 다이어그램에서는 관리 그룹을 사용하여 거버넌스 계층 구조를 만드는 예를 보여 줍니다.

샘플 관리 그룹 계층 구조 다이어그램

관리 그룹과 구독을 모두 보유하는 루트 관리 그룹의 다이어그램입니다. 일부 자식 관리 그룹은 관리 그룹을 보유하고, 일부는 구독을 보유하며, 일부는 모두를 보유합니다. 샘플 계층 구조의 예제 중 하나는 자식 수준을 모두 구독하는 네 가지 수준의 관리 그룹입니다.

예를 들어 "Corp"이라는 관리 그룹에서 VM 위치를 미국 서부 지역으로 제한하는 정책을 적용하는 계층을 만들 수 있습니다. 이 정책은 해당 관리 그룹의 하위 항목인 모든 EA(기업 계약) 구독으로 상속되어 해당 구독의 모든 VM에 적용됩니다. 거버넌스 향상을 위해 리소스 또는 구독 소유자가 해당 보안 정책을 변경할 수 없습니다.

참고 항목

관리 그룹은 현재 MCA(Microsoft 고객 계약) 구독에 대한 Cost Management 기능에서 지원되지 않습니다.

관리 그룹을 사용하는 또 다른 시나리오는 여러 구독에 대한 사용자 액세스를 제공하는 것입니다. 여러 구독을 해당 관리 그룹으로 이동하면 관리 그룹에 하나의 Azure 역할 할당을 만들 수 있습니다. 이는 모든 구독에 대한 해당 액세스 권한을 상속합니다. 관리 그룹에 하나만 할당하면 여러 구독에 Azure RBAC를 스크립팅하지 않고 사용자가 필요한 모든 항목에 액세스할 수 있습니다.

관리 그룹에 대한 중요 한 사실

  • 단일 디렉터리에서 지원할 수 있는 관리 그룹 수는 10,000개입니다.
  • 관리 그룹 트리에서 지원할 수 있는 최대 깊이 수준은 6입니다.
    • 이 제한에는 루트 수준 또는 구독 수준이 포함되지 않습니다.
  • 각 관리 그룹 및 구독은 하나의 부모만 지원할 수 있습니다.
  • 각 관리 그룹에는 여러 자식 요소가 있을 수 있습니다.
  • 모든 구독 및 관리 그룹은 각 디렉터리의 단일 계층 내에 위치합니다. 루트 관리 그룹에 대한 중요한 사실을 참조하세요.

각 디렉터리에 대한 루트 관리 그룹

각 디렉터리에는 루트 관리 그룹이라는 하나의 최상위 수준 관리 그룹이 있습니다. 이 루트 관리 그룹은 모든 관리 그룹과 구독이 루트 관리 그룹까지 접히도록 만들어집니다. 이 루트 관리 그룹은 글로벌 정책 및 Azure 역할 할당을 디렉터리 수준에서 적용하는 것을 허용합니다. 처음에 이 루트 그룹의 사용자 액세스 관리자 역할을 위해 Entra ID 글로벌 관리자는 자신을 승격해야 합니다. 액세스 권한 승격 후, 관리자는 다른 디렉터리 사용자 또는 그룹에 모든 Azure 역할을 할당하여 계층 구조를 관리할 수 있습니다. 관리자는 자신의 계정을 루트 관리 그룹의 소유자로 지정할 수 있습니다.

루트 관리 그룹에 대한 중요한 사실

  • 기본적으로 루트 관리 그룹의 표시 이름은 테넌트 루트 그룹이며 관리 그룹으로 자체 작동합니다. ID는 Entra ID 테넌트 ID와 동일한 값입니다.
  • 표시 이름을 변경하려면 계정에 루트 관리 그룹의 소유자 또는 기여자 역할이 할당되어야 합니다. 관리 그룹 이름을 변경하려면 관리 그룹의 이름 변경을 참조하세요.
  • 루트 관리 그룹은 다른 관리 그룹과는 다르게 이동하거나 삭제할 수 없습니다.
  • 모든 구독 및 관리 그룹은 디렉터리 내 하나의 루트 관리 그룹이 될 때까지 접을 수 있습니다.
    • 디렉터리의 모든 리소스는 전역 관리를 위해 루트 관리 그룹까지 접을 수 있습니다.
    • 새 구독이 생성될 때 자동으로 루트 관리 그룹에 기본값이 지정되지 않습니다.
  • 모든 Azure 고객은 루트 관리 그룹을 볼 수 있지만 일부 고객에게는 해당 루트 관리 그룹을 관리하는 액세스 권한이 없습니다.
    • 구독에 대한 액세스 권한이 있는 모든 사용자는 계층 구조에 있는 해당 구독의 컨텍스트를 볼 수 있습니다.
    • 사용자에게는 루트 관리 그룹에 대한 기본 액세스 권한이 부여되지 않습니다. Entra ID 글로벌 관리자는 액세스 권한을 스스로 높일 수 있는 유일한 사용자입니다. 루트 관리 그룹에 대한 액세스 권한이 있는 글로벌 관리자는 다른 사용자에게 Azure 역할을 할당하여 관리할 수 있습니다.

Important

루트 관리 그룹에서 사용자 액세스 또는 정책은 디렉터리 내의 모든 리소스에 적용됩니다. 이로 인해 모든 고객은 이 범위에서 정의된 항목을 가져야 하는 필요성을 평가해야 합니다. 사용자 액세스 및 정책 할당은 이 범위에만 "있어야" 합니다.

관리 그룹의 초기 설치

사용자가 관리 그룹을 사용하기 시작하는 경우 발생하는 초기 설치 프로세스가 있습니다. 첫 번째 단계는 루트 관리 그룹을 디렉터리에 만드는 것입니다. 이 그룹을 만들면 디렉터리에 있는 모든 기존 구독이 루트 관리 그룹의 자식 요소를 만듭니다. 이 프로세스는 디렉터리 내에 하나의 관리 그룹 계층 구조가 있도록 했기 때문에 발생합니다. 디렉터리 내의 단일 계층 구조를 사용하면 관리 고객은 디렉터리 내의 다른 고객이 무시할 수 없는 전역 액세스 및 정책을 적용할 수 있습니다. 루트에 할당된 모든 항목은 전체 계층 구조에 적용되며 여기에는 해당 Entra ID 테넌트 내의 모든 관리 그룹, 구독, 리소스 그룹 및 리소스가 포함됩니다.

관리 그룹 액세스

Azure 관리 그룹은 모든 리소스 액세스 및 역할 정의를 위한 Azure RBAC(Azure 역할 기반 액세스 제어)를 지원합니다. 이러한 권한은 해당 계층 구조에 있는 자식 리소스에 상속됩니다. 모든 Azure 역할은 리소스에 대한 계층 구조를 상속하는 관리 그룹에 할당할 수 있습니다. 예를 들어 Azure 역할 VM 기여자는 관리 그룹에 할당할 수 있습니다. 역할은 관리 그룹에 대한 조치를 취하지 않지만 해당 관리 그룹에서 모든 VM에 상속됩니다.

다음 차트에서는 관리 그룹에 대한 역할 및 지원되는 작업 목록을 보여줍니다.

Azure 역할 이름 생성 이름 바꾸기 이동** 삭제 액세스 권한 할당 정책 할당 읽음
담당자 X X X X X X X
참가자 X X X X X
MG 기여자* X X X X X
판독기 X
MG 읽기 권한자* 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/managementgroup/write",
    "Microsoft.Management/managementgroup/subscriptions/delete",
    "Microsoft.Management/managementgroup/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 관리 그룹의 자식으로 이동하려고 하면 구독 역할 할당에서 샌드박스 관리 그룹 역할 정의로의 경로가 끊어집니다. 이 시나리오에서는 이 관계를 손상하는 이동은 허용되지 않는다는 오류 메시지가 표시됩니다.

이 시나리오를 해결하는 다음과 같은 몇 가지 옵션이 있습니다.

  • 구독을 새 부모 MG로 이동하기 전에 구독에서 역할 할당을 제거합니다.
  • 역할 정의의 할당 가능한 범위에 구독을 추가합니다.
  • 역할 정의 내에서 할당 가능한 범위를 변경합니다. 위의 예제에서 계층 구조의 두 분기가 정의에 도달할 수 있도록 할당 가능한 범위를 샌드박스에서 루트 관리 그룹으로 업데이트할 수 있습니다.
  • 다른 분기에 정의되는 다른 사용자 지정 역할을 만듭니다. 이 새 역할을 사용하려면 구독에서도 역할 할당을 변경해야 합니다.

제한 사항

관리 그룹에 사용자 지정 역할을 사용할 때 몇 가지 제한 사항이 있습니다.

  • 새 역할의 할당 가능한 범위에서 관리 그룹을 하나만 정의할 수 있습니다. 이 제한은 역할 정의와 역할 할당의 연결이 끊어지는 상황을 줄이기 위해 마련되었습니다. 이 상황은 역할 할당이 있는 구독 또는 관리 그룹을 역할 정의가 없는 다른 부모로 이동할 때 발생합니다.
  • DataActions의 사용자 지정 역할은 관리 그룹 범위에서 할당할 수 없습니다. 자세한 내용은 사용자 지정 역할 제한을 참조하세요.
  • Azure Resource Manager는 관리 그룹이 역할 정의의 할당 가능한 범위에 있는지 확인하지 않습니다. 철자 오류가 있거나 잘못된 관리 그룹 ID가 나열되어 있는 경우에도 역할 정의는 계속 생성됩니다.

관리 그룹 및 구독 이동

관리 그룹 또는 구독을 다른 관리 그룹의 자식으로 이동하려면 세 가지 규칙이 true로 평가되어야 합니다.

이동 작업을 수행하는 경우 다음이 필요합니다.

  • 자식 구독 또는 관리 그룹에 대한 관리 그룹 쓰기 및 역할 할당 쓰기 권한.
    • 기본 제공 역할 예제: 소유자
  • 대상 부모 관리 그룹에 대한 관리 그룹 쓰기 액세스 권한.
    • 기본 제공 역할 예제: 소유자, 기여자, 관리 그룹 기여자
  • 기존 부모 관리 그룹에 대한 관리 그룹 쓰기 액세스 권한.
    • 기본 제공 역할 예제: 소유자, 기여자, 관리 그룹 기여자

예외: 대상 또는 기존 부모 관리 그룹이 루트 관리 그룹인 경우 권한 요구 사항이 적용되지 않습니다. 루트 관리 그룹은 모든 새 관리 그룹 및 구독의 기본 랜딩 스팟이므로 루트 관리 그룹에 대한 권한이 없어도 항목을 이동할 수 있습니다.

구독에 대한 소유자 역할이 현재 관리 그룹에서 상속되는 경우 이동 대상이 제한됩니다. 소유자 역할이 있는 다른 관리 그룹으로만 구독을 이동할 수 있습니다. 기여자인 관리 그룹으로는 이동할 수 없습니다. 구독의 소유권을 잃게 되기 때문입니다. 구독에 대한 소유자 역할에 직접 할당되는 경우(관리 그룹에서 상속되지 않음) 기여자 역할이 할당된 관리 그룹으로 이를 이동할 수 있습니다.

Important

Azure Resource Manager는 최대 30분 동안 관리 그룹 계층 구조 세부 정보를 캐시합니다. 따라서 관리 그룹을 이동하면 Azure Portal에 즉시 반영되지 않을 수 있습니다.

활동 로그를 사용하여 관리 그룹 감사

관리 그룹은 Azure 활동 로그 내에서 지원됩니다. 다른 Azure 리소스와 동일한 중앙 위치에서 관리 그룹에 발생하는 모든 이벤트를 검색할 수 있습니다. 예를 들어 특정 관리 그룹에 이루어진 모든 역할 할당 또는 정책 할당 변경 내용을 볼 수 있습니다.

선택한 관리 그룹과 관련된 활동 로그 및 작업의 스크린샷

Azure Portal 외부에서 관리 그룹의 쿼리를 살펴보면 관리 그룹에 대한 대상 범위가 "/providers/Microsoft.Management/managementGroups/{management-group-id}"와 같이 표시됩니다.

참고 항목

Azure Resource Manager REST API를 사용하고 관리 그룹에서 진단 설정을 사용하도록 설정하여 관련된 Azure 활동 로그 항목을 Log Analytics 작업 영역, Azure Storage 또는 Azure Event Hub로 보낼 수 있습니다. 자세한 내용은 관리 그룹 진단 설정 - 만들기 또는 업데이트를 참조하세요.

다음 단계

관리 그룹에 대해 자세히 알아보려면 다음 항목을 참조하세요.