Tutorial: federação de identidades do Amazon QuickSight e do IAM - Amazon QuickSight

Tutorial: federação de identidades do Amazon QuickSight e do IAM

   Aplica-se a: Enterprise Edition e Standard Edition 
   Público-alvo: administradores e desenvolvedores do Amazon QuickSight 
nota

A federação de identidades do IAM não oferece suporte à sincronização de grupos de provedores de identidades com o Amazon QuickSight.

No tutorial a seguir, você encontra um passo a passo para configurar o IdP Okta como um serviço de federação para o Amazon QuickSight. Embora este tutorial mostre a integração do AWS Identity and Access Management (IAM) e do Okta, você também pode replicar essa solução usando os IdPs SAML 2.0 de sua escolha.

No procedimento a seguir, você cria um aplicativo no IdP do Okta usando o atalho "AWS Account Federation". O Okta descreve esse aplicativo de integração da seguinte forma:

"Ao federar o Okta às contas do Amazon Web Services (AWS) Identity and Access Management (IAM), os usuários finais obtêm acesso com logon único a todos os perfis atribuídos da AWS com as credenciais do Okta. Em cada Conta da AWS, os administradores configuram a federação e os perfis da AWS para confiar no Okta. Quando os usuários fazem login na AWS, eles obtêm a experiência de logon único do Okta para ver os perfis atribuídos da AWS. Em seguida, eles podem selecionar um perfil desejado, que definiu suas permissões durante a sessão autenticada. Clientes com um grande número de contas da AWS, confiram o aplicativo AWS Single Sign-On como alternativa". (https://www.okta.com/aws/)

Para criar um aplicativo do Okta usando o atalho da aplicação "AWS Account Federation" do Okta
  1. Faça login no painel do Okta. Se você não tiver uma, crie uma conta gratuita do Okta Developer Edition usando esse URL da marca QuickSight. Depois de ativar seu e-mail, faça login no Okta.

  2. No site do Okta, escolha <> Developer Console no canto superior esquerdo e selecione Classic UI.

  3. Escolha Add Applications e Add app.

  4. Insira aws em Search e escolha AWS Account Federation nos resultados da pesquisa.

  5. Escolha Add para criar uma instância dessa aplicação.

  6. Em Application label, insira AWS Account Federation - QuickSight.

  7. Escolha Próximo.

  8. Em SAML 2.0, Default Relay State, insira https://quicksight.aws.amazon.com.

  9. Abra o menu de contexto (clique com o botão direito do mouse) em Identity Provider metadata e escolha salvar o arquivo. Nomeie o arquivo metadata.xml. Você precisará dele para o próximo procedimento.

    O conteúdo do arquivo é semelhante ao seguinte:

    <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="http://www.okta.com/exkffz2hATwiVft645d5"> <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <md:KeyDescriptor use="signing"> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:X509Data> <ds:X509Certificate> MIIDpjCCAo6gAwIBAgIGAXVjA82hMA0GCSqGSIb3DQEBCwUAMIGTMQswCQYDVQQGEwJVUzETMBEG . . (certificate content omitted) . QE/6cRdPQ6v/eaFpUL6Asd6q3sBeq+giRG4= </ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </md:KeyDescriptor> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat> <md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified</md:NameIDFormat> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://dev-1054988.okta.com/app/amazon_aws/exkffz2hATwiVft645d5/sso/saml"/> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://dev-1054988.okta.com/app/amazon_aws/exkffz2hATwiVft645d5/sso/saml"/> </md:IDPSSODescriptor> </md:EntityDescriptor>
  10. Depois de salvar o arquivo XML, vá até o final da página do Okta e escolha Done.

  11. Mantenha essa janela do navegador aberta, se possível. Você precisará dela posteriormente no tutorial.

Em seguida, você criará um provedor de identidades na sua Conta da AWS.

Para criar um provedor SAML no AWS Identity and Access Management (IAM)
  1. Faça login no AWS Management Console e abra o console do IAM, em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Provedores de identidades, Criar provedor.

  3. Insira as seguintes configurações:

    • Tipo de provedor: escolha SAML na lista.

    • Nome do provedor: insira Okta.

    • Documento de metadados: carregue o arquivo XML manifest.xml do procedimento anterior.

  4. Escolha Próximo passo, Criar.

  5. Localize o IdP que você criou e selecione-o para visualizar as configurações. Anote o ARN do provedor. Você precisa disso para concluir o tutorial.

  6. Verifique se o provedor de identidades foi criado com suas configurações. No IAM, escolha Provedores de identidades, Okta (o IdP que você adicionou), Baixar metadados. O arquivo deve ser o que você carregou recentemente.

Em seguida, você cria um perfil do IAM para permitir que a federação SAML 2.0 atue como uma entidade confiável na sua Conta da AWS. Para esta etapa, você precisa escolher como deseja provisionar usuários no Amazon QuickSight. Você pode executar uma das seguintes ações:

  • Conceda permissão ao perfil do IAM para que visitantes iniciantes se tornem usuários do QuickSight automaticamente.

  • Provisione usuários do QuickSight com antecedência usando a API do QuickSight. Ao escolher essa opção, você pode provisionar usuários e adicioná-los aos grupos ao mesmo tempo. Para obter mais informações, consulte Como criar e gerenciar grupos no Amazon QuickSight.

Para criar um perfil do IAM para uma federação SAML 2.0 como uma entidade confiável
  1. Faça login no AWS Management Console e abra o console do IAM, em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, selecione Funções e Criar função.

  3. Em Selecionar tipo de entidade confiável, escolha o cartão rotulado como Federação SAML 2.0.

  4. Em Provedor SAML, selecione o IdP criado no procedimento anterior, por exemplo, Okta.

  5. Habilite a opção Permitir acesso programático e ao Console de Gerenciamento da AWS.

  6. Escolha Próximo: Permissões.

  7. Cole a política a seguir no editor.

    No editor da política, atualize o JSON com o nome do recurso da Amazon (ARN) do seu provedor.

  8. Selecione Revisar política.

  9. Em Nome, insira e QuicksightOktaFederatedPolicy e selecione Create policy (Criar política).

  10. Escolha Criar política, JSON pela segunda vez.

  11. Cole a política a seguir no editor.

    No editor da política, atualize o JSON com o ID da Conta da AWS. Deve ser o mesmo ID de conta que você usou na política anterior no ARN do provedor.

    Você pode omitir o nome da Região da AWS no ARN, como mostrado a seguir.

    arn:aws:quicksight::111111111111:user/$${aws:userid}
  12. Selecione Revisar política.

  13. Em Nome, insira e QuicksightCreateReader e selecione Create policy (Criar política).

  14. Atualize a lista de políticas escolhendo o ícone de atualização à direita.

  15. Em Pesquisar, insira QuicksightOktaFederatedPolicy. Escolha a política para habilitá-la ( Icon representing a cloud with an arrow pointing downward, indicating download or cloud storage. ).

    Se você não quiser usar o provisionamento automático, ignore a etapa a seguir.

    Para adicionar um usuário do QuickSight, use register-user. Para adicionar um grupo do QuickSight, use create-group. Para adicionar usuários ao grupo do QuickSight, use create-group-membership.

  16. (Opcional) Em Pesquisar, insira QuicksightCreateReader. Escolha a política para habilitá-la ( Icon representing a cloud with an arrow pointing downward, indicating download or cloud storage. ).

    Execute essa etapa se quiser provisionar usuários do QuickSight automaticamente, em vez de usar a API do QuickSight.

    A política QuicksightCreateReader ativa o provisionamento automático ao permitir o uso da ação quicksight:CreateReader. Isso concede aos assinantes do painel (nível de leitor) acesso aos usuários iniciantes. Posteriormente, um administrador do QuickSight pode atualizá-los no menu de perfil do QuickSight, Gerenciar QuickSight, Gerenciar usuários.

  17. Para continuar anexando as políticas ou a política do IAM, escolha Próximo: tags.

  18. Escolha Próximo: revisar.

  19. Em Nome do perfil, insira QuicksightOktaFederatedRole e escolha Criar perfil.

  20. Verifique se você concluiu essa parte com êxito seguindo as seguintes etapas:

    1. Volte para a página principal do console do IAM em https://console.aws.amazon.com/iam/. Você pode usar o botão Voltar do seu navegador.

    2. Escolha Perfis.

    3. Em Pesquisar, insira Okta. Escolha QuicksightOktaFederatedRole nos resultados da pesquisa.

    4. Na página Resumo da política, examine a guia Permissões. Verifique se o perfil tem a política ou as políticas que você anexou a ele. Ele deve ter QuicksightOktaFederatedPolicy. Se você optou por adicionar a capacidade de criar usuários, também deve ter QuicksightCreateReader.

    5. Use o ícone Play button icon with a triangular shape pointing to the right. para abrir cada política. Verifique se o texto corresponde ao que é mostrado neste procedimento. Verifique novamente se você adicionou seu próprio número da Conta da AWS no lugar do número de conta exemplificado 111111111111.

    6. Na guia Relações de confiança, verifique se o campo Entidades confiáveis contém o ARN do provedor de identidades. Você pode verificar novamente o ARN no console do IAM abrindo Provedores de identidades, Okta.

Para criar uma chave de acesso para o Okta
  1. Faça login no AWS Management Console e abra o console do IAM, em https://console.aws.amazon.com/iam/.

  2. Adicione uma política que permita ao Okta exibir uma lista de perfis do IAM para o usuário. Para isso, escolha Política, Criar política.

  3. Escolha JSON e insira a política a seguir.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:ListRoles", "iam:ListAccountAliases" ], "Resource": "*" } ] }
  4. Escolha Revisar política.

  5. Em Name (Nome), insira OktaListRolesPolicy. Selecione Criar política.

  6. Adicione um usuário para que você possa fornecer uma chave de acesso ao Okta.

    No painel de navegação, escolha Usuários, Adicionar usuário.

  7. Use as seguintes configurações:

    • Em Nome do usuário, digite OktaSSOUser.

    • Em Tipo de acesso, habilite Acesso programático.

  8. Escolha Próximo: Permissões.

  9. Escolha Anexar políticas existentes diretamente.

  10. Em Pesquisar, insira OktaListRolesPolicy e escolha OktaListRolesPolicy nos resultados da pesquisa.

  11. Escolha Próximo: tags e Próximo: revisar.

  12. Selecione Criar usuário. Agora você pode obter a chave de acesso.

  13. Baixe o arquivo de chaves selecionando Baixar .csv. O arquivo contém o mesmo ID da chave de acesso e a mesma chave de acesso secreta que são exibidas nessa tela. No entanto, como a AWS não exibe essas informações pela segunda vez, certifique-se de baixar o arquivo.

  14. Verifique se você concluiu essa etapa corretamente seguindo os seguintes passos:

    1. Abra o console do IAM e escolha Usuários. Pesquise por OktaSSOUser e abra-o escolhendo o nome de usuário nos resultados da pesquisa.

    2. Na guia Permissões, verifique se a OktaListRolesPolicy está anexada.

    3. Use o ícone Play button icon with a triangular shape pointing to the right. para abrir a política. Verifique se o texto corresponde ao que é mostrado neste procedimento.

    4. Na guia Credenciais de segurança, você pode verificar a chave de acesso, embora já a tenha baixado. Você pode voltar a essa guia para criar uma chave de acesso quando precisar de uma nova.

No procedimento a seguir, você retorna ao Okta para fornecer a chave de acesso. A chave de acesso funciona com suas novas configurações de segurança para permitir que a AWS e o IdP do Okta trabalhem em conjunto.

Para finalizar a configuração da aplicação do Okta com as configurações da AWS
  1. Volte para o painel do Okta. Se solicitado, faça login. Se o console do desenvolvedor não estiver mais aberto, escolha Admin para reabri-lo.

  2. Se precisar reabrir o Okta, você pode retornar a esta seção seguindo as etapas a seguir:

    1. Faça login no Okta. Selecione Aplicações.

    2. Escolha AWS Account Federation - QuickSight, a aplicação que você criou no início deste tutorial.

    3. Escolha a guia Sign On, entre General e Mobile.

  3. Role até Advanced Sign-On Settings.

  4. Em Identity Provider ARN (Required only for SAML IAM federation), insira o ARN do provedor do procedimento anterior, por exemplo:

    arn:aws:iam::111122223333:saml-provider/Okta
  5. Escolha Done ou Save. O nome do botão varia se você estiver criando ou editando a aplicação.

  6. Escolha a guia Provisioning e, na parte inferior da guia, selecione Configure API Integration.

  7. Ative Enable API integration para exibir as configurações.

  8. Em Access Key e Secret Key, forneça a chave de acesso e a chave secreta que você baixou anteriormente em um arquivo chamado OktaSSOUser_credentials.csv.

  9. Escolha Test API Credentials. Veja acima da configuração Enable API integration para ver a mensagem de confirmação AWS Account Federation was verified successfully.

  10. Escolha Salvar.

  11. Certifique-se de que To App esteja destacado à esquerda e escolha Edit à direita.

  12. Em Create Users, ative a opção Enable.

  13. Escolha Salvar.

  14. Na guia Assignments, perto de Provisioning e Import, escolha Assign.

  15. Faça um ou mais dos seguintes procedimentos para habilitar o acesso federado:

    • Para trabalhar com usuários individuais, escolha Assign to People.

    • Para trabalhar com grupos do IAM, escolha Assign to Groups. Você pode escolher grupos específicos do IAM ou Everyone (All users in your organization).

  16. Para cada grupo ou usuário do IAM, faça o seguinte:

    1. Escolha Assign, Role.

    2. Selecione QuicksightOktaFederatedRole na lista de perfis do IAM.

    3. Em SAML User Roles, habilite QuicksightOktaFederatedRole.

  17. Escolha Save and Go Back e selecione Done.

  18. Certifique-se de que você concluiu essa etapa corretamente escolhendo o filtro People ou Groups à esquerda e verificando os usuários ou grupos inseridos. Se você não conseguir concluir esse processo porque o perfil criado não aparece na lista, retorne aos procedimentos anteriores para verificar as configurações.

Para entrar no QuickSight usando o Okta (login de IdP para provedor de serviços)
  1. Se você estiver usando uma conta de administrador do Okta, mude para o modo de usuário.

  2. Entre no painel do Okta Applications com um usuário que tenha recebido acesso federado. Você deve ver uma nova aplicação com seu rótulo, por exemplo, AWS Account Federation - QuickSight.

  3. Escolha o ícone da aplicação para executar AWS Account Federation - QuickSight.

Agora você pode gerenciar identidades usando o Okta e usar o acesso federado com o Amazon QuickSight.

O procedimento a seguir é uma parte opcional deste tutorial. Ao seguir as etapas, você autoriza o QuickSight a encaminhar solicitações de autorização para o IdP em nome dos seus usuários. Usando esse método, os usuários podem entrar no QuickSight sem precisar fazer login, usando primeiro a página do IdP.

(Opcional) Para configurar o QuickSight para enviar solicitações de autenticação ao Okta
  1. Abra o QuickSight e escolha Gerenciar QuickSight no menu do seu perfil.

  2. Selecione Logon único (federação do IAM) no painel de navegação.

  3. Em Configuração, URL do IdP, insira o URL que o seu IdP fornece para autenticar usuários, por exemplo, https://dev-1-----0.okta.com/home/amazon_aws/0oabababababaGQei5d5/282. Você encontra isso na página do seu aplicativo do Okta, na guia General, em Embed Link.

  4. Para URL do IdP, insira RelayState.

  5. Execute um destes procedimentos:

    • Para testar primeiro o login com seu provedor de identidades, use o URL personalizado fornecido em Teste começando com seu IdP. Você deve chegar à página inicial do QuickSight, por exemplo, https://quicksight.aws.amazon.com/sn/start.

    • Para testar primeiro o login com o QuickSight, use o URL personalizado fornecido em Teste a experiência de ponta a ponta. O parâmetro enable-sso é anexado ao URL. Se enable-sso=1, a federação do IAM tenta se autenticar. Se enable-sso=0, o QuickSight não enviará a solicitação de autenticação e você fará login no QuickSight como antes.

  6. Em Status, escolha ATIVADO.

  7. Para salvar suas configurações, selecione Salvar.

Você pode criar um link direto a um painel do QuickSight para permitir que os usuários usem a federação do IAM para se conectar diretamente a painéis específicos. Para isso, você anexa o sinalizador do estado de retransmissão e o URL do painel ao URL de logon único do Okta, conforme descrito a seguir.

Para criar um link direto a um painel do QuickSight para logon único
  1. Localize o URL de logon único (federação do IAM) da aplicação do Okta no arquivo metadata.xml que você baixou no início do tutorial. Você encontra o URL quase no fim do arquivo, no elemento chamado md:SingleSignOnService. O atributo chama-se Location e o valor termina com /sso/saml, como mostrado no exemplo a seguir.

    <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://dev-0000001.okta.com/app/amazon_aws/abcdef2hATwiVft645d5/sso/saml"/>
  2. Pegue o valor do URL da federação do IAM e acrescente ?RelayState= seguido pelo URL do seu painel do QuickSight. O parâmetro RelayState retransmite o estado (o URL) em que o usuário estava quando foi redirecionado ao URL de autenticação.

  3. À nova federação do IAM com o estado de retransmissão adicionado, anexe o URL do seu painel do QuickSight. O URL resultante deve ser semelhantes ao mostrado a seguir.

    https://dev-1-----0.okta.com/app/amazon_aws/abcdef2hATwiVft645d5/sso/saml?RelayState=https://us-west-2.quicksight.aws.amazon.com/sn/analyses/12a12a2a-121a-212a-121a-abcd12abc1ab
  4. Se o link criado não abrir, verifique se você está usando o URL da federação do IAM mais recente do metadata.xml. Verifique também se o nome de usuário que você usa para fazer login não está atribuído em mais de um aplicativo do Okta da federação do IAM.