Autenticação apenas de aplicações do Armazém de Dados do Intune
Pode configurar uma aplicação com o Microsoft Entra ID e autenticar-se no Armazém de Dados do Intune. Este processo é útil para sites, aplicações e processos em segundo plano em que a aplicação não deve ter acesso às credenciais do utilizador. Com os seguintes passos, autoriza a sua aplicação com o Microsoft Entra ID através do OAuth 2.0.
Authorization
O Microsoft Entra ID utiliza o OAuth 2.0 para lhe permitir autorizar o acesso a aplicações Web e APIs Web no seu inquilino do Microsoft Entra. Este guia mostra-lhe como autenticar a sua aplicação com C#. O fluxo de código de autorização OAuth 2.0 está descrito na secção 4.1 da especificação OAuth 2.0. Para obter mais informações, consulte Autorizar o acesso a aplicações Web com o OAuth 2.0 e o Microsoft Entra ID.
Azure KeyVault
O processo seguinte utiliza um método privado para processar e converter uma chave de aplicação. Este método privado foi denominado SecureString. Como alternativa, pode utilizar o Azure KeyVault para armazenar a chave da aplicação. Para obter mais informações, veja Key Vault.
Criar uma Aplicação Web
Nesta secção, irá fornecer detalhes sobre a aplicação Web para a qual pretende apontar no Intune. Uma aplicação Web é uma aplicação cliente-servidor. O servidor fornece o aplicativo Web, que inclui a interface do usuário, o conteúdo e a funcionalidade. Este tipo de aplicação é mantido separadamente na Web. Utilize o Intune para conceder acesso a uma aplicação Web ao Intune. O fluxo de dados é iniciado pela aplicação Web.
Selecione Todos os serviços>M365 Microsoft Entra ID>Registos da AplicaçãoMicrosoft Entra ID>.
Clique em Novo registo para apresentar o painel Registar uma aplicação .
No painel Registar uma aplicação , adicione os detalhes da sua aplicação:
- Um nome de aplicação, como Intune App-Only Auth.
- O tipo de conta Suportado.
- O URI de Redirecionamento da aplicação. Esta é a localização para a qual os utilizadores navegam automaticamente durante o processo de autenticação. São obrigados a provar que são quem dizem ser. Para obter mais informações, consulte O que é o acesso à aplicação e o início de sessão único com o Microsoft Entra ID?
Clique em Registrar.
Observação
Copie o ID da Aplicação (cliente) do painel da aplicação para utilizar mais tarde.
Criar uma chave (palavra-passe)
Nesta secção, o ID do Microsoft Entra gera um valor chave para a sua aplicação.
No painel Registos de aplicações , selecione a aplicação recém-criada para apresentar o painel da aplicação.
Selecione Certificados & segredos junto à parte superior do painel para apresentar o painel Certificados & segredos .
Selecione Segredos do cliente no painel Certificados & segredos .
Adicione a chave Descrição e uma Duração expira para a chave.
Clique em Adicionar para guardar e atualizar as chaves da aplicação.
Tem de copiar o valor da chave gerada (codificado em base64).
Observação
O valor da chave desaparece depois de sair do painel Certificados & segredos . Não é possível obter a chave a partir deste painel mais tarde. Copie-o para utilizar mais tarde.
Conceder permissões de aplicação
Nesta secção, vai conceder permissões às aplicações.
- Selecione Permissões> de APIAdicionar uma permissão>Permissões da Aplicação doIntune>.
- Escolha a opção get_data_warehouse (Obter informações do armazém de dados do Microsoft Intune).
- Clique em Adicionar permissões.
- Clique em Concluído no painel Adicionar acesso à API .
- Clique em Conceder consentimento do administrador no painel de permissões da API e clique em Sim quando for promovido para atualizar as permissões existentes que esta aplicação já tenha.
Gerar token
Com o Visual Studio, crie um projeto de Aplicação de Consola (.NET Framework) que suporte o .NET Framework e utilize C# como linguagem de codificação.
Selecione Ficheiro>Novo>Projeto para apresentar a caixa de diálogo Novo Projeto .
À esquerda, selecione Visual C# para apresentar todos os projetos do .NET Framework.
Selecione Aplicação de Consola (.NET Framework), adicione um nome de aplicação e, em seguida, clique em OK para criar a aplicação.
No Explorador de Soluções, selecione Program.cs para apresentar o código.
No Explorador de Soluções, adicione uma referência à assemblagem
System.Configuration
.No menu de pop-up, selecione Adicionar>Novo item. É apresentada a caixa de diálogo Adicionar Novo Item .
À esquerda, em Visual C#, selecione Código.
Selecione Classe, altere o nome da classe para IntuneDataWarehouseClass.cs e clique em Adicionar.
Adicione o seguinte código no
Main
método :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;
Adicione mais espaços de nomes ao adicionar o seguinte código na parte superior do ficheiro de código:
using System.Security; using Microsoft.Identity.Client; using System.Configuration;
Observação
Tem de utilizar a Biblioteca de Autenticação da Microsoft (MSAL). Para obter mais informações, consulte Atualizar seus aplicativos para usar a Biblioteca de Autenticação da Microsoft (MSAL) e a API do Microsoft Graph .
Após o
Main
método , adicione o seguinte método privado para processar e converter a chave da aplicação: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; }
No Explorador de Soluções, clique com o botão direito do rato em Referências e, em seguida, selecione Gerir Pacotes NuGet.
Procure Microsoft.Identity.Client e instale o pacote NuGet da Microsoft relacionado.
No Explorador de Soluções , selecione e abra o ficheiro App.config .
Adicione a
appSettings
secção para que o xml seja apresentado da seguinte forma:<?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>
Atualize os
appId
valores ,appKey
etenantDomain
para corresponder aos valores exclusivos relacionados com a aplicação.Crie a sua aplicação.
Observação
Para ver o código de implementação adicional, veja o exemplo de código do Intune-Data-Warehouse.
Próximas etapas
Saiba mais sobre o Azure Key Vault ao rever O que é o Azure Key Vault?