Azure 관리 그룹이란?

조직에 구독이 많으면 구독에 대한 액세스, 정책 및 준수를 효율적으로 관리하는 방법이 필요할 수 있습니다. Azure 관리 그룹은 구독 상위 수준의 범위를 제공합니다. "관리 그룹"이라는 컨테이너에 구독을 구성하고 거버넌스 조건을 관리 그룹에 적용합니다. 관리 그룹에 속하는 모든 구독은 관리 그룹에 적용되는 조건을 자동으로 상속합니다. 관리 그룹은 어떤 형식의 구독을 사용하든 관계 없이 대규모의 엔터프라이즈급 관리를 제공합니다. 단일 관리 그룹 내의 모든 구독은 동일한 Azure Active Directory 테넌트를 신뢰해야 합니다.

예를 들어, VM(가상 머신) 생성에 사용 가능한 지역을 제한하는 정책을 관리 그룹에 적용할 수 있습니다. 이 정책은 해당 지역에만 VM을 만들 수 있도록 허용하는 방식으로 그 지역에 속한 모든 관리 그룹, 구독 및 리소스에 적용됩니다.

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

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

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

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

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

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

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

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

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

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

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

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

중요

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

관리 그룹의 초기 설치

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

모든 구독 표시 관련 문제

2018년 6월 25일 이전에 미리 보기에서 초기 단계의 관리 그룹을 사용하기 시작한 몇몇 디렉터리에는 모든 구독이 계층 구조 내에 있지 않은 문제를 볼 수 있습니다. 계층 구조에 모든 구독을 적용하는 프로세스는 디렉터리의 루트 관리 그룹에 대한 역할 또는 정책 할당이 완료된 후에 구현되었습니다.

문제 해결 방법

이 문제를 해결하기 위해 수행할 수 있는 두 가지 옵션이 있습니다.

  • 루트 관리 그룹에서 모든 역할 및 정책 할당 제거
    • 서비스는 루트 관리 그룹에서 모든 정책 및 역할 할당을 제거한 후 다음 야간 주기에 모든 구독을 계층 구조에 다시 채웁니다. 이 프로세스는 모든 테넌트 구독에 액세스 권한이 우연히 지정되거나 정책이 할당되지 않도록 합니다.
    • 서비스에 영향을 주지 않고 이 프로세스를 수행하는 가장 좋은 방법은 루트 관리 그룹에서 한 수준 아래에 역할 또는 정책 할당을 적용하는 것입니다. 그런 다음, 루트 범위에서 모든 할당을 제거할 수 있습니다.
  • API를 직접 호출하여 다시 채우기 프로세스 시작
    • 디렉터리의 모든 고객은 TenantBackfillStatusRequest 또는 StartTenantBackfillRequest API를 호출할 수 있습니다. 호출된 StartTenantBackfillRequest API는 모든 구독을 계층 구조로 이동하는 초기 설정 프로세스를 시작합니다. 이 프로세스는 또한 모든 새 구독을 루트 관리 그룹의 자식으로 적용하기 시작합니다. 이 프로세스는 루트 수준에서 할당을 변경하지 않고 수행될 수 있습니다. API를 호출하면 루트의 정책 또는 액세스 할당이 모든 구독에 적용될 수 있어도 괜찮습니다.

이 다시 채우기 프로세스에 대한 질문이 있는 경우 managementgroups@microsoft.com에 문의하세요.

관리 그룹 액세스

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

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

Azure 역할 이름 생성 이름 바꾸기 이동** DELETE 액세스 권한 할당 정책 할당 읽기
소유자 X X X X X X X
참가자 X X X X X
MG 기여자* X X X X X
판독기 X
MG Reader* X
리소스 정책 참가자 X
사용자 액세스 관리자 X X

*: MG 기여자 및 MG 읽기 권한자는 사용자가 관리 그룹 범위에서 이러한 작업만 수행하도록 허용합니다. **: 구독 또는 관리 그룹을 이동하기 위해 루트 관리 그룹에 대한 역할을 할당할 필요가 없습니다. 계층 내에서 항목을 이동하는 방법에 대한 세부 정보는 관리 그룹을 사용하여 리소스 관리를 참조하세요.

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"
  ]
}
...

역할 정의 및 할당 계층 경로를 위반하는 이슈

역할 정의는 관리 그룹 계층 구조 내부의 어느 위치에나 할당 가능한 범위입니다. 역할 정의는 부모 관리 그룹에서 정의할 수 있지만 실제 역할 할당은 자식 구독에 존재합니다. 두 항목 간에 관계가 있으므로, 해당 정의에서 할당을 분리하려고 시도하면 오류가 발생합니다.

예를 들어 시각적 개체의 계층 구조 일부를 살펴보겠습니다.

샘플 관리 그룹 계층 구조의 하위 집합에 대한 다이어그램

이 다이어그램은 자식 I T 및 마케팅 관리 그룹을 사용하는 루트 관리 그룹을 중심으로 합니다. I T 관리 그룹에는 프로덕션이라는 단일 자식 관리 그룹이 있고 마케팅 관리 그룹에는 두 개의 평가판 자식 구독이 있습니다.

마케팅 관리 그룹에 사용자 지정 역할이 정의되어 있다고 가정하겠습니다. 이 사용자 지정 역할은 두 개의 평가판 구독에 할당됩니다.

구독 중 하나를 프로덕션 관리 그룹의 자식으로 이동하려고 시도하면 이 이동으로 인해 구독 역할 할당에서 마케팅 관리 그룹 역할 정의로의 경로가 중단됩니다. 이 시나리오에서는 이 관계를 손상하는 이동은 허용되지 않는다는 오류 메시지가 표시됩니다.

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

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

제한 사항

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

  • 새 역할의 할당 가능한 범위에서 관리 그룹을 하나만 정의할 수 있습니다. 이 제한은 역할 정의와 역할 할당의 연결이 끊어지는 상황을 줄이기 위해 마련되었습니다. 이 상황은 역할 할당이 있는 구독 또는 관리 그룹을 역할 정의가 없는 다른 부모로 이동할 때 발생합니다.
  • 리소스 공급자 데이터 평면 작업은 관리 그룹 사용자 지정 역할에서 정의할 수 없습니다. 이 제한은 데이터 평면 리소스 공급자를 업데이트하는 동안 대기 시간 문제가 있기 때문에 마련되었습니다. 이 대기 시간 이슈를 해결하기 위해 노력 중이며, 위험을 줄이기 위해 역할 정의에서 이러한 작업을 사용하지 않을 것입니다.
  • Azure Resource Manager는 관리 그룹이 역할 정의의 할당 가능한 범위에 있는지 확인하지 않습니다. 철자 오류가 있거나 잘못된 관리 그룹 ID가 나열되어 있는 경우에도 역할 정의는 계속 생성됩니다.
  • dataActions 가 있는 역할의 역할 할당은 지원되지 않습니다. 대신 구독 범위에서 역할 할당을 만듭니다.

중요

AssignableScopes에 관리 그룹을 추가하는 것은 현재 미리 보기로 제공됩니다. 이 미리 보기 버전은 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 사용하지 않는 것이 좋습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

관리 그룹 및 구독 이동

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

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

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

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

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

중요

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

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

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

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

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

다음 단계

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