다음을 통해 공유


Microsoft Entra ID에서 정적 그룹을 동적 멤버 자격 그룹으로 변경

Microsoft Entra ID에서 그룹의 멤버 자격을 정적에서 동적으로(또는 그 반대로) 변경할 수 있습니다. Microsoft Entra ID는 시스템에서 동일한 그룹 이름과 ID를 유지하므로 그룹에 대한 모든 기존 참조가 여전히 유효합니다. 대신 새 그룹을 만드는 경우 해당 참조를 업데이트해야 합니다.

동적 멤버 자격 그룹을 만들면 사용자를 추가하고 제거하는 관리 오버헤드가 제거됩니다. 이 문서에서는 Azure Portal 또는 PowerShell cmdlet을 사용하여 기존 멤버 자격 그룹을 정적에서 동적으로 변환하는 방법을 보여 줍니다. Microsoft Entra에서는 단일 테넌트가 최대 15,000개의 동적 멤버 자격 그룹을 보유할 수 있습니다.

비고

정적 그룹을 동적 멤버 자격 그룹으로 변환하는 경우 멤버 자격 규칙을 충족하는 기존 멤버는 그대로 유지됩니다. 제거되지 않은 멤버입니다. 멤버 자격 규칙을 충족하는 다른 사용자가 자동으로 추가됩니다. 그룹이 앱 또는 리소스에 대한 액세스를 제어하는 데 사용되는 경우 멤버 자격 규칙이 완전히 처리될 때까지 원래 멤버의 액세스 권한이 손실될 수 있습니다.

그룹의 새 멤버 자격이 예상대로 유지되는지 확인하기 위해 새 멤버 자격 규칙을 미리 테스트하는 것이 좋습니다. 테스트 중에 오류가 발생하면 그룹 라이선스 문제 해결을 참조하세요.

필수 조건

  • 포털을 사용하여 멤버 자격 유형을 변경하려면 적어도 그룹 관리자 역할이 있는 계정이 필요합니다.

  • PowerShell을 사용하여 동적 그룹 속성을 변경하려면 Microsoft Graph PowerShell 모듈의 cmdlet을 사용해야 합니다. 자세한 내용은 Microsoft Graph PowerShell SDK를 설치참조하십시오.

그룹의 멤버 자격 유형 변경(포털)

  1. Microsoft Entra 관리 센터에 최소한 그룹 관리자로 로그인합니다.

  2. Microsoft Entra ID를 선택합니다.

  3. 그룹을 선택합니다.

  4. 모든 그룹 목록에서 변경할 그룹을 엽니다.

  5. 속성을 선택합니다.

  6. 그룹의 속성 페이지에서 원하는 멤버 자격 유형 에 따라 할당됨(정적), 동적 사용자 또는 동적 디바이스의 멤버 자격 유형 값을 선택합니다. 동적 멤버 자격 그룹의 경우 규칙 작성기를 사용하여 간단한 규칙에 대한 옵션을 선택하거나 멤버 자격 규칙을 직접 작성할 수 있습니다.

    다음 단계는 사용자 그룹을 정적 멤버 자격 그룹에서 동적 멤버 자격 그룹으로 변경하는 예제입니다.

    1. 멤버 자격 유형에 대해 동적 사용자를 선택합니다. 동적 멤버 자격 그룹의 변경 내용을 설명하는 대화 상자에서 [예 ]를 선택하여 계속합니다.

      동적 사용자의 멤버 자격 유형을 선택하는 스크린샷

    2. 동적 쿼리 추가를 선택하고 규칙을 입력합니다.

      동적 그룹에 대한 규칙을 입력하는 스크린샷

  7. 규칙을 만든 후 쿼리 추가를 선택합니다.

  8. 그룹의 속성 페이지에서 저장 을 선택하여 변경 내용을 저장합니다. 그룹 목록에서 해당 그룹의 멤버 자격 유형이 즉시 업데이트됩니다.

입력한 멤버 자격 규칙이 잘못된 경우 그룹 변환이 실패할 수 있습니다. 포털의 오른쪽 위 모서리에 있는 알림은 규칙을 수락할 수 없는 이유를 설명합니다. 이 알림을 신중하게 읽고 규칙을 올바르게 수정하는 방법을 이해하세요. 규칙 구문의 예와 멤버 자격 규칙에 지원되는 속성, 연산자 및 값의 전체 목록은 Microsoft Entra ID에서 동적 멤버 자격 그룹에 대한 규칙 관리를 참조하세요.

그룹의 멤버 자격 유형 변경(PowerShell)

다음은 기존 그룹에서 멤버 자격 관리를 전환하는 함수의 예입니다. 이 예제에서는 GroupTypes 속성을 올바르게 조작하여 동적 멤버 자격 그룹과 관련이 없는 값을 유지합니다.

#The moniker for dynamic membership groups, as used in the GroupTypes property of a group object
$dynamicGroupTypeString = "DynamicMembership"

function ConvertDynamicGroupToStatic
{
    Param([string]$groupId)

    #Existing group types
    [System.Collections.ArrayList]$groupTypes = (Get-MgGroup -GroupId $groupId).GroupTypes

    if($groupTypes -eq $null -or !$groupTypes.Contains($dynamicGroupTypeString))
    {
        throw "This group is already a static group. Aborting conversion.";
    }


    #Remove the type for dynamic membership groups, but keep the other type values
    $groupTypes.Remove($dynamicGroupTypeString)

    #Modify the group properties to make it a static group: change GroupTypes to remove the dynamic type, and then pause execution of the current rule
    Update-MgGroup -GroupId $groupId -GroupTypes $groupTypes.ToArray() -MembershipRuleProcessingState "Paused"
}

function ConvertStaticGroupToDynamic
{
    Param([string]$groupId, [string]$dynamicMembershipRule)

    #Existing group types
    [System.Collections.ArrayList]$groupTypes = (Get-MgGroup -GroupId $groupId).GroupTypes

    if($groupTypes -ne $null -and $groupTypes.Contains($dynamicGroupTypeString))
    {
        throw "This group is already a dynamic group. Aborting conversion.";
    }
    #Add the dynamic group type to existing types
    $groupTypes.Add($dynamicGroupTypeString)

    #Modify the group properties to make it a static group: change GroupTypes to add the dynamic type, start execution of the rule, and then set the rule
    Update-MgGroup -GroupId $groupId -GroupTypes $groupTypes.ToArray() -MembershipRuleProcessingState "On" -MembershipRule $dynamicMembershipRule
}

그룹을 정적으로 만들려면 다음 명령을 사용합니다.

ConvertDynamicGroupToStatic "a58913b2-eee4-44f9-beb2-e381c375058f"

그룹을 동적으로 만들려면 다음 명령을 사용합니다.

ConvertStaticGroupToDynamic "a58913b2-eee4-44f9-beb2-e381c375058f" "user.displayName -startsWith ""Peter"""