다음을 통해 공유


자동 가속 로그인 사용 안 함

이 문서에서는 HRD(홈 영역 검색) 정책을 사용하여 특정 도메인 및 애플리케이션에 대해 자동 가속 로그인을 사용하지 않도록 설정하는 방법을 알아봅니다. 이 정책을 구성하면 관리자는 사용자가 항상 관리되는 자격 증명을 사용하도록 하여 보안을 개선하고 일관된 로그인 환경을 제공할 수 있습니다.

HRD(Home Realm Discovery) 정책은 관리자에게 사용자가 인증하는 방법 및 위치를 제어하는 여러 방법을 제공합니다. HRD 정책의 domainHintPolicy 섹션은 페더레이션된 사용자가 항상 Microsoft Entra 로그인 페이지를 방문하고 도메인 힌트로 인해 페더레이션된 IDP로 자동 가속되지 않도록 함으로써 FIDO와 같은 클라우드 관리 자격 증명으로 마이그레이션하는 데 사용됩니다. HRD 정책에 대한 자세한 내용은 홈 영역 검색을 참조하세요.

이 정책은 관리자가 로그인하는 동안 도메인 힌트를 제어하거나 업데이트할 수 없는 경우에 필요합니다. 예를 들어, outlook.com/contoso.com&domain_hint=contoso.com 도메인에 대한 페더레이션된 IDP에 직접 사용자를 자동으로 가속화하기 위해 contoso.com 매개 변수가 추가된 로그인 페이지로 사용자를 보냅니다. 페더레이션된 IDP로 전송된 관리되는 자격 증명을 가진 사용자는 관리되는 자격 증명을 사용하여 로그인할 수 없으므로 보안이 저하되고 임의의 로그인 경험으로 인해 사용자가 불편을 겪습니다. 관리되는 자격 증명을 롤아웃하는 관리자는 사용자가 관리되는 자격 증명을 항상 사용할 수 있도록 이 정책을 설정해야 합니다.

필수 조건

Microsoft Entra ID에서 애플리케이션에 대한 자동 가속 로그인을 사용하지 않도록 설정하려면 다음이 필요합니다.

  • 활성 구독이 있는 Azure 계정. 계정이 아직 없는 경우 체험 계정을 만들 수 있습니다.
  • 클라우드 애플리케이션 관리자, 애플리케이션 관리자 또는 서비스 주체 소유자 역할 중 하나

Microsoft Graph PowerShell을 사용하여 도메인 힌트를 방지하도록 HRD 구성

페더레이션된 도메인의 관리자는 4단계 계획에서 HRD 정책의 이 섹션을 설정해야 합니다. 이 계획의 목표는 결국 테넌트의 모든 사용자가 도메인 또는 애플리케이션에 관계없이 관리 자격 증명을 사용하도록 하고 domain_hint 사용량에 대한 종속성이 높은 앱을 저장하는 것입니다. 이 계획을 통해 관리자는 이러한 앱을 찾고 새 정책에서 제외하고 테넌트의 나머지 부분에 대한 변경 내용을 계속 적용할 수 있습니다.

처음에 이 변경 내용을 적용할 도메인을 선택합니다. 이 도메인은 테스트 도메인이므로 UX의 변경 내용을 더 잘 받아들일 수 있는 도메인을 선택합니다(예: 다른 로그인 페이지 표시). 다음 예제는 이 도메인 이름을 사용하는 모든 애플리케이션에서 모든 도메인 힌트를 무시하도록 구성됩니다. 테넌트 기본 HRD 정책에서 이 정책을 설정합니다.

Connect 명령을 실행하여 적어도 애플리케이션 관리자 역할로 Microsoft Entra ID에 로그인합니다.

connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
  1. 다음 명령을 실행하여 테스트 도메인에 대한 도메인 힌트를 방지합니다.

    # Define the Home Realm Discovery Policy parameters  
    $params = @{
    definition = @(
        '{
            "HomeRealmDiscoveryPolicy": {
                "DomainHintPolicy": {
                    "IgnoreDomainHintForDomains": ["federated.example.edu"],
                    "RespectDomainHintForDomains": [],
                    "IgnoreDomainHintForApps": [],
                    "RespectDomainHintForApps": []
                }
            }
        }'
    )
    displayName = "Home Realm Discovery Domain Hint Exclusion Policy"
    isOrganizationDefault = $true
    }
    
    # Define the Home Realm Discovery Policy ID (ensure this is set to a valid ID)  
    $homeRealmDiscoveryPolicyId = "<Your-Policy-ID-Here>"  # Replace with your actual policy ID  
    
    # Update the policy to ignore domain hints for the specified domains  
    Update-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId -BodyParameter $params  
    

    app-client-Guid을 실제 앱 GUID로 바꾸고, 자리 표시자가 있는 도메인 값을 실제 도메인으로 변경해야 합니다.

  2. 테스트 도메인 사용자의 의견을 수집합니다. 이러한 변경의 결과로 중단된 애플리케이션에 대한 세부 정보를 수집합니다. 이는 도메인 힌트 사용에 대한 종속성을 가지며 업데이트해야 합니다. 지금은 RespectDomainHintForApps 섹션에 추가합니다.

    # Define the Home Realm Discovery Policy parameters
    $params = @{
    definition = @(
        '{
            "HomeRealmDiscoveryPolicy": {
                "DomainHintPolicy": {
                    "IgnoreDomainHintForDomains": ["federated.example.edu"],
                    "RespectDomainHintForDomains": [],
                    "IgnoreDomainHintForApps": [],
                    "RespectDomainHintForApps": ["app1-clientID-Guid", "app2-clientID-Guid"]
                }
            }
        }'
    )
    displayName = "Home Realm Discovery Domain Hint Exclusion Policy"
    isOrganizationDefault = $true
    }
    # Define the Home Realm Discovery Policy ID (ensure this is set to a valid ID)  
    $homeRealmDiscoveryPolicyId = "<Your-Policy-ID-Here>"  # Replace with your actual policy ID  
    
    # Update the policy to ignore domain hints for the specified domains  
    Update-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId -BodyParameter $params
    

    app-client-Guid을 실제 앱 GUID들로 바꾸고, 자리 표시자 도메인 값을 실제 도메인으로 교체해야 합니다.

  3. 정책의 롤아웃을 새 도메인으로 계속 확장하고 더 많은 피드백을 수집합니다.

    # Define the Home Realm Discovery Policy parameters  
    $params = @{
    definition = @(
        '{
            "HomeRealmDiscoveryPolicy": {
                "DomainHintPolicy": {
                    "IgnoreDomainHintForDomains": ["federated.example.edu", "otherDomain.com", "anotherDomain.com"],
                    "RespectDomainHintForDomains": [],
                    "IgnoreDomainHintForApps": [],
                    "RespectDomainHintForApps": ["app1-clientID-Guid", "app2-clientID-Guid"]
                }
            }
        }'
    )
    displayName = "Home Realm Discovery Domain Hint Exclusion Policy"
    isOrganizationDefault = $true
    }
    
    # Define the Home Realm Discovery Policy ID (ensure this is set to a valid ID)  
    $homeRealmDiscoveryPolicyId = "<Your-Policy-ID-Here>"  # Replace with your actual policy ID  
    
    # Update the policy to ignore domain hints for the specified domains  
    Update-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId -BodyParameter $params
    

    확실히 app-client-Guid을 실제 앱 GUID로 바꾸고, 자리 표시자 도메인 값을 실제 도메인으로 바꿔야 합니다.

  4. 출시 완료 - 계속 가속해야 하는 도메인을 제외하고 모든 도메인을 대상으로 지정합니다.

    $params = @{
    definition = @(
        '{
            "HomeRealmDiscoveryPolicy": {
                "DomainHintPolicy": {
                    "IgnoreDomainHintForDomains": ["*"],
                    "RespectDomainHintForDomains": ["guestHandlingDomain.com"],
                    "IgnoreDomainHintForApps": [],
                    "RespectDomainHintForApps": ["app1-clientID-Guid", "app2-clientID-Guid"]
                }
            }
        }'
    )
    displayName = "Home Realm Discovery Domain Hint Exclusion Policy"
    isOrganizationDefault = $true
    }  
    
    # Define the Home Realm Discovery Policy ID (ensure this is set to a valid ID)  
    $homeRealmDiscoveryPolicyId = "<Your-Policy-ID-Here>"  # Replace with your actual policy ID  
    
    # Update the policy to ignore domain hints for the specified domains  
    Update-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId -BodyParameter $params
    

    app-client-Guid”을 실제 앱 GUID로 대체하고, 자리 표시자 도메인 값을 실제 도메인으로 대체해야 합니다.

Microsoft Graph를 사용하여 도메인 힌트를 방지하도록 HRD 구성

페더레이션된 도메인의 관리자는 4단계 계획에서 HRD 정책의 이 섹션을 설정해야 합니다. 이 계획의 목표는 결국 테넌트의 모든 사용자가 도메인 또는 애플리케이션에 관계없이 관리 자격 증명을 사용하도록 하고 domain_hint 사용량에 대한 종속성이 높은 앱을 저장하는 것입니다. 이 계획을 통해 관리자는 이러한 앱을 찾고 새 정책에서 제외하고 테넌트의 나머지 부분에 대한 변경 내용을 계속 적용할 수 있습니다.

Microsoft Graph 탐색기 창에서 애플리케이션 관리자 역할로 최소한 한 번 로그인합니다.

Policy.ReadWrite.ApplicationConfiguration 권한에 동의를 부여하십시오.

  1. 처음에 이 변경 내용을 적용할 도메인을 선택합니다. 이 도메인은 테스트 도메인이므로 UX의 변경 내용을 더 잘 받아들일 수 있는 도메인을 선택합니다(예: 다른 로그인 페이지 표시). 그러면 이 도메인 이름을 사용하는 모든 애플리케이션의 모든 도메인 힌트가 무시됩니다. 테넌트 기본 HRD 정책에서 이 정책을 설정합니다. 새 정책을 등록(POST)하거나 기존 정책을 수정(PATCH)하여 업데이트합니다.

    PATCH https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{homeRealmDiscoveryPolicyId} 
        {  
    "definition": [  
        "{\"HomeRealmDiscoveryPolicy\":{\"IgnoreDomainHintForDomains\":[\"testDomain.com\"],\"RespectDomainHintForDomains\":[],\"IgnoreDomainHintForApps\":[],\"RespectDomainHintForApps\":[]}}"
    ],
    "displayName": "Home Realm Discovery Domain Hint Exclusion Policy",  
    "isOrganizationDefault": true 
    }
    
  2. 테스트 도메인 사용자의 의견을 수집합니다. 이러한 변경의 결과로 중단된 애플리케이션에 대한 세부 정보를 수집합니다. 이는 도메인 힌트 사용에 대한 종속성을 가지며 업데이트해야 합니다. 지금은 RespectDomainHintForApps 섹션에 추가합니다.

    PATCH https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{homeRealmDiscoveryPolicyId} 
    {  
    "definition": [  
        "{\"HomeRealmDiscoveryPolicy\":{\"IgnoreDomainHintForDomains\":[\"testDomain.com\"],\"RespectDomainHintForDomains\":[],\"IgnoreDomainHintForApps\":[],\"RespectDomainHintForApps\":[\"app1-clientID-Guid\",\"app2-clientID-Guid\"]}}"
    ],
    "displayName": "Home Realm Discovery Domain Hint Exclusion Policy6",  
    "isOrganizationDefault": false   
    }
    
  3. 정책의 롤아웃을 새 도메인으로 계속 확장하고 더 많은 피드백을 수집합니다.

    PATCH https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{homeRealmDiscoveryPolicyId} 
    {  
    "definition": [  
        "{\"HomeRealmDiscoveryPolicy\":{\"IgnoreDomainHintForDomains\":[\"testDomain.com\",\"otherDomain.com\",\"anotherDomain.com\"],\"RespectDomainHintForDomains\":[],\"IgnoreDomainHintForApps\":[],\"RespectDomainHintForApps\":[\"app1-clientID-Guid\",\"app2-clientID-Guid\"]}}"  
    ],  
    "displayName": "Home Realm Discovery Domain Hint Exclusion Policy",  
    "isOrganizationDefault": true  
    }
    
  4. 롤아웃 완료 - 모든 도메인을 대상으로 하여 계속 가속화해야 하는 도메인을 제외합니다.

    PATCH https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{homeRealmDiscoveryPolicyId} 
    {  
    "definition": [  
        "{\"HomeRealmDiscoveryPolicy\":{\"IgnoreDomainHintForDomains\":[\"*\"],\"RespectDomainHintForDomains\":[\"guestHandlingDomain.com\"],\"IgnoreDomainHintForApps\":[],\"RespectDomainHintForApps\":[\"app1-clientID-Guid\",\"app2-clientID-Guid\"]}}"  
    ],  
    "displayName": "Home Realm Discovery Domain Hint Exclusion Policy",  
    "isOrganizationDefault": true   
    }
    

4단계가 완료된 후 guestHandlingDomain.com사용자를 제외한 모든 사용자는 도메인 힌트가 페더레이션된 IDP에 자동 가속을 발생시키는 경우에도 Microsoft Entra 로그인 페이지에서 로그인할 수 있습니다. 이 설정의 예외는 로그인을 요청하는 앱이 제외된 앱 중 하나인 경우입니다. 해당 앱의 경우 모든 도메인 힌트가 여전히 허용됩니다.

DomainHintPolicy 세부 정보

HRD 정책의 DomainHintPolicy 섹션은 관리자가 도메인 힌트 사용에서 특정 도메인 및 애플리케이션을 옵트아웃할 수 있도록 하는 JSON 개체입니다. 기능적으로 이 섹션에서는 로그인 요청에 domain_hint 매개 변수가 없는 것처럼 동작하도록 Microsoft Entra 로그인 페이지에 지시합니다.

적용 및 무시 정책 섹션

섹션 의미
IgnoreDomainHintForDomains 요청에서 이 도메인 힌트가 전송된 경우 이를 무시합니다. 도메인 주소의 배열(예: contoso.com). all_domains도 지원함
RespectDomainHintForDomains 요청에서 이 도메인 힌트가 전송된 경우 IgnoreDomainHintForApps에서 요청에 있는 앱이 자동으로 가속되지 않아야 함을 나타내는 경우에도 해당 힌트를 적용합니다. 이 속성은 네트워크 내에서 도메인 힌트의 사용 중단을 단계적으로 느리게 적용하기 위한 것입니다. 일부 도메인을 여전히 가속화해야 한다는 점을 표시할 수 있습니다. 도메인 주소의 배열(예: contoso.com). all_domains도 지원함
IgnoreDomainHintForApps 이 애플리케이션의 요청에 도메인 힌트가 포함된 경우 이를 무시합니다. 애플리케이션 ID의 배열(GUID). all_apps도 지원함
RespectDomainHintForApps 이 애플리케이션의 요청에 도메인 힌트가 포함된 경우 IgnoreDomainHintForDomains에 해당 도메인이 포함되더라도 이를 적용합니다. 도메인 힌트가 없이 중단을 발견할 경우 일부 앱이 계속 작동하는지 확인하는 데 사용됩니다. 애플리케이션 ID의 배열(GUID). all_apps도 지원함

정책 평가

DomainHintPolicy 논리는 도메인 힌트가 포함된 들어오는 각 요청에서 실행되고 요청에 포함된 두 개의 데이터(도메인 힌트의 도메인 및 클라이언트 ID(앱))에 따라 가속화됩니다. 즉, 도메인 또는 앱에 대한 '존중'이 지정된 도메인 또는 애플리케이션에 대한 도메인 힌트를 "무시"하는 명령보다 우선합니다.

  • 도메인 힌트 정책이 없거나 4개의 섹션 중 어느 것도 언급된 앱 또는 도메인 힌트를 참조하지 않는 경우 HRD 정책의 나머지 평가됩니다.
  • RespectDomainHintForApps 또는 RespectDomainHintForDomains 섹션 중 하나(또는 둘 다)가 요청에서 앱 또는 도메인 힌트를 포함하는 경우 요청된 대로 사용자가 페더레이션된 IDP로 자동 가속됩니다.
  • IgnoreDomainHintsForApps 또는 IgnoreDomainHintsForDomains 중 하나(또는 둘 다)가 요청에서 앱 또는 도메인 힌트를 참조하고 "적용" 섹션에서 참조되지 않는 경우 요청을 자동으로 가속하지 않으며 사용자는 Microsoft Entra 로그인 페이지에서 사용자 이름을 제공하는 상태로 유지됩니다.

사용자가 로그인 페이지에서 사용자 이름을 입력하면 관리되는 자격 증명을 사용할 수 있습니다. 관리되는 자격 증명을 사용하지 않거나 등록된 자격 증명이 없는 경우 평소와 같이 자격 증명 항목을 위해 페더레이션된 IDP로 이동됩니다.