로그인 자동 가속화 설정
이 문서에서는 HRD(홈 영역 검색) 정책을 사용하여 페더레이션된 사용자의 Microsoft Entra 인증 동작을 구성하는 방법을 소개합니다. 자동 가속 로그인을 사용하여 사용자 이름 입력 화면을 건너뛰고 사용자를 페더레이션 로그인 엔드포인트로 자동으로 전달하는 방법을 다룹니다. HRD 정책에 대해 자세히 알아보려면 홈 영역 검색 문서를 참조합니다.
필수 조건
Microsoft Entra ID에서 애플리케이션에 대한 HRD 정책을 구성하려면 다음이 필요합니다.
- 활성 구독이 있는 Azure 계정. 계정이 아직 없는 경우 체험 계정을 만들 수 있습니다.
- 애플리케이션 관리자 역할
자동 가속 로그인
일부 조직에서는 사용자 인증을 위해 ADFS(Active Directory Federation Services)와 같은 다른 IDP(ID 공급자)와 페더레이션하도록 Microsoft Entra 테넌트에서 도메인을 구성합니다. 사용자가 애플리케이션에 로그인하면 먼저 Microsoft Entra 로그인 페이지가 표시됩니다. UPN(사용자 계정 이름)을 입력한 후 페더레이션된 도메인에 있는 경우 해당 도메인을 제공하는 IDP의 로그인 페이지로 이동됩니다. 특정 상황에서 관리자는 사용자들이 특정 애플리케이션에 로그인할 때 로그인 페이지로 안내하고자 할 수도 있습니다. 결과적으로 사용자는 초기 Microsoft Entra ID 페이지를 건너뛸 수 있습니다. 이 프로세스를 “로그인 자동 가속”이라고 합니다.
SMS(짧은 메시지 서비스) 로그인 또는 FIDO 키와 같은 클라우드 사용 자격 증명을 사용하는 페더레이션된 사용자의 경우 로그인 자동 가속을 방지해야 합니다. HRD로 도메인 힌트를 방지하는 방법을 알아보려면 자동 가속 로그인 사용 안 함을 참조하세요.
Important
2023년 4월부터 자동 가속 또는 스마트링크를 사용하는 조직에서는 로그인 UI에 추가된 새 화면이 표시됩니다. 도메인 확인 대화 상자라는 이 화면은 보안 강화에 대한 Microsoft의 보편적 약속의 일부로서, 사용자가 로그인하는 테넌트의 도메인을 확인할 것을 요구합니다. 도메인 확인 대화 상자가 표시어도 나열된 테넌트 도메인을 인식하지 못하는 경우 인증 흐름을 취소하고 IT 관리자에게 문의해야 합니다.
자세한 내용은 도메인 확인 대화를 방문하세요.
Microsoft Graph PowerShell을 사용하여 HRD 정책 설정
Microsoft Graph PowerShell cmdlet을 사용하여 다음을 비롯한 몇 가지 시나리오를 안내합니다.
- 페더레이션된 단일 도메인이 있는 테넌트의 애플리케이션에 대해 자동 가속을 수행하도록 HRD 정책을 설정합니다.
- 테넌트에 대해 확인된 여러 도메인 중 하나에 애플리케이션 자동 가속을 수행하도록 HRD 정책을 설정합니다.
- 레거시 애플리케이션에서 페더레이션 사용자에 대한 사용자 이름/암호 인증을 Microsoft Entra ID에 직접 수행할 수 있도록 HRD 정책을 설정합니다.
- 정책이 구성된 애플리케이션 나열
다음 예제에서는 Microsoft Entra ID에서 애플리케이션 서비스 주체에 대해 HRD 정책을 생성, 업데이트, 연결 및 삭제합니다.
시작하기 전에 Connect 명령을 실행하여 Microsoft Entra ID에 애플리케이션 관리자 역할로 로그인하세요.
connect-MgGraph -scopes "Policy.Read.All"
다음 명령을 실행하여 조직의 모든 정책을 확인합니다.
Get-MgPolicyHomeRealmDiscoveryPolicy -Property Id, displayName
아무 정책도 반환되지 않으면 테넌트에서 만들어진 정책이 없는 것입니다.
Microsoft Graph PowerShell을 사용하여 HRD 정책 만들기
이 예제에서는 애플리케이션에 할당할 때 다음 중 하나를 수행하도록 정책을 만듭니다.
- 테넌트에 단일 도메인이 있는 경우 사용자가 애플리케이션에 로그인할 때 페더레이션 ID 공급자 로그인 화면으로 자동 가속합니다.
- 테넌트에 둘 이상의 페더레이션된 도메인이 있는 경우 페더레이션된 ID 공급자 로그인 화면으로 사용자를 자동 가속합니다.
- 정책이 할당된 애플리케이션의 페더레이션 사용자에 대한 비대화형 사용자 이름/암호 로그인을 Microsoft Entra ID에 직접 사용하도록 설정합니다.
다음 정책은 테넌트에 단일 도메인이 있는 경우 사용자가 애플리케이션에 로그인할 때 페더레이션 ID 공급자 로그인 화면으로 자동 가속합니다.
최소 애플리케이션 관리자 역할을 가지고 Connect 명령을 실행하여 Microsoft Entra ID에 로그인합니다.
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
다음 명령을 실행하여 새 HRD 정책을 만듭니다.
# Define the parameters for the policy $params = @{ definition = @( '{"HomeRealmDiscoveryPolicy":{ "AccelerateToFederatedDomain":true, } }' ) displayName = "BasicAutoAccelerationPolicy" isOrganizationDefault = $true } # Create a new Home Realm Discovery Policy New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
다음 정책은 테넌트에 둘 이상의 페더레이션된 도메인이 있는 경우 사용자를 페더레이션 ID 공급자 로그인 화면으로 자동 가속합니다. 애플리케이션에 대한 사용자를 인증하는 페더레이션된 도메인이 둘 이상 있는 경우 자동 가속할 도메인을 지정해야 합니다.
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
# Define the parameters for the New-MgPolicyHomeRealmDiscoveryPolicy cmdlet
$params = @{
definition = @(
'{"HomeRealmDiscoveryPolicy":{
"AccelerateToFederatedDomain":true,
"PreferredDomain":"federated.example.edu"
}}'
)
displayName = "MultiDomainAutoAccelerationPolicy"
isOrganizationDefault = $true
}
# Create the new policy
New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
다음 정책은 특정 애플리케이션에 대해 Microsoft Entra ID를 사용하여 페더레이션된 사용자에 대한 사용자 이름/암호 인증을 직접 사용하도록 설정합니다.
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
# Define the parameters for the New-MgPolicyHomeRealmDiscoveryPolicy cmdlet
$params = @{
definition = @(
'{"HomeRealmDiscoveryPolicy":{
"AllowCloudPasswordValidation":true
}
}'
)
displayName = "EnableDirectAuthPolicy"
}
New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
새 정책을 확인하고 해당 ObjectID를 가져오려면 다음 명령을 실행합니다.
Get-MgPolicyHomeRealmDiscoveryPolicy -Property Id, displayName
HRD 정책을 만든 후 적용하려면 여러 서비스 주체에 할당할 수 있습니다.
Microsoft Graph PowerShell을 사용하여 정책을 할당할 서비스 주체 찾기
정책을 할당할 서비스 주체의 ObjectID가 필요합니다. 여러 가지 방법으로 서비스 주체의 ObjectID를 찾을 수 있습니다.
Microsoft Entra 관리 센터을 사용할 수 있습니다. 이 옵션 사용:
- 다음 경로로 이동하세요: Identity>애플리케이션>엔터프라이즈 애플리케이션>모든 애플리케이션.
- 검색 상자에 기존 애플리케이션의 이름을 입력한 다음 검색 결과에서 애플리케이션을 선택합니다. 애플리케이션의 개체 ID를 복사합니다.
Microsoft Graph PowerShell을 사용하므로 다음 cmdlet을 실행하여 서비스 주체 및 해당 ID를 나열합니다.
connect-MgGraph -scopes "Application.Read.All"
Get-MgServicePrincipal
Microsoft Graph PowerShell을 사용하여 서비스 주체에 정책 할당
자동 가속을 구성하려는 애플리케이션의 서비스 주체 ObjectID를 찾은 후 다음 명령을 실행합니다. 이 명령은 사용자가 만든 HRD 정책을 이전 섹션에서 찾은 서비스 주체와 연결합니다.
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration", "Application.ReadWrite.All"
# Define the parameters for the New-MgServicePrincipalHomeRealmDiscoveryPolicy cmdlet
$assignParams = @{
"@odata.id" = "https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/<policyId>"
}
New-MgServicePrincipalHomeRealmDiscoveryPolicyByRef -ServicePrincipalId $servicePrincipalId -BodyParameter $assignParams
정책을 추가하려는 각 서비스 주체에 대해 이 명령을 반복할 수 있습니다.
애플리케이션에 이미 홈 영역 검색 정책이 할당된 경우 두 번째 정책을 추가할 수 없습니다. 이 경우 애플리케이션에 할당된 HRD 정책의 정의를 변경하여 추가 매개 변수를 추가합니다.
MICROSOFT Graph PowerShell을 사용하여 HRD 정책이 할당된 서비스 주체 확인
다음 명령을 실행하여 정책이 할당된 서비스 주체를 나열합니다.
Get-MgPolicyHomeRealmDiscoveryPolicyApplyTo -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>"
# Replace with the actual ObjectId of the Policy
애플리케이션에 대한 로그인 환경을 테스트하여 새 정책이 작동하는지 확인합니다.
Microsoft Graph를 사용하여 HRD 정책 설정
Microsoft Graph API 호출을 사용하여 다음을 비롯한 몇 가지 시나리오를 안내합니다.
페더레이션된 단일 도메인이 있는 테넌트의 애플리케이션에 대해 자동 가속을 수행하도록 HRD 정책을 설정합니다.
테넌트에 대해 확인된 여러 도메인 중 하나에 애플리케이션 자동 가속을 수행하도록 HRD 정책을 설정합니다.
레거시 애플리케이션에서 페더레이션 사용자에 대한 사용자 이름/암호 인증을 Microsoft Entra ID에 직접 수행할 수 있도록 HRD 정책을 설정합니다.
정책이 구성된 애플리케이션 나열
다음 예제에서는 Microsoft Entra ID에서 애플리케이션 서비스 주체에 대해 HRD 정책을 생성, 업데이트, 연결 및 삭제합니다.
시작하기 전에 Microsoft Graph 탐색기 창에 액세스합니다.
적어도 애플리케이션 관리자 역할로 로그인합니다.
Policy.Read.All
권한에 동의합니다.다음 API 호출을 실행하여 조직의 모든 정책을 확인합니다.
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
아무 정책도 반환되지 않으면 테넌트에서 만들어진 정책이 없는 것입니다.
Microsoft Graph를 사용하여 HRD 정책 만들기
이 예제에서는 애플리케이션에 할당할 때 다음 중 하나를 수행하도록 정책을 만듭니다.
- 테넌트에 단일 도메인이 있는 경우 사용자가 애플리케이션에 로그인할 때 페더레이션 ID 공급자 로그인 화면으로 자동 가속합니다.
- 테넌트에 둘 이상의 페더레이션된 도메인이 있는 경우 페더레이션된 ID 공급자 로그인 화면으로 사용자를 자동 가속합니다.
- 정책이 할당된 애플리케이션의 페더레이션 사용자에 대한 비대화형 사용자 이름/암호 로그인을 Microsoft Entra ID에 직접 사용하도록 설정합니다.
다음 정책은 테넌트에 단일 도메인이 있는 경우 사용자가 애플리케이션에 로그인할 때 페더레이션 ID 공급자 로그인 화면으로 자동 가속합니다.
Microsoft Graph 탐색기 창에서:
적어도 애플리케이션 관리자 역할로 로그인합니다.
Policy.ReadWrite.ApplicationConfiguration
권한에 동의합니다.새 정책을 게시하거나 패치를 적용하여 기존 정책을 업데이트합니다.
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies { "definition": [ "{\"HomeRealmDiscoveryPolicy\":{\"AccelerateToFederatedDomain\":true}}" ], "displayName": "BasicAutoAccelerationPolicy", "isOrganizationDefault": true }
다음 정책은 테넌트에 둘 이상의 페더레이션된 도메인이 있는 경우 사용자를 페더레이션 ID 공급자 로그인 화면으로 자동 가속합니다. 애플리케이션에 대한 사용자를 인증하는 페더레이션된 도메인이 둘 이상 있는 경우 자동 가속할 도메인을 지정해야 합니다.
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
{
"definition": [
"{\"HomeRealmDiscoveryPolicy\":{\"AccelerateToFederatedDomain\":true,\"PreferredDomain\":\"federated.example.edu\"}}"
],
"displayName": "MultiDomainAutoAccelerationPolicy",
"isOrganizationDefault": true
}
다음 정책은 특정 애플리케이션에 대해 Microsoft Entra ID를 사용하여 페더레이션된 사용자에 대한 사용자 이름/암호 인증을 직접 사용하도록 설정합니다.
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
{
"definition": [
"{\"HomeRealmDiscoveryPolicy\":{\"AllowCloudPasswordValidation\":true}}"
],
"displayName": "EnableDirectAuthPolicy"
}
새 정책을 보고 해당 ObjectID얻으려면 다음 API 호출을 실행합니다.
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
HRD 정책을 만든 후 적용하려면 여러 서비스 주체에 할당할 수 있습니다.
Microsoft Graph를 사용하여 정책을 할당할 서비스 주체 찾기
정책을 할당할 서비스 주체의 ObjectID가 필요합니다. 여러 가지 방법으로 서비스 주체의 ObjectID를 찾을 수 있습니다.
모든 애플리케이션으로 탐색하여 이동하세요 ID>애플리케이션>엔터프라이즈 애플리케이션>.
검색 상자에 기존 애플리케이션의 이름을 입력한 다음 검색 결과에서 애플리케이션을 선택합니다. 애플리케이션의 개체 ID를 복사합니다.
Microsoft Graph 탐색기를 사용하므로 다음 요청을 실행하여 서비스 주체 및 해당 ID를 나열합니다.
GET https://graph.microsoft.com/v1.0/servicePrincipals
Microsoft Graph를 사용하여 서비스 주체에 정책 할당
해당 애플리케이션의 자동 가속화를 구성하려는 서비스 주체의 ObjectID를 확보한 후, 다음 API 호출을 실행하십시오. 이 API 호출은 사용자가 만든 HRD 정책을 이전 섹션에서 찾은 서비스 주체와 연결합니다.
Application.ReadWrite.All
권한에 동의했는지 확인하세요.
POST https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/homeRealmDiscoveryPolicies/$ref
{
"@odata.id": "https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{policyId}"
}
정책을 추가하려는 각 서비스 주체에 대해 이 API 호출을 반복할 수 있습니다.
애플리케이션에 이미 홈 영역 검색 정책이 할당된 경우 두 번째 정책을 추가할 수 없습니다. 이 경우 애플리케이션에 할당된 HRD 정책의 정의를 변경하여 추가 매개 변수를 추가합니다.
MICROSOFT Graph를 사용하여 HRD 정책이 할당된 서비스 주체 확인
다음 API 호출을 실행하여 정책이 할당된 서비스 주체를 나열합니다.
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{policyId}/appliesTo
애플리케이션에 대한 로그인 환경을 테스트하여 새 정책이 작동하는지 확인합니다.
Microsoft Graph PowerShell을 사용하여 애플리케이션에서 HRD 정책 제거
정책의 ObjectID를 가져옵니다.
이전 예제를 사용하여 정책의 ObjectID와 제거하려는 애플리케이션 서비스 주체의 ObjectID를 가져옵니다.
애플리케이션 서비스 주체에서 정책 할당을 제거합니다.
Remove-MgServicePrincipalHomeRealmDiscoveryPolicyHomeRealmDiscoveryPolicyByRef -ServicePrincipalId $servicePrincipalId -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId
정책이 할당된 서비스 주체를 나열하여 제거를 확인합니다.
Get-MgPolicyHomeRealmDiscoveryPolicyApplyTo -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>" # Replace with the actual ObjectId of the Policy
Microsoft Graph PowerShell을 사용하여 HRD 정책 삭제
만든 HRD 정책을 삭제하려면 다음 명령을 실행합니다.
Remove-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>" # Replace with the actual ObjectId of the Policy
Microsoft Graph를 사용하여 애플리케이션에서 HRD 정책 제거
정책의 ObjectID를 가져옵니다.
정책의 ObjectID 및 제거하려는 애플리케이션 서비스 주체의 ObjectID를 가져오기 위해 이전 예제를 사용합니다.
애플리케이션 서비스 주체에서 정책 할당을 제거합니다.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/homeRealmDiscoveryPolicies/{policyId}/$ref
정책이 할당된 서비스 주체를 나열하여 제거를 확인합니다.
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/<policyId>/appliesTo
Microsoft Graph를 사용하여 HRD 정책 삭제
만든 HRD 정책을 삭제하려면 다음 API 호출을 실행합니다.
DELETE https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{id}