Logon único (compilando aplicativos de nuvem do mundo real com o Azure)

por Mike Wasson, Rick Anderson, Tom Dykstra

Baixar o projeto de ti ou baixar o livro eletrônico

A criação de aplicativos de nuvem do mundo real com o livro eletrônico do Azure é baseada em uma apresentação desenvolvida por Scott Guthrie. Ele explica 13 padrões e práticas que podem ajudá-lo a desenvolver com sucesso aplicativos Web para a nuvem. Para obter informações sobre o livro eletrônico, consulte o primeiro capítulo.

Há muitos problemas de segurança a serem considerados quando você está desenvolvendo um aplicativo de nuvem, mas para esta série, nos concentraremos em apenas um: logon único. Uma pergunta que as pessoas costumam fazer é: "Estou criando principalmente aplicativos para os funcionários da minha empresa; como hospedar esses aplicativos na nuvem e ainda permitir que eles usem o mesmo modelo de segurança que meus funcionários conhecem e usam no ambiente local quando estão executando aplicativos que estão hospedados no firewall? " Uma das maneiras de habilitar esse cenário é chamada de Azure Active Directory (Azure AD). O Azure AD permite que você crie aplicativos LOB (linha de negócios) da empresa disponíveis pela Internet e também permite tornar esses aplicativos disponíveis para parceiros de negócios.

Introdução ao Azure AD

O Azure ad fornece Active Directory na nuvem. Os principais recursos incluem o seguinte:

Suponha que você tenha um ambiente local Active Directory do Windows Server que você usa para permitir que os funcionários se conectem a aplicativos da intranet:

O que o Azure AD permite fazer é criar um diretório na nuvem. É um recurso gratuito e fácil de configurar.

Ele pode ser totalmente independente do seu Active Directory local; Você pode colocar qualquer um que desejar nele e autenticá-los em aplicativos de Internet.

Windows Azure Active Directory

Ou você pode integrá-lo ao seu AD local.

Integração do AD e do WAAD

Agora, todos os funcionários que podem ser autenticados localmente também podem se autenticar pela Internet – sem precisar abrir um firewall ou implantar novos servidores em seu data center. Você pode continuar a aproveitar todo o ambiente de Active Directory existente que você conhece e usar atualmente para fornecer o recurso de logon único de aplicativos internos.

Depois de fazer essa conexão entre o AD e o Azure AD, você também pode habilitar seus aplicativos Web e seus dispositivos móveis para autenticar seus funcionários na nuvem e pode habilitar aplicativos de terceiros, como Office 365, SalesForce.com ou Google Apps, para aceitar seu credenciais dos funcionários. Se você estiver usando o Office 365, já estará configurado com o Azure AD porque o Office 365 usa o Azure AD para autenticação e autorização.

aplicativos de terceiros

A beleza dessa abordagem é que, sempre que sua organização adicionar ou excluir um usuário, ou um usuário alterar uma senha, você usará o mesmo processo que usará hoje em seu ambiente local. Todas as alterações do AD local são propagadas automaticamente para o ambiente de nuvem.

Se sua empresa estiver usando ou mudando para o Office 365, a boa notícia é que você terá o Azure AD configurado automaticamente porque o Office 365 usa o Azure AD para autenticação. Portanto, você pode usar facilmente em seus próprios aplicativos a mesma autenticação que o Office 365 usa.

Configurar um locatário do Azure AD

um diretório do AD do Azure é chamado de locatáriodo Azure AD e a configuração de um locatário é muito fácil. Mostraremos como isso é feito na Portal de Gerenciamento do Azure para ilustrar os conceitos, mas é claro que as outras funções do portal também podem ser feitas usando um script ou uma API de gerenciamento.

No portal de gerenciamento, clique na guia Active Directory.

WAAD no portal

Você tem automaticamente um locatário do Azure AD para sua conta do Azure e pode clicar no botão Adicionar na parte inferior da página para criar diretórios adicionais. Você pode desejar um para um ambiente de teste e outro para produção, por exemplo. Pense atentamente sobre o nome de um novo diretório. Se você usar seu nome para o diretório e, em seguida, usar seu nome novamente para um dos usuários, isso pode ser confuso.

Adicionar diretório

O portal tem suporte completo para criar, excluir e gerenciar usuários nesse ambiente. Por exemplo, para adicionar um usuário, acesse a guia usuários e clique no botão Adicionar usuário .

Botão Adicionar Usuário

Caixa de diálogo Adicionar usuário

Você pode criar um novo usuário que existe somente nesse diretório ou pode registrar uma conta da Microsoft como um usuário nesse diretório ou registrar ou um usuário de outro diretório do Azure AD como um usuário nesse diretório. (Em um diretório real, o domínio padrão seria ContosoTest.onmicrosoft.com. Você também pode usar um domínio de sua escolha, como contoso.com.)

Tipos de usuário

Caixa de diálogo Adicionar usuário

Você pode atribuir o usuário a uma função.

Perfil de Usuário

E a conta é criada com uma senha temporária.

Senha temporária

Os usuários criados dessa maneira podem fazer logon imediatamente em seus aplicativos Web usando esse diretório de nuvem.

No entanto, o que é ótimo para o logon único corporativo é a guia integração de diretórios :

Guia integração de diretórios

Se você habilitar a integração de diretórios e baixar uma ferramenta, poderá sincronizar esse diretório de nuvem com o Active Directory local existente que você já está usando dentro de sua organização. Em seguida, todos os usuários armazenados em seu diretório aparecerão nesse diretório na nuvem. Seus aplicativos de nuvem agora podem autenticar todos os seus funcionários usando suas credenciais de Active Directory existentes. E tudo isso é gratuito – a ferramenta de sincronização e o próprio Azure AD.

A ferramenta é um assistente que é fácil de usar, como você pode ver nessas capturas de tela. Essas instruções não são completas, apenas um exemplo que mostra o processo básico. Para obter informações mais detalhadas sobre como fazer, consulte os links na seção recursos no final do capítulo.

Assistente de configuração da ferramenta de sincronização WAAD

Clique em Avançare insira suas credenciais de Azure Active Directory.

Assistente de configuração da ferramenta de sincronização WAAD

Clique em Avançare insira suas credenciais do AD local.

Assistente de configuração da ferramenta de sincronização WAAD

Clique em Avançare, em seguida, indique se deseja armazenar um hash de suas senhas do AD na nuvem.

Assistente de configuração da ferramenta de sincronização WAAD

O hash de senha que você pode armazenar na nuvem é um hash unidirecional; as senhas reais nunca são armazenadas no Azure AD. Se você decidir armazenar hashes na nuvem, precisará usar serviços de Federação do Active Directory (AD FS) (ADFS). Também há outros fatores a serem considerados ao escolher se deseja ou não usar o ADFS. A opção ADFS requer algumas etapas de configuração adicionais.

Se você optar por armazenar hashes na nuvem, terminará e a ferramenta iniciará a sincronização de diretórios quando você clicar em Avançar.

Assistente de configuração da ferramenta de sincronização WAAD

E, em alguns minutos, você está pronto.

Assistente de configuração da ferramenta de sincronização WAAD

Você só precisa executar isso em um controlador de domínio na organização, no Windows 2003 ou superior. E não é necessário reinicializar. Quando terminar, todos os usuários estarão na nuvem e você poderá fazer logon único em qualquer aplicativo Web ou móvel, usando SAML, OAuth ou WS-enalimentado.

Às vezes, recebemos uma pergunta sobre quão seguro isso é: a Microsoft a utiliza para seus próprios dados comerciais confidenciais? E a resposta é sim. Por exemplo, se você acessar o site interno do Microsoft SharePoint em https://microsoft.sharepoint.com/, você será solicitado a fazer logon.

Entrar no Office 365

A Microsoft habilitou o ADFS, portanto, ao inserir uma ID da Microsoft, você será redirecionado para uma página de logon do ADFS.

Entrada no ADFS

E, depois de inserir as credenciais armazenadas em uma conta interna do Microsoft AD, você terá acesso a esse aplicativo interno.

Site do MS SharePoint

Estamos usando um servidor de entrada do AD principalmente porque já tínhamos o ADFS configurado antes que o Azure AD ficasse disponível, mas o processo de logon está passando por um diretório do Azure AD na nuvem. Colocamos nossos documentos importantes, controle do código-fonte, arquivos de gerenciamento de desempenho, relatórios de vendas e muito mais, na nuvem e estamos usando exatamente a mesma solução para protegê-los.

Criar um aplicativo ASP.NET que usa o Azure AD para logon único

O Visual Studio torna muito fácil criar um aplicativo que usa o Azure AD para logon único, como você pode ver em algumas capturas de tela.

Quando você cria um novo aplicativo ASP.NET, o MVC ou o Web Forms, o método de autenticação padrão é ASP.NET Identity. Para alterar isso para o Azure AD, clique em um botão alterar autenticação .

Alterar Autenticação

Selecione contas organizacionais, insira seu nome de domínio e, em seguida, selecione logon único.

Caixa de diálogo configurar autenticação

Você também pode fornecer permissão de leitura/gravação do aplicativo para dados do diretório. Se você fizer isso, poderá usar a API REST do Graph do Azure para procurar o número de telefone dos usuários, descobrir se eles estão no escritório, quando eles fizeram logon pela última vez, etc.

Isso é tudo o que você precisa fazer – o Visual Studio solicita as credenciais de um administrador para seu locatário do Azure AD e, em seguida, configura seu projeto e seu locatário do Azure AD para o novo aplicativo.

Ao executar o projeto, você verá uma página de entrada e poderá entrar com as credenciais de um usuário em seu diretório do AD do Azure.

Entrada da conta da organização

Conectado

Quando você implanta o aplicativo no Azure, tudo o que precisa fazer é marcar uma caixa de seleção habilitar autenticação organizacional e, mais uma vez, o Visual Studio cuida de toda a configuração para você.

Publicar na Web

Essas capturas de tela vêm de um tutorial passo a passo completo que mostra como criar um aplicativo que usa a autenticação do Azure AD: desenvolvendo aplicativos ASP.NET com Azure Active Directory.

Resumo

Neste capítulo, você viu que Azure Active Directory, Visual Studio e ASP.NET, facilitam a configuração de logon único em aplicativos de Internet para os usuários da sua organização. Os usuários podem fazer logon em aplicativos de Internet usando as mesmas credenciais que usam para fazer logon usando Active Directory em sua rede interna.

O próximo capítulo analisa as opções de armazenamento de dados disponíveis para um aplicativo de nuvem.

Recursos

Para saber mais, consulte os recursos a seguir: