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 IDMicrosoft>Entra ID>앱 등록.
새 등록을 클릭하여 애플리케이션 등록 창을 표시합니다.
애플리케이션 등록 창에서 앱 세부 정보를 추가합니다.
- 앱 이름(예: Intune App-Only Auth)
- 지원되는 계정 유형입니다.
- 애플리케이션의 리디렉션 URI 입니다. 인증 프로세스 중에 사용자가 자동으로 탐색하는 위치입니다. 그들은 자신이 말하는 사람임을 증명해야 합니다. 자세한 내용은 Microsoft Entra ID를 사용한 애플리케이션 액세스 및 Single Sign-On이란 무엇인가요?를 참조하세요.
등록을 클릭합니다.
참고
나중에 사용할 수 있도록 앱 창에서 애플리케이션(클라이언트) ID 를 복사합니다.
키(암호) 만들기
이 섹션에서는 Microsoft Entra ID가 앱에 대한 키 값을 생성합니다.
앱 등록 창에서 새로 만든 앱을 선택하여 앱 창을 표시합니다.
창 위쪽에서 인증서 & 비밀 을 선택하여 인증서 & 비밀 창을 표시합니다.
인증서 & 비밀 창에서 클라이언트 비밀을 선택합니다.
키에 대한 키 설명 과 만료 기간을 추가합니다.
추가를 클릭하여 응용 프로그램의 키를 저장하고 업데이트합니다.
생성된 키 값(base64 인코딩)을 복사해야 합니다.
참고
인증서 & 비밀 창에서 나가면 키 값이 사라집니다. 나중에 이 창에서 키를 검색할 수 없습니다. 나중에 사용할 수 있도록 복사하세요.
애플리케이션 사용 권한 부여
이 섹션에서는 응용 프로그램에 권한을 부여합니다.
- API 권한> 선택권한> 추가:IntuneApplication>권한.
- 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로 변경한 다음 추가를 클릭합니다.
메서드 내에 다음 코드를 추가합니다.
Mainvar 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>고유한 앱 관련 값과 일치하도록 ,
appKey,tenantDomain및 값을 업데이트appId합니다.앱을 빌드합니다.
참고
추가 구현 코드를 보려면 Intune-Data-Warehouse 코드 예제를 참조하세요.
다음 단계
Azure Key Vault Azure Key Vault란?