다음을 통해 공유


Microsoft Entra 앱을 사용자 집합으로 제한

기본적으로 Microsoft Entra 테넌트에 등록된 애플리케이션은 성공적으로 인증한 테넌트의 모든 사용자에게 제공됩니다. 애플리케이션을 사용자 집합으로 제한하려면 사용자 할당이 필요하도록 애플리케이션을 구성할 수 있습니다. 애플리케이션 또는 서비스에 액세스하려는 사용자와 서비스는 애플리케이션에 할당되어야 합니다. 그렇지 않으면 로그인하거나 액세스 토큰을 가져올 수 없습니다.

마찬가지로 다중 테넌트 애플리케이션에서는 애플리케이션이 프로비전된 Microsoft Entra 테넌트의 모든 사용자가 해당 테넌트에서 성공적으로 인증되면 애플리케이션에 액세스할 수 있습니다.

테넌트 관리자와 개발자는 애플리케이션을 특정 사용자 또는 앱(서비스) 집합으로 제한해야 하는 요구 사항이 있는 경우가 많습니다. 애플리케이션을 특정 사용자, 앱 또는 보안 그룹 집합으로 제한하는 방법에는 두 가지가 있습니다.

  • 개발자는 Azure RBAC(Azure 역할 기반 액세스 제어)와 같은 인기 있는 권한 부여 패턴을 사용할 수 있습니다.
  • 테넌트 관리자 및 개발자는 Microsoft Entra ID의 기본 제공 기능을 사용할 수 있습니다.

필수 조건

지원되는 앱 구성

앱을 테넌트의 특정 사용자 집합, 앱 또는 보안 그룹으로 제한하는 옵션은 다음과 같은 애플리케이션 형식으로 작동합니다.

  • SAML 기반 인증을 사용하여 페더레이션된 Single Sign-On에 대해 구성된 애플리케이션
  • Microsoft Entra 사전 인증을 사용하는 애플리케이션 프록시 애플리케이션.
  • 사용자 또는 관리자가 해당 애플리케이션에 동의한 후 OAuth 2.0/OpenID Connect 인증을 사용하는 Microsoft Entra 애플리케이션 플랫폼에 직접 빌드된 애플리케이션입니다.

사용자 할당을 요구하도록 앱 업데이트

이 문서의 단계는 시작하는 포털에 따라 약간 다를 수도 있습니다.

사용자 할당이 필요하도록 애플리케이션을 업데이트하려면 Enterprise 앱에서 애플리케이션의 소유자이거나 최소한 클라우드 애플리케이션 관리자여야 합니다.

  1. Microsoft Entra 관리 센터에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 위쪽 메뉴의 디렉터리 + 구독 필터를 사용하여 디렉터리 + 구독 메뉴에서 앱 등록이 포함된 테넌트로 전환합니다.
  3. ID>애플리케이션>엔터프라이즈 애플리케이션으로 이동한 다음, 모든 애플리케이션을 선택합니다.
  4. 할당을 요구하도록 구성하려는 애플리케이션을 선택합니다. 창 상단에 있는 필터를 사용하여 특정 애플리케이션을 검색합니다.
  5. 애플리케이션 개요 페이지의 관리에서 속성을 선택합니다.
  6. 과제가 필요하나요? 설정을 찾아 로 설정합니다.
  7. 위쪽 표시줄에서저장을 선택합니다.

애플리케이션에 할당이 필요한 경우 해당 애플리케이션에 대한 사용자 동의가 허용되지 않습니다. 이는 해당 앱에 대한 사용자 동의가 다른 방식으로 허용된 경우에도 마찬가지입니다. 할당이 필요한 앱에 대해 테넌트 전체 관리자 동의를 부여해야 합니다.

액세스를 제한하려면 사용자 및 그룹에 앱을 할당합니다.

사용자 할당을 사용하도록 앱을 구성하고 나면 앱에 사용자 및 그룹을 할당할 수 있습니다.

  1. 관리에서 사용자 및 그룹을 선택한 다음 사용자/그룹 추가를 선택합니다.
  2. 사용자 아래에서 [선택하지 않음]을 선택하면 여러 사용자 및 그룹을 선택할 수 있는 사용자 선택기 창이 열립니다.
  3. 사용자 및 그룹 추가가 완료되면 선택을 선택합니다.
    1. (선택 사항) 애플리케이션에서 앱 역할을 정의한 경우 역할 선택 옵션을 사용하여 선택한 사용자 및 그룹에 앱 역할을 할당할 수 있습니다.
  4. 할당을 선택하여 사용자 및 그룹에 대한 앱 할당을 완료합니다.
  5. 사용자 및 그룹 페이지로 돌아가면 새로 추가된 사용자 및 그룹이 업데이트된 목록에 표시됩니다.

다른 서비스(클라이언트 앱)를 할당하여 앱(리소스)에 대한 액세스를 제한합니다.

테넌트에 대한 앱 간 인증 액세스를 보호하려면 이 섹션의 단계를 따릅니다.

  1. 테넌트의 서비스 주체 로그인 로그로 이동하여 테넌트의 리소스에 액세스하기 위해 인증하는 서비스를 찾습니다.

  2. 액세스를 관리하려는 테넌트의 리소스 및 클라이언트 앱 모두에 대해 서비스 주체가 존재하는 경우 앱 ID를 사용하여 확인합니다.

    Get-MgServicePrincipal `
    -Filter "AppId eq '$appId'"
    
  3. 존재하지 않는 경우 앱 ID를 사용하여 서비스 주체를 만듭니다.

    New-MgServicePrincipal `
    -AppId $appId
    
  4. 클라이언트 앱을 리소스 앱에 명시적으로 할당합니다(이 기능은 API에서만 사용할 수 있고 Microsoft Entra 관리 센터에서는 사용할 수 없음).

    $clientAppId = “[guid]”
                   $clientId = (Get-MgServicePrincipal -Filter "AppId eq '$clientAppId'").Id
    New-MgServicePrincipalAppRoleAssignment `
    -ServicePrincipalId $clientId `
    -PrincipalId $clientId `
    -ResourceId (Get-MgServicePrincipal -Filter "AppId eq '$appId'").Id `
    -AppRoleId "00000000-0000-0000-0000-000000000000"
    
  5. 명시적으로 할당된 사용자 또는 서비스로만 액세스를 제한하려면 리소스 애플리케이션에 대한 할당이 필요합니다.

    Update-MgServicePrincipal -ServicePrincipalId (Get-MgServicePrincipal -Filter "AppId eq '$appId'").Id -AppRoleAssignmentRequired:$true
    

참고 항목

애플리케이션에 대한 토큰이 발급되는 것을 원하지 않거나 테넌트의 사용자 또는 서비스가 애플리케이션에 액세스하지 못하도록 차단하려는 경우 애플리케이션에 대한 서비스 주체를 만들고 이에 대한 사용자 로그인을 사용하지 않도록 설정합니다.

참고 항목

역할 및 보안 그룹에 대한 자세한 내용은 다음을 참조하세요.