Intune データ ウェアハウス アプリケーションのみの認証Intune Data Warehouse application-only authentication

Azure Active Directory (Azure AD) を使用してアプリケーションを設定し、Intune データ ウェアハウスに対する認証を実行できます。You can set up an application using Azure Active Directory (Azure AD) and authenticate to the Intune Data Warehouse. このプロセスは、設定したアプリケーションにユーザー資格情報へのアクセス権を与えるべきではない Web サイト、アプリ、およびバック グラウンド プロセスで役に立ちます。This process is useful for websites, apps, and background processes where the application should not have access to user credentials. 次の手順に従い、Azure AD で OAuth 2.0 を使用してアプリケーションを承認します。Using the following steps, you authorize your application with Azure AD using OAuth 2.0.

承認Authorization

Azure Active Directory (Azure AD) では、OAuth 2.0 を使用して Azure AD テナントの Web アプリケーションと Web API へのアクセスを承認できます。Azure Active Directory (Azure AD) uses OAuth 2.0 to enable you to authorize access to web applications and web APIs in your Azure AD tenant. このガイドでは、C# を使用してアプリケーションを認証する方法について説明します。This guide shows you how to authenticate your application using C#. OAuth 2.0 承認コード フローについては、OAuth 2.0 仕様のセクション 4.1 を参照してください。The OAuth 2.0 authorization code flow is described in section 4.1 of the OAuth 2.0 specification. 詳細については、「OAuth 2.0 と Azure Active Directory を使用した Web アプリケーションへのアクセスの承認」を参照してください。For more information, see Authorize access to web applications using OAuth 2.0 and Azure Active Directory.

Azure KeyVaultAzure KeyVault

次のプロセスでは、プライベート メソッドを使用して、アプリ キーの処理および変換を行います。The following process uses a private method to process and convert an app key. このプライベート メソッドには SecureString という名前が付けられています。This private method has been named SecureString. 別の方法として、Azure KeyVault を使用してアプリ キーを格納することも可能です。As an alternative, you could use Azure KeyVault to store the app key. 詳細については、Key Vaultに関するページを参照してください。For more information, see Key Vault.

Web アプリの作成Create a Web App

このセクションでは、Intune でポイントする Web アプリについて詳細を説明します。In this section, you provide details about the Web app you would like to point to at Intune. Web アプリはクライアント/サーバー アプリケーションです。A web app is a client-server application. サーバーから Web アプリが提供されます。これには UI、コンテンツ、および機能が含まれます。The server provides the web app, which includes the UI, content, and functionality. この種のアプリは Web 上で個別に維持されます。This type of app is separately maintained on the Web. Intune を使用して Web アプリに Intune へのアクセス権を付与します。You use Intune to grant a web app access to Intune. データ フローは、Web アプリによって開始されます。The data flow is initiated by the web app.

  1. Azure ポータルにサインインします。Sign in to the Azure portal.

  2. Azure ポータルの上部付近にある [リソース、サービス、ドキュメントを検索します] フィールドを使用して、[Azure Active Directory] を検索します。Using Search resources, services and docs field near the top of the Azure portal, search for Azure Active Directory.

  3. ドロップダウン メニューで、[サービス][Azure Active Directory] を選択します。In the dropdown menu, select Azure Active Directory under Services.

  4. [アプリの登録する] を選択します。Select App registrations.

  5. [新しいアプリケーションの登録] をクリックして、[作成] ブレードを表示します。Click New application registration to display the Create blade.

  6. [作成] ブレードで、アプリの詳細を追加します:In the Create blade, add your app details:

    • Intune App-Only Auth などのアプリ名。An app name, such as Intune App-Only Auth.
    • アプリケーションの種類The Application type. [Web アプリ/API] を選択して、Web アプリケーション、Web API、またはその両方を表すアプリを追加します。Choose Web app / API to add an app that represents a web application, a web API, or both.
    • アプリケーションのサインオン URLThe Sign-on URL of the application. ここは、認証プロセス中にユーザーが自動的に移動する場所です。This is the location users automatically navigate to during the authentication process. ユーザーは身元の証明を求められます。They are required to prove that they are who they say they are. 詳細については、「Azure Active Directory のアプリケーション アクセスとシングル サインオンとは」を参照してください。For more information, see What is application access and single sign-on with Azure Active Directory?
  7. [作成] ブレードの下にある [作成] をクリックします。Click Create at the bottom of the Create blade.

    注意

    後で使用するために、[登録されているアプリ] から [アプリケーション ID] をコピーします。Copy the Application ID from the Registered app blade to use later.

キーの作成Create a key

このセクションでは、Azure AD でアプリのキー値を生成します。In this section, Azure AD generates a key value for your app.

  1. [アプリ登録] ブレードで、新規に作成したアプリを選択してアプリ ブレードを表示します。On the App registrations blade, select your newly created app to display the app blade.

  2. ブレードの上部付近にある [設定] を選択して、[設定] ブレードを表示します。Select Settings near the top of the blade to display the Settings blade.

  3. [設定] ブレードで [キー] を選択します。Select Keys on the Settings blade.

  4. キーの説明有効期間、およびキーのを追加します。Add the key Description, an Expires duration, and Value for the key.

  5. [保存] をクリックして、アプリケーションのキーを保存および更新します。Click Save to save and update the application's keys.

  6. 生成されたキーの値 (Base64 エンコード) をコピーする必要があります。You must copy the generated key value (base64 encoded).

    注意

    [キー] ブレードから移動すると、キーの値は非表示になります。The key value disappears after you leave the keys blade. このブレードから後でキーを取得することはできません。You cannot retrieve the key from this blade later. 後で使用するためにコピーしておきます。Copy it to use later.

アプリケーションへのアクセス許可の付与Grant application permissions

このセクションでは、アプリケーションにアクセス許可を付与します。In this section, you grant permissions to the applications.

  1. [設定] ブレードで [必要なアクセス許可] を選択します。Select Required permissions on the Settings blade.
  2. [追加] をクリックします。Click Add.
  3. [API の追加] を選択して [API の選択] ブレードを表示します。Select Add an API to display the Select an API blade.
  4. [Microsoft Intune API (MicrosoftIntuneAPI)] を選択し、[API の選択] ブレードで [選択] をクリックします。Select Microsoft Intune API (MicrosoftIntuneAPI) and then click Select from the Select an API blade. [アクセス許可の選択] 手順が選択され、[アクセスの有効化] ブレードが表示されます。The Select permissions step is selected and the Enable Access blade is displayed.
  5. [アプリケーションのアクセス許可] セクションで、[Get data warehouse information from Microsoft Intune](Microsoft Intune からデータ ウェアハウスの情報を取得する) オプションを選択します。Choose the Get data warehouse information from Microsoft Intune option from the Application Permissions section.
  6. [アクセスの有効化] ブレードで [選択] をクリックします。Click Select from the Enable Access blade.
  7. [API アクセスの追加] ブレードで [完了] をクリックします。Click Done from the Add API access blade.
  8. [必要なアクセス許可] ブレードで [アクセス許可の付与] をクリックします。このアプリケーションに既に付与されている既存のアクセス許可を更新するように促されたら [はい] をクリックします。Click Grant Permissions from the Required permissions blade and click Yes when promoted to update any existing permissions this application already has.

トークンの生成Generate token

.NET Framework をサポートし、コーディング言語として C# を使用するコンソール アプリ (.NET Framework) プロジェクトを、Visual Studio を使用して作成します。Using Visual Studio, create a Console App (.NET Framework) project that supports the .NET Framework and uses C# as the coding language.

  1. [ファイル] > [新規] > [プロジェクト] を選択して、[新しいプロジェクト] ダイアログ ボックスを表示します。Select File > New > Project to display the New Project dialog box.

  2. 左側で、[Visual C#] を選択して、すべての .NET Framework プロジェクトを表示します。On the left, select Visual C# to display all .NET Framework projects.

  3. [コンソール アプリ (.NET Framework)] を選択し、アプリ名を追加し、[OK] をクリックして、アプリを作成します。Select Console App (.NET Framework), add an app name, and then click OK to create the app.

  4. ソリューション エクスプローラー[Program.cs] を選択してコードを表示します。In Solution Explorer, select Program.cs to display the code.

  5. ポップアップ メニューで、[追加] > [新しい項目] を選択します。In the pop-up menu, select Add > New item. [新しい項目の追加] ダイアログ ボックスが表示されます。The Add New Item dialog box is displayed.

  6. 左側にある [Visual C#][コード] を選択します。On the left, under Visual C#, select Code.

  7. [クラス] を選択し、クラスの名前を "IntuneDataWarehouseClass.cs" に変更し、[追加] をクリックします。Select Class, change the name of the class to IntuneDataWarehouseClass.cs, and click Add.

  8. Main メソッドに次のコードを追加します。Add the following code within the Main method:

         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 adalContext = new AuthenticationContext($"https://login.windows.net/" + tenantDomain + "/oauth2/token");
    
         AuthenticationResult authResult = adalContext.AcquireTokenAsync(
             resource: "https://api.manage.microsoft.com/",
             clientCredential: new ClientCredential(
                 applicationId,
                 new SecureClientSecret(applicationSecret))).Result;
    
  9. コード ファイルの先頭に次のコードを追加して、追加の名前空間を追加します。Add additional namespaces by adding the following code at the top of the code file:

     using System.Security;
     using Microsoft.IdentityModel.Clients.ActiveDirectory;
     using System.Configuration;
    
  10. Main メソッドの後に、次のプライベート メソッドを追加して、アプリ キーの処理および変換を行います。After the Main method, add the following private method to process and convert the app key:

    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;
    }
    
  11. ソリューション エクスプローラーで、[参照] を右クリックし、[NuGet パッケージの管理] をクリックします。In the Solution Explorer, right-click on References, then select Manage NuGet Packages.

  12. Microsoft.IdentityModel.Clients.ActiveDirectory を検索し、関連する Microsoft NuGet パッケージをインストールします。Search for Microsoft.IdentityModel.Clients.ActiveDirectory and install the related Microsoft NuGet package.

  13. ソリューション エクスプローラーで、App.config ファイルを選択して開きます。In Solution Explorer select and open the App.config file.

  14. xml が次のように表示されるように、appSettings セクションを追加します。Add the appSettings section so that the xml appears as follows:

    <?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>
    
  15. 一意のアプリ関連の値に一致するように、appIdappKeytenantDomain の各値を更新します。Update the appId, appKey, and tenantDomain values to match your unique app-related values.

  16. アプリをビルドします。Build your app.

    注意

    その他の実装コードについては、Intune データ ウェアハウスのコード例に関するページを参照してください。To see additional implementation code, see Intune-Data-Warehouse code example.

次の手順Next Steps

Azure Key Vault の詳細については、「Azure Key Vault とは」を参照してください。Learn more about Azure Key Vault by reviewing What is Azure Key Vault?