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, da 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 Se você está gerenciando apenas alguns usuários ou milhares, essa integração ajuda a fornecer flexibilidade e segurança para sua organização. Esse padrão fornece as etapas do processo de configuração para que você possa implementar 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 Auth0

Limitações

Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para ver a disponibilidade da região, consulte Serviços da AWS por região. Para endpoints específicos, consulte a página de endpoints e cotas do serviço e escolha o link para o serviço.

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 fazer login. Você pode usar essa abordagem distribuída para autenticação depois de seguir as instruções desse padrão, para ajudar a fornecer um método estruturado e seguro para o acesso do usuário.

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 se autentica com seu nome de usuário e senha. Auth0 retorna uma declaração SAML para o navegador do cliente. A declaração SAML é um token criptografado que afirma 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 a função 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 de autenticação e autorização que ajuda você a gerenciar o acesso aos seus aplicativos.

Épicos

TarefaDescriçãoHabilidades necessárias

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

  1. Faça login no painel Auth0 e escolha Authentication, Enterprise, Active Directory/LDAP. Escolha Criar uma conexão.

  2. Forneça o nome da sua conexão do Active Directory e escolha Criar.

  3. Na guia Configuração, baixe o agente para seu sistema operacional.

    Quando a instalação estiver concluída, seu navegador padrão exibirá uma solicitação para a URL do ticket.

  4. Insira a URL do ticket de aprovisionamento, que deve ser exclusiva para sua cadeia de conexão, e escolha Continuar.

  5. Na caixa de diálogo Configuração do AD LDAP, em Nome de usuário e senha, insira suas credenciais de administrador e escolha Salvar.

    Quando a conexão com Auth0 é estabelecida, o registro de configuração é exibido com um status de relatório OK para todas as verificações.

Administrador de nuvem, arquiteto de nuvem

Crie um aplicativo no Auth0 para gerar o arquivo de manifesto de metadados SAML.

  1. Faça login no painel do Auth0 e crie um novo aplicativo seguindo as instruções na documentação do Auth0.

  2. No painel Auth0, escolha o nome do aplicativo para acessar suas 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. É aqui que o token SAML enviará a POST solicitação.

  4. Na guia Configurações, na caixa Configurações, cole o seguinte código de configuração SAML no 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. Salve e, em seguida, escolha Habilitar.

  6. Escolha a guia Uso e baixe o arquivo de manifesto de metadados para o provedor de identidade. Essas informações são necessárias para as próximas etapas.

  7. Feche a janela do aplicativo SAML2 Web.

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

Administrador de nuvem, arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias

Crie um IdP SAML 2.0 no IAM.

Para configurar o SAML 2.0 como um IdP, siga as etapas descritas em Criar um provedor de identidade SAML no IAM na documentação do IAM.

Administrador de nuvem

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

  1. Crie uma função do IAM para a federação 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 associe-a à função 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
TarefaDescriçãoHabilidades necessárias

Configure as asserções Auth0 e SAML.

Você pode usar ações Auth0 para configurar afirmações nas respostas do SAML 2.0. Uma declaração SAML é um token criptografado que afirma a identidade do usuário.

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

  2. Forneça os valores a seguir e escolha Criar.

    Nome: especifique um nome para a ação

    Acionador: escolha Login/Post Login

    Tempo de execução: 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