Implemente a autenticação SAML 2.0 para a Amazon WorkSpaces usando Auth0 e AWS Managed Microsoft AD - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implemente a autenticação SAML 2.0 para a Amazon WorkSpaces usando Auth0 e AWS Managed Microsoft AD

Siva Vinnakota e Shantanu Padhye, Amazon Web Services

Resumo

Esse padrão explora como você pode integrar o Auth0 AWS Directory Service for Microsoft Active Directory para criar uma solução robusta de autenticação SAML 2.0 para seu ambiente Amazon. WorkSpaces Ele explica como estabelecer uma federação entre eles Serviços da AWS para habilitar recursos avançados, como autenticação multifator (MFA) e fluxos de login personalizados, preservando o acesso contínuo ao desktop. AWS Managed Microsoft AD Independentemente de você gerenciar um pequeno número ou milhares de usuários, essa integração proporciona maior flexibilidade e segurança à sua organização. Este padrão fornece as etapas necessárias para o processo de configuração, permitindo que você implemente essa solução em seu próprio ambiente.

Pré-requisitos e limitações

Pré-requisitos

  • Um ativo Conta da AWS

  • AWS Managed Microsoft AD

  • Um desktop provisionado no Amazon WorkSpaces Personal que está associado ao AWS Managed Microsoft AD

  • Uma instância do Amazon Elastic Compute Cloud (Amazon EC2)

  • Uma conta do Auth0

Limitações

Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte Serviços da AWS by Region. Para endpoints específicos, consulte a página Cotas e endpoints de serviços e clique no link correspondente ao serviço desejado.

Arquitetura

O processo de autenticação SAML 2.0 para um aplicativo WorkSpaces cliente consiste em cinco etapas que são ilustradas no diagrama a seguir. Essas etapas representam um fluxo de trabalho típico para o processo de login. É possível usar essa abordagem distribuída de autenticação após seguir as instruções apresentadas neste padrão, para oferecer um método estruturado e seguro para o acesso dos usuários.

Fluxo de trabalho para o processo de autenticação SAML 2.0 para um aplicativo WorkSpaces cliente.

Fluxo de trabalho:

  1. Registro. O usuário inicia o aplicativo cliente WorkSpaces e insere o código de WorkSpaces registro do diretório habilitado para SAML WorkSpaces . WorkSpaces retorna a URL do provedor de identidade Auth0 (IdP) para o aplicativo cliente.

  2. Login. O WorkSpaces cliente redireciona para o navegador da web do usuário usando o URL Auth0.  O usuário realiza a autenticação com seu nome de usuário e senha. O Auth0 retorna uma afirmação do padrão SAML ao navegador do cliente. A afirmação do padrão SAML consiste em um token criptografado que comprova a identidade do usuário.

  3. Autenticar. O navegador do cliente publica a declaração SAML no Início de Sessão da AWS endpoint para validá-la. Início de Sessão da AWS permite que o chamador assuma uma função AWS Identity and Access Management (IAM). Isso retorna um token que contém credenciais temporárias para o perfil do IAM.

  4. WorkSpaces logar. O WorkSpaces cliente apresenta o token ao endpoint do WorkSpaces serviço. WorkSpaces troca o token por um token de sessão e retorna o token de sessão ao WorkSpaces cliente com uma URL de login. Quando o WorkSpaces cliente carrega a página de login, o valor do nome de usuário é preenchido pelo NameId valor passado na resposta do SAML.

  5. Streaming. O usuário insere sua senha e se autentica no WorkSpaces diretório. Após a autenticação, WorkSpaces retorna um token para o cliente. O cliente redireciona de volta para o WorkSpaces serviço e apresenta o token. Isso intermedia uma sessão de streaming entre o WorkSpaces cliente e o. WorkSpace

nota

Para configurar uma experiência perfeita de login único que não exija uma solicitação de senha, consulte Autenticação baseada em certificado e Pessoal na documentação. WorkSpaces WorkSpaces

Ferramentas

Serviços da AWS

  • WorkSpacesA Amazon é um serviço de infraestrutura de desktop virtual (VDI) totalmente gerenciado que fornece aos usuários desktops baseados em nuvem sem precisar adquirir e implantar hardware ou instalar software complexo.

  • AWS Directory Service for Microsoft Active Directorypermite que suas cargas de trabalho e AWS recursos com reconhecimento de diretório usem o Microsoft Active Directory no. Nuvem AWS

Outras ferramentas

  • O Auth0 é uma plataforma destinada à autenticação e à autorização que permite gerenciar o acesso às suas aplicações.

Épicos

TarefaDescriptionHabilidades necessárias

Instale o conector LDAP do Active Directory no Auth0 com. AWS Managed Microsoft AD

  1. Faça login no painel do Auth0 e escolha Autenticação, depois Empresarial e, por último, Active Directory / LDAP. Selecione Criar uma conexão.

  2. Forneça um nome para a conexão do Active Directory e, em seguida, escolha Criar.

  3. Na guia Configuração, faça o download do agente correspondente ao seu sistema operacional.

    Quando a instalação for concluída, seu navegador padrão exibirá um prompt solicitando o URL do tíquete.

  4. Insira o URL do tíquete de provisionamento, que deve ser exclusivo para sua string de conexão, e, em seguida, clique em Continuar.

  5. Na caixa de diálogo Configuração do LDAP do AD, insira suas credenciais de administrador nos campos Nome de usuário e Senha, e selecione Salvar.

    Quando a conexão com o Auth0 for estabelecida, o log de configuração será exibido com o status OK para todas as verificações.

Administrador de nuvem, arquiteto de nuvem

Crie uma aplicação no Auth0 para gerar o arquivo de manifesto de metadados em SAML.

  1. Faça login no painel do Auth0 e crie uma nova aplicação com base nas instruções presentes na documentação do Auth0.

  2. No painel do Auth0, selecione o nome da aplicação para acessar as configurações. Na AddOnsguia, escolha Aplicativo SAML2 Web.

  3. Na guia Configurações do complemento, em URL de retorno de chamada do aplicativo, insira https://signin.aws.amazon.com /saml. É para esse endereço que o token do SAML enviará a solicitação POST.

  4. Na guia Configurações, na caixa Configurações, cole o seguinte código de configuração do SAML em formato JSON:

    { "audience": "https://signin.aws.amazon.com/saml", "mappings": { "email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/sAMAccountName", "name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" }, "createUpnClaim": false, "passthroughClaimsWithNoMapping": false, "mapUnknownClaimsAsIs": false, "mapIdentities": false, "nameIdentifierFormat": "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "nameIdentifierProbes": [ "http://schemas.auth0.com/sAMAccountName" ] }
  5. Clique em Salvar e, em seguida, selecione Habilitar.

  6. Escolha a guia Uso e faça o download do arquivo de manifesto de metadados destinado ao provedor de identidades. Essas informações serão necessárias para as próximas etapas.

  7. Feche a janela do aplicativo SAML2 Web.

  8. Na tela de aplicações, selecione Conexões. Em Enterprise, selecione o Directory/LDAP conector ativo correto e ative-o.

Administrador de nuvem, arquiteto de nuvem
TarefaDescriptionHabilidades necessárias

Crie um IdP do SAML 2.0 no IAM.

Para configurar o SAML 2.0 como um IdP, siga as etapas descritas em Create a SAML identity provider in IAM na documentação do IAM.

Administrador de nuvem

Crie uma política e um perfil do IAM para federação do SAML 2.0.

  1. Crie um perfil do IAM para federação do SAML 2.0. Para obter instruções, consulte a etapa 2 nas instruções para configurar o SAML 2.0 for WorkSpaces Personal na WorkSpaces documentação.

  2. Crie uma política do IAM e realize a associação com o perfil que você criou na etapa anterior. Para obter instruções, consulte a etapa 3 nas instruções para configurar o SAML 2.0 for WorkSpaces Personal na WorkSpaces documentação.

Administrador de nuvem
TarefaDescriptionHabilidades necessárias

Configure o Auth0 e as afirmações do padrão SAML.

É possível usar ações do Auth0 para configurar afirmações nas respostas do SAML 2.0. Uma afirmação do padrão SAML consiste em um token criptografado que comprova a identidade do usuário.

  1. Faça login no painel do Auth0. Escolha Ações, depois Biblioteca e, por fim, Criar ação e Criar do zero.

  2. Forneça os valores apresentados a seguir e, em seguida, selecione Criar.

    Nome: especifique um nome para a ação

    Acionador: escolha Login/Post Login

    Runtime: escolha o Node 18

  3. Na próxima tela, insira o seguinte código:

    exports.onExecutePostLogin = async (event, api) => { if (event.client.name === "Workspace_Saml") { const awsRole = 'arn:aws:iam::030784294031:role/Workspace_Auth0,arn:aws:iam::030784294031:saml-provider/Auth0'; const awsRoleSession = event.user.sAMAccountName; const email = event.user.emails[0]; api.samlResponse.setDestination('https://signin.aws.amazon.com/saml'); api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/Role', awsRole) api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/RoleSessionName', awsRoleSession) api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email', email) } return; };
  4. Escolha Implantar.

Isso conclui a configuração da autenticação SAML 2.0 para desktops WorkSpaces pessoais. A seção Arquitetura ilustra o processo de autenticação após a configuração.

Administrador de nuvem

Solução de problemas

ProblemaSolução

Problemas de autenticação do SAML 2.0 em WorkSpaces

Se você encontrar algum problema ao implementar a autenticação SAML 2.0 para WorkSpaces Personal, siga as etapas e os links descritos no artigo AWS re:POST sobre solução de problemas de autenticação SAML 2.0.

Para obter informações adicionais sobre como investigar erros do SAML 2.0 durante o acesso WorkSpaces, consulte:

Recursos relacionados