홈 영역 검색을 사용하여 로그인 동작 구성

이 문서에서는 HRD(홈 영역 검색) 정책을 사용하여 페더레이션된 사용자의 Microsoft Entra 인증 동작을 구성하는 방법을 소개합니다. 자동 가속 로그인을 사용하여 사용자 이름 입력 화면을 건너뛰고 사용자를 페더레이션된 로그인 엔드포인트에 자동으로 전달하는 방법을 설명합니다. HRD 정책에 대해 자세히 알아보려면 홈 영역 검색 문서를 참조합니다.

자동 가속 로그인

일부 조직에서는 사용자 인증을 위해 ADFS(Active Directory Federation Services)와 같은 다른 IDP(ID 공급자)와 페더레이션하도록 Microsoft Entra 테넌트에서 do기본s를 구성합니다. 사용자가 애플리케이션에 로그인하면 먼저 Microsoft Entra 로그인 페이지가 표시됩니다. UPN(사용자 계정 이름)을 입력한 후 페더레이션된 도메인에 있는 경우기본 이렇게 하는 IDP 서비스 로그인 페이지로 이동됩니다기본. 특정 상황에서 관리자는 사용자들이 특정 애플리케이션에 로그인할 때 로그인 페이지로 안내하고자 할 수도 있습니다. 결과적으로 사용자는 초기 Microsoft Entra ID 페이지를 건너뛸 수 있습니다. 이 프로세스를 “로그인 자동 가속”이라고 합니다.

SMS 로그인 또는 FIDO 키와 같은 클라우드 지원 자격 증명이 있는 페더레이션 사용자의 경우 로그인 자동 가속을 방지해야 합니다. HRD로 도메인 힌트를 방지하는 방법을 알아보려면 자동 가속 로그인 사용 안 함을 참조하세요.

Important

2023년 4월부터 자동 가속 또는 스마트링크를 사용하는 조직에서는 로그인 UI에 추가된 새 화면이 표시됩니다. 도메인 확인 대화 상자라는 이 화면은 보안 강화에 대한 Microsoft의 보편적 약속의 일부로서, 사용자가 로그인하는 테넌트의 도메인을 확인할 것을 요구합니다. 도메인 확인 대화 상자가 표시어도 나열된 테넌트 도메인을 인식하지 못하는 경우 인증 흐름을 취소하고 IT 관리자에게 문의해야 합니다.

자세한 내용은 도메인 확인 대화를 방문하세요.

필수 조건

Microsoft Entra ID에서 애플리케이션에 대한 HRD 정책을 구성하려면 다음이 필요합니다.

  • 활성 구독이 있는 Azure 계정. 계정이 아직 없는 경우 체험 계정을 만들 수 있습니다.
  • 다음 역할 중 하나: 전역 관리자 또는 서비스 주체의 소유자
  • 최신 Azure AD PowerShell cmdlet 미리 보기입니다.

애플리케이션에 HRD 정책 설정

Azure AD PowerShell cmdlet을 사용하여 다음을 비롯한 몇 가지 시나리오를 안내합니다.

Microsoft Graph를 사용하여 다음을 비롯한 몇 가지 시나리오를 안내합니다.

  • 페더레이션된 단일 도메인이 있는 테넌트의 애플리케이션에 대해 자동 가속을 수행하도록 HRD 정책을 설정합니다.

  • 테넌트에 대해 확인된 여러 도메인 중 하나에 애플리케이션 자동 가속을 수행하도록 HRD 정책을 설정합니다.

  • 레거시 애플리케이션에서 페더레이션 사용자에 대한 사용자 이름/암호 인증을 Microsoft Entra ID에 직접 수행할 수 있도록 HRD 정책을 설정합니다.

  • 정책이 구성된 애플리케이션 나열

다음 예제에서는 Microsoft Entra ID에서 애플리케이션 서비스 주체에 대해 HRD 정책을 생성, 업데이트, 연결 및 삭제합니다.

참고 항목

Azure AD와 MSOnline PowerShell 모듈은 2024년 3월 30일부터 더 이상 사용되지 않습니다. 자세히 알아보려면 사용 중단 업데이트를 참조하세요. 이 날짜 이후에는 이러한 모듈에 대한 지원이 Microsoft Graph PowerShell SDK 및 보안 수정 사항에 대한 마이그레이션 지원으로 제한됩니다. 사용되지 않는 모듈은 2025년 3월 30일까지 계속 작동합니다.

Microsoft Graph PowerShell로 마이그레이션하여 Microsoft Entra ID(이전의 Azure AD)와 상호 작용하는 것이 좋습니다. 일반적인 마이그레이션 관련 질문은 마이그레이션 FAQ를 참조하세요. 참고: MSOnline 버전 1.0.x는 2024년 6월 30일 이후 중단될 수 있습니다.

  1. 시작하기 전에 Connect 명령을 실행하여 관리자 계정으로 Microsoft Entra ID에 로그인합니다.

    Connect-AzureAD -Confirm
    
  2. 다음 명령을 실행하여 조직의 모든 정책을 확인합니다.

    Get-AzureADPolicy
    

아무 정책도 반환되지 않으면 테넌트에서 만들어진 정책이 없는 것입니다.

HRD 정책 만들기

이 예제에서는 애플리케이션에 할당할 때 다음 중 하나를 수행하도록 정책을 만듭니다.

  • 테넌트에 단일 도메인이 있는 경우 사용자가 애플리케이션에 로그인할 때 페더레이션 ID 공급자 로그인 화면으로 자동 가속합니다.
  • 테넌트에 둘 이상의 페더레이션된 도메인이 있는 경우 페더레이션된 ID 공급자 로그인 화면으로 사용자를 자동 가속합니다.
  • 정책이 할당된 애플리케이션의 페더레이션 사용자에 대한 비대화형 사용자 이름/암호 로그인을 Microsoft Entra ID에 직접 사용하도록 설정합니다.

다음 정책은 테넌트에 단일 도메인이 있는 경우 사용자가 애플리케이션에 로그인할 때 페더레이션 ID 공급자 로그인 화면으로 자동 가속합니다.

New-AzureADPolicy 
    -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AccelerateToFederatedDomain`":true}}") -DisplayName BasicAutoAccelerationPolicy 
    -Type HomeRealmDiscoveryPolicy
POST /policies/homeRealmDiscoveryPolicies

"HomeRealmDiscoveryPolicy": {
    "AccelerateToFederatedDomain": true
}

다음 정책은 테넌트에 둘 이상의 페더레이션된 도메인이 있는 경우 사용자를 페더레이션 ID 공급자 로그인 화면으로 자동 가속합니다. 애플리케이션에 대한 사용자를 인증하는 페더레이션된 도메인이 둘 이상 있는 경우 자동 가속할 도메인을 지정해야 합니다.

New-AzureADPolicy 
    -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AccelerateToFederatedDomain`":true, `"PreferredDomain`":`"federated.example.edu`"}}") 
    -DisplayName MultiDomainAutoAccelerationPolicy 
    -Type HomeRealmDiscoveryPolicy
POST /policies/homeRealmDiscoveryPolicies

"HomeRealmDiscoveryPolicy": {
    "AccelerateToFederatedDomain": true,
    "PreferredDomain": [
      "federated.example.edu"
    ]
}

다음 정책은 특정 애플리케이션에 대해 Microsoft Entra ID를 사용하여 페더레이션된 사용자에 대한 사용자 이름/암호 인증을 직접 사용하도록 설정합니다.

New-AzureADPolicy 
    -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}") 
    -DisplayName EnableDirectAuthPolicy 
    -Type HomeRealmDiscoveryPolicy
POST /policies/homeRealmDiscoveryPolicies

"EnableDirectAuthPolicy": {
    "AllowCloudPasswordValidation": true
}

새 정책을 확인하고 해당 ObjectID를 가져오려면 다음 명령을 실행합니다.

Get-AzureADPolicy

HRD 정책을 만든 후 적용하려면 여러 애플리케이션 서비스 주체에 할당할 수 있습니다.

정책에 할당할 서비스 주체 찾기

정책을 할당할 서비스 주체의 ObjectID가 필요합니다. 여러 가지 방법으로 서비스 주체의 ObjectID를 찾을 수 있습니다.

Microsoft Entra 관리 센터를 사용하거나 Microsoft Graph를 쿼리할 수 있습니다. Graph 탐색기 도구로 이동하고 Microsoft Entra 계정에 로그인하여 조직의 모든 서비스 주체를 확인할 수 있습니다.

PowerShell을 사용하기 때문에 다음 cmdlet을 사용하여 서비스 사용자 및 해당 ID를 나열할 수 있습니다.

Get-AzureADServicePrincipal

서비스 주체에 정책 할당

자동 가속을 구성하려는 애플리케이션의 서비스 주체 ObjectID를 찾은 후 다음 명령을 실행합니다. 이 명령은 1단계에서 만든 HRD 정책을 2단계에서 찾은 서비스 주체에 연결합니다.

Add-AzureADServicePrincipalPolicy 
    -Id <ObjectID of the Service Principal> 
    -RefObjectId <ObjectId of the Policy>

정책을 추가하려는 각 서비스 주체에 대해 이 명령을 반복할 수 있습니다.

애플리케이션에 이미 HomeRealmDiscovery 정책이 할당된 경우 두 번째 정책을 추가할 수 없습니다. 이 경우 애플리케이션에 할당된 HRD 정책의 정의를 변경하여 추가 매개 변수를 추가합니다.

HRD 정책이 할당된 서비스 주체 확인

HRD 정책이 구성되어 있는 애플리케이션을 확인하려면 Get-AzureADPolicyAppliedObject cmdlet을 사용합니다. 확인하려는 정책의 ObjectID를 전달합니다.

Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>

애플리케이션을 통해 새 정책이 작동 중인지 확인합니다.

HRD 정책이 구성된 애플리케이션 나열

  1. 조직에서 만든 모든 정책 나열

    Get-AzureADPolicy
    

할당을 나열하려는 정책의 ObjectID를 적어둡니다.

  1. 정책이 할당된 서비스 주체 나열

    Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>
    

애플리케이션에서 HRD 정책 제거

  1. ObjectID 가져오기

    앞의 예제를 사용하여 제거하려는 애플리케이션 서비스 주체의 정책 ObjectID를 가져옵니다.

  2. 애플리케이션 서비스 주체에서 정책 할당 제거

    Remove-AzureADServicePrincipalPolicy -id <ObjectId of the Service Principal>  -PolicyId <ObjectId of the policy>
    
  3. 정책이 할당된 서비스 주체를 나열하여 제거 확인

    Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>
    

Graph 탐색기를 통해 정책 구성

Microsoft Graph 탐색기 창에서:

  1. 필수 구성 요소 섹션에 나열된 역할 중 하나를 사용하여 로그인합니다.

  2. Policy.ReadWrite.ApplicationConfiguration 권한에 동의합니다.

  3. 새 정책을 만들려면 홈 영역 발견 정책을 사용합니다.

  4. 새 정책을 게시하거나 패치를 적용하여 기존 정책을 업데이트합니다.

    PATCH /policies/homeRealmDiscoveryPolicies/{id}
        {
            "definition": [
            "{\"HomeRealmDiscoveryPolicy\":
            {\"AccelerateToFederatedDomain\":true,
            \"PreferredDomain\":\"federated.example.edu\",
            \"AlternateIdLogin\":{\"Enabled\":true}}}"
        ],
            "displayName": "Home Realm Discovery auto acceleration",
            "isOrganizationDefault": true
        }
    
  5. 새 정책을 보려면 다음 쿼리를 실행합니다.

    GET /policies/homeRealmDiscoveryPolicies/{id}
    
  6. 애플리케이션에 새 정책을 할당하려면 다음을 수행합니다.

    POST /servicePrincipals/{id}/homeRealmDiscoveryPolicies/$ref
    

    또는,

    POST /servicePrincipals(appId='{appId}')/homeRealmDiscoveryPolicies/$ref
    
  7. 정책이 할당된 서비스 주체 나열

    GET /policies/homeRealmDiscoveryPolicies/{ObjectId of the policy}/appliesTo
    
  8. 만든 HRD 정책을 삭제하려면 다음 쿼리를 실행합니다.

    DELETE /policies/homeRealmDiscoveryPolicies/{id}
    
  9. 서비스 주체에서 정책 할당 제거

    DELETE /servicePrincipals/{id}/homeRealmDiscoveryPolicies/{policyId}/$ref
    

    또는

    DELETE /servicePrincipals(appId='{appId}')/homeRealmDiscoveryPolicies/{policyId}/$ref
    
  10. 정책이 할당된 서비스 주체를 나열하여 제거 확인

    GET /policies/homeRealmDiscoveryPolicies/{ObjectId of the policy}/appliesTo
    

다음 단계