Como configurar o SSO com o Azure OpenID Connect
O logon único (SSO) fornece a conveniência necessária e a segurança intrínseca para atividades de logon em aplicativos. Felizmente, o SSO funciona com qualquer aplicativo Web no Azure Active Directory, então vamos ver como podemos configurá-lo.
Com o SSO, seus usuários entrarão uma vez com uma única conta e terão acesso aos seus aplicativos Web, SAAS, recursos da empresa e dispositivos ingressados no domínio. Depois de entrar, eles podem iniciar qualquer aplicativo do Azure AD MyApps e / ou do Office 365 Portal. Os administradores podem gerenciar contas de usuário e adicionar / remover acesso a aplicativos com base na associação.
Sem o SSO, seus usuários precisam se lembrar de informações de log específicas do aplicativo e fazer login em cada um. A equipe precisa atualizar, criar e gerenciar contas para cada aplicativo. Os usuários precisam se lembrar das senhas e gastar seu tempo fazendo login.
Portanto, não é difícil ver que o SSO é um vencedor claro quando se trata de acessibilidade na Web. Mas não é apenas conveniente, é seguro, então vamos dar uma olhada no OpenID Connect.
O que é o OpenID Connect?
Embora a Security Assertion Markup Language seja a principal solução de SSO atual para as empresas, muitos estão resolvendo seu uso para a conexão OpenID por vários motivos.
Aqui estão alguns, para citar alguns:
- Funciona melhor em dispositivos móveis
- Baseado no OAuth 2, portanto, mais fácil para desenvolvedores
- Perfeito para não funcionários
- Fácil de configurar, e acessível para sustentar
- Padrão do setor para o Azure Active Directory, Okta, Google G Suite, Auth0, OneLogin, etc.
O OpenID Connect é nativo para muitos IDPS, ou seja, o Azure AD, e é por isso que vamos fazer uso adequado.
OIDC e SAML podem ser executados juntos. Portanto, se você precisar separar e categorizar seus usuários externos e internos, essa pode ser a solução. Também é bom para separar suas soluções, onde você usa SAML para acesso de funcionários e OIDC para incorporação de cartões em outros sites.
Mesmo se os dois métodos forem aplicados, o DSO ainda poderá ser empregado, mas isso não é realmente usado neste cenário.
Como adicionar um aplicativo OpenID do Azure AD?
Para iniciar o processo de ativação do SSO para seus aplicativos, você precisa:
- Acesse o “ Portal do Azure ” e selecione o “ Azure Active Directory.
- Navegue para “ Aplicativos Corporativos & ” em seguida, para "Todos os aplicativos".
- Selecione o “ novo aplicativo ” e digite o nome na caixa de pesquisa. (OpenID e OAuth têm o botão Adicionar desativado por padrão. Seu administrador de inquilinos deve selecionar o botão de inscrição e fornecer acesso ao aplicativo.
- Após uma autorização bem-sucedida, você pode aceitar o consentimento e a página inicial do aplicativo é aberta.
- Quando você seleciona o botão de inscrição, será redirecionado para o “ Diretório ativo do Azure ” para cumprir as credenciais de login.
Nesse momento, você provisionou o acesso ao inquilino da solução OpenID para esse aplicativo específico.
Você pode adicionar apenas uma única instância de um aplicativo. Se você já fez isso e tentou solicitar o consentimento, ele não será adicionado ao inquilino novamente. Uma instância de aplicativo por inquilino, que é a única maneira de funcionar.
Como a autenticação funcionará com o OpenID Connect
Para continuar com a autenticação SSO, você precisa primeiro entender como funciona um fluxo de entrada simples:
- O usuário entra e insere credenciais e, em seguida, consente com as permissões. (Isso é executado através do comando / oauth2 / authorize.)
- Um id_token é retornado e o código de autorização é enviado ao navegador.
- Ocorre um redirecionamento para o URL.
- O id_token é validado; um cookie de sessão é definido.
- O portador do código OAuth é solicitado a fornecer o license_code.
- O token é retornado com refresh_token.
- A API da Web é chamada com um token no cabeçalho de autenticação.
- O token é validado.
- Os dados seguros são retornados ao Web Server App.
Esta é uma representação muito simples do fluxo de autorização, e é para isso que realmente se resume no final.
Habilitando a estrutura de consentimento
Para desenvolver um aplicativo cliente nativo ou um aplicativo Web multitenant, você pode usar a estrutura de consentimento do Azure AD. Isso permitirá o logon nas contas de usuário de um determinado inquilino do Azure AD, que recebeu acesso nas etapas anteriores.
O acesso ao APIS da web pode ser necessário. Por exemplo, a API do Microsoft Graph para acessar o Azure AD, Office 365 ou Intune. Além disso, qualquer APIS pessoal na web precisará receber acesso do inquilino.
A estrutura de consentimento é baseada em um administrador ou usuário anterior que fornece consentimento para um aplicativo que está solicitando registro no diretório. Pode envolver o acesso a dados do diretório, mas não precisa. Após o consentimento, o aplicativo entrará em contato com a API do Graph em nome do usuário e acessará as informações conforme necessário.
A API fornece acesso a vários pontos de dados, mas também fornece grupos e usuários no Azure AD e em qualquer outro serviço em nuvem da Microsoft. Portanto, ele funcionará com qualquer um dos seus aplicativos da web.
É assim que a experiência de consentimento ocorrerá para o usuário e desenvolvedor:
Consentimento de desenvolvedor / usuário
Um aplicativo cliente da web precisa de permissões para acessar um recurso. O portal do Azure está declarando uma solicitação de permissão para definir um horário configurado. Como qualquer outra configuração, ela se torna parte dos pontos de dados de registro do Azure AD.
Para acessar o caminho da permissão, você precisa clicar em “ Registros de Aplicativos ” do lado esquerdo e abra o aplicativo com o qual você estará trabalhando. Em seguida, você pode navegar para as "Permissões da API" ” menu e selecione um “ Add A Permission ” opção. Depois disso, você seleciona o “ Microsoft Graph & ” e escolha as opções no “ Application & Permissões delegadas. ”
Agora, as permissões foram atualizadas, o usuário está prestes a usar o SSO pela primeira vez. O aplicativo primeiro precisa receber um código de autorização do ponto de extremidade no Azure AD e, em seguida, o código será usado para acessar um token atualizado. Se o usuário não tiver sido autenticado, o terminal solicitará uma entrada.
Depois de entrar, o Azure AD determinará se o usuário precisa receber uma solicitação de consentimento. A decisão será baseada no grupo que foi concedido ao usuário.
Se o consentimento não foi concedido, um prompt aparecerá e exibirá as permissões necessárias para a funcionalidade. Um usuário pode consentir em várias permissões, mas outros podem precisar acessar uma conta de administrador de locatários.
Conclusão
Embora o processo por trás da ativação do OpenID Connect seja bastante simples, a funcionalidade e o aplicativo do SSO serão rigorosos com a capacidade do desenvolvedor encarregado de implementar a função.
O OIDC vem com uma variedade de plug-ins integrados que permitem acesso instantâneo a partir da caixa, conforme mencionado pelo fluxo de autorização básico, mas qualquer coisa que exija uma abordagem personalizada será mais envolvente.
Para obter mais informações sobre como estender a oportunidade do SSO, leia algumas da documentação original do Azure.
Via: How to Geek
Nenhum comentário