애플리케이션 전용 인증 Intune Data Warehouse
Microsoft Entra ID 사용하여 애플리케이션을 설정하고 Intune Data Warehouse 인증할 수 있습니다. 이 프로세스는 애플리케이션이 사용자 자격 증명에 액세스할 수 없어야 하는 웹 사이트, 앱 및 백그라운드 프로세스에 유용합니다. 다음 단계를 사용하여 OAuth 2.0을 사용하여 Microsoft Entra ID 애플리케이션에 권한을 부여합니다.
권한 부여
Microsoft Entra ID OAuth 2.0을 사용하여 Microsoft Entra 테넌트에서 웹 애플리케이션 및 웹 API에 대한 액세스 권한을 부여할 수 있습니다. 이 가이드에서는 C#을 사용하여 애플리케이션을 인증하는 방법을 보여줍니다. OAuth 2.0 권한 부여 코드 흐름은 OAuth 2.0 사양의 섹션 4.1에 설명되어 있습니다. 자세한 내용은 OAuth 2.0 및 Microsoft Entra ID 사용하여 웹 애플리케이션에 대한 액세스 권한 부여를 참조하세요.
Azure KeyVault
다음 프로세스에서는 프라이빗 메서드를 사용하여 앱 키를 처리하고 변환합니다. 이 프라이빗 메서드의 이름은 SecureString입니다. 또는 Azure KeyVault를 사용하여 앱 키를 저장할 수 있습니다. 자세한 내용은 Key Vault 참조하세요.
웹앱 만들기
이 섹션에서는 Intune 가리키려는 웹앱에 대한 세부 정보를 제공합니다. 웹앱은 클라이언트 서버 애플리케이션입니다. 서버는 UI, 콘텐츠 및 기능을 포함하는 웹앱을 제공합니다. 이 유형의 앱은 웹에서 별도로 유지 관리됩니다. Intune 사용하여 웹앱에 Intune 대한 액세스 권한을 부여합니다. 데이터 흐름은 웹앱에서 시작됩니다.
Microsoft Intune 관리 센터에 로그인합니다.
모든 서비스>M365 Microsoft Entra ID>Microsoft Entra ID앱 등록> 선택합니다.
새 등록을 클릭하여 애플리케이션 등록 창을 표시합니다.
애플리케이션 등록 창에서 앱 세부 정보를 추가합니다.
- 앱 이름(예: Intune App-Only 인증)
- 지원되는 계정 유형입니다.
- 애플리케이션의 리디렉션 URI 입니다. 사용자가 인증 프로세스 중에 자동으로 이동하는 위치입니다. 그들은 자신이 자신이 말하는 사람이라는 것을 증명해야 합니다. 자세한 내용은 Microsoft Entra ID 애플리케이션 액세스 및 Single Sign-On이란?을 참조하세요.
등록을 클릭합니다.
참고
나중에 사용할 수 있도록 앱 창에서 애플리케이션(클라이언트) ID 를 복사합니다.
키 만들기(암호)
이 섹션에서는 Microsoft Entra ID 앱에 대한 키 값을 생성합니다.
앱 등록 창에서 새로 만든 앱을 선택하여 앱 창을 표시합니다.
창 위쪽에서 인증서 & 비밀을 선택하여 인증서 & 비밀 창을 표시합니다.
인증서 & 비밀 창에서 클라이언트 비밀을 선택합니다.
키에 대한 설명 및 만료 기간을 추가 합니다 .
추가를 클릭하여 애플리케이션의 키를 저장하고 업데이트합니다.
생성된 키 값(base64로 인코딩됨)을 복사해야 합니다.
참고
인증서 & 비밀 창을 나가면 키 값이 사라집니다. 나중에 이 창에서 키를 검색할 수 없습니다. 나중에 사용하도록 복사합니다.
애플리케이션 권한 부여
이 섹션에서는 애플리케이션에 권한을 부여합니다.
- API 권한 사용 권한>>추가Intune>애플리케이션 권한을 선택합니다.
- get_data_warehouse 옵션(Microsoft Intune 데이터 웨어하우스 정보 가져오기)을 선택합니다.
- 권한 추가를 클릭합니다.
- API 액세스 추가 창에서 완료를 클릭합니다.
- API 권한 창에서 관리자 동의 부여를 클릭하고 승격되면 예를 클릭하여 이 애플리케이션에 이미 있는 기존 권한을 업데이트합니다.
토큰 생성
Visual Studio를 사용하여 .NET Framework 지원하고 C#을 코딩 언어로 사용하는 콘솔 앱(.NET Framework) 프로젝트를 만듭니다.
파일>새>프로젝트를 선택하여 새 프로젝트 대화 상자를 표시합니다.
왼쪽에서 Visual C#을 선택하여 모든 .NET Framework 프로젝트를 표시합니다.
콘솔 앱(.NET Framework)을 선택하고 앱 이름을 추가한 다음 확인을 클릭하여 앱을 만듭니다.
솔루션 탐색기Program.cs 선택하여 코드를 표시합니다.
솔루션 탐색기 어셈블리
System.Configuration
에 대한 참조를 추가합니다.팝업 메뉴에서새 항목추가>를 선택합니다. 새 항목 추가 대화 상자가 표시됩니다.
왼쪽의 Visual C#에서 코드를 선택합니다.
클래스를 선택하고 클래스 이름을 IntuneDataWarehouseClass.cs 변경한 다음 추가를 클릭합니다.
메서드 내에
Main
다음 코드를 추가합니다.var applicationId = ConfigurationManager.AppSettings["appId"].ToString(); SecureString applicationSecret = ConvertToSecureStr(ConfigurationManager.AppSettings["appKey"].ToString()); // Load as SecureString from configuration file or secret store (i.e. Azure KeyVault) var tenantDomain = ConfigurationManager.AppSettings["tenantDomain"].ToString(); var msalContext = new AuthenticationContext($"https://login.windows.net/" + tenantDomain + "/oauth2/token"); AuthenticationResult authResult = msalContext.AcquireTokenAsync( resource: "https://api.manage.microsoft.com/", clientCredential: new ClientCredential( applicationId, new SecureClientSecret(applicationSecret))).Result;
코드 파일의 맨 위에 다음 코드를 추가하여 네임스페이스를 추가합니다.
using System.Security; using Microsoft.Identity.Client; using System.Configuration;
참고
MSAL(Microsoft 인증 라이브러리)을 사용해야 합니다. 자세한 내용은 MSAL(Microsoft 인증 라이브러리) 및 Microsoft Graph API를 사용하도록 애플리케이션 업데이트를 참조하세요..
메서드 다음에
Main
다음 프라이빗 메서드를 추가하여 앱 키를 처리하고 변환합니다.private static SecureString ConvertToSecureStr(string appkey) { if (appkey == null) throw new ArgumentNullException("AppKey must not be null."); var secureAppKey = new SecureString(); foreach (char c in appkey) secureAppKey.AppendChar(c); secureAppKey.MakeReadOnly(); return secureAppKey; }
솔루션 탐색기참조를 마우스 오른쪽 단추로 클릭한 다음 NuGet 패키지 관리를 선택합니다.
Microsoft.Identity.Client를 검색하고 관련 Microsoft NuGet 패키지를 설치합니다.
솔루션 탐색기App.config파일을 선택하고 엽니다.
xml이
appSettings
다음과 같이 표시되도록 섹션을 추가합니다.<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> </startup> <appSettings> <add key="appId" value="App ID created from 'Create a Web App' procedure"/> <add key="appKey" value="Key created from 'Create a key' procedure" /> <add key="tenantDomain" value="contoso.onmicrosoft.com"/> </appSettings> </configuration>
appId
,appKey
및 값을 고유한 앱 관련 값과tenantDomain
일치하도록 업데이트합니다.앱을 빌드합니다.
참고
추가 구현 코드를 보려면 Intune-Data-Warehouse 코드 예제를 참조하세요.
다음 단계
Azure Key Vault란?을 검토하여 Azure Key Vault 대해 자세히 알아보세요.