Configurar SAML com IAM para Amazon Connect - Amazon Connect

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á.

Configurar SAML com IAM para Amazon Connect

O Amazon Connect oferece suporte à federação de identidades com Security Assertion Markup Language (SAML) 2.0 com AWS IAM para habilitar a autenticação única (SSO) na web de sua organização para a instância do Amazon Connect. Isso permite que os usuários façam login em um portal em sua organização hospedado por um provedor de identidades (IdP) compatível com SAML 2.0 e façam login em uma instância do Amazon Connect com uma experiência de autenticação única sem precisar fornecer credenciais separadas para o Amazon Connect.

Observações importantes

Antes de começar, verifique o seguinte:

  • Essas instruções não se aplicam às implantações do Amazon Connect Global Resiliency. Para obter informações aplicáveis ao Amazon Connect Global Resiliency, consulte Integre seu provedor de identidade (IdP) com um endpoint de login do Amazon Connect Global Resiliency SAML.

  • Escolher a autenticação baseada em SAML 2.0 como método de gerenciamento de identidades para a instância do Amazon Connect requer a configuração da federação do AWS Identity and Access Management.

  • O nome de usuário no Amazon Connect deve corresponder ao atributo do SAML RoleSessionName especificado na resposta do SAML retornada pelo provedor de identidades.

  • O Amazon Connect não oferece suporte para federação reversa. Ou seja, você não pode fazer login diretamente no Amazon Connect. Se você tentasse, receberia uma mensagem Sessão expirada. A autenticação deve ser feita a partir do provedor de identidades (IdP) e não do provedor de serviços (SP) (Amazon Connect).

  • Por padrão, a maioria dos provedores de identidades usa o endpoint de login da AWS global como o Application Consumer Service (ACS), que está hospedado no Leste dos EUA (Norte da Virgínia). Recomendamos substituir esse valor para usar o endpoint regional que corresponde à Região da AWS em que sua instância foi criada.

  • Todos os nomes de usuário do Amazon Connect diferenciam maiúsculas de minúsculas, mesmo ao usar SAML.

  • Se você tiver instâncias antigas do Amazon Connect que foram configuradas com SAML e precisar atualizar o domínio do Amazon Connect, consulte Configurações pessoais.

Visão geral do uso do SAML com o Amazon Connect

O diagrama a seguir mostra a ordem na qual as etapas acontecem para solicitações SAML para autenticar os usuários e realizar a federação com o Amazon Connect. Não se trata de um fluxograma para um modelo de ameaça.

Visão geral do fluxo de solicitações de autenticação SAML com o Amazon Connect.

As solicitações de SAML percorrem as etapas a seguir:

  1. O usuário navega em um portal interno que inclui um link para fazer login no Amazon Connect. O link é definido no provedor de identidade.

  2. O serviço de federação solicita autenticação do armazenamento de identidades da organização.

  3. O armazenamento de identidades autentica o usuário e retorna a resposta de autenticação ao serviço de federação.

  4. Quando a autenticação for bem-sucedida, o serviço de federação publicará a declaração do SAML no navegador do usuário.

  5. O navegador do usuário publica a declaração SAML no endpoint SAML de login da AWS (https://signin.aws.amazon.com/saml). O login da AWS recebe a solicitação SAML, processa a solicitação, autentica o usuário e inicia um redirecionamento do navegador para o endpoint do Amazon Connect com o token de autenticação.

  6. Com o token de autenticação da AWS, o Amazon Connect autoriza o usuário e abre o Amazon Connect no navegador dele.

Habilitar a autenticação baseada em SAML para o Amazon Connect

As etapas a seguir são necessárias para habilitar e configurar a autenticação em SAML para usar com a instância do Amazon Connect:

  1. Crie uma instância do Amazon Connect e selecione a autenticação baseada em SAML 2.0 para o gerenciamento de identidades.

  2. Habilitar a federação de SAML entre o provedor de identidades e a AWS

  3. Adicione usuários do Amazon Connect à sua instância do Amazon Connect. Faça login na instância usando a conta de administrador criada quando você criou a instância. Acesse a página User Management (Gerenciamento de usuários) e adicione usuários.

    Importante
    • Para obter uma lista de caracteres permitidos em nomes de usuário, consulte a documentação da propriedade Username na ação CreateUser.

    • Devido à associação de um usuário do Amazon Connect e um perfil do AWS IAM, o nome do usuário deve corresponder exatamente ao RoleSessionName conforme configurado com a integração de federação do AWS IAM, que normalmente acaba sendo o nome do usuário em seu diretório. O formato do nome de usuário deve corresponder à interseção das condições de formato do RoleSessionName e de um usuário do Amazon Connect, conforme mostrado no diagrama a seguir:

      Veja um diagrama do rolesessionname e do usuário do Amazon Connect.
  4. Configure o provedor de identidade para as declarações SAML, a resposta de autenticação e o estado de retransmissão. Os usuários fazem login em seu provedor de identidade. Em seguida, eles são redirecionados para a sua instância do Amazon Connect. O perfil do IAM é usado para federação com a AWS, que permite o acesso ao Amazon Connect.

Selecionar autenticação baseada em SAML 2.0 durante a criação de instância

Quando você está criando a instância do Amazon Connect, selecione a opção de autenticação baseada em SAML 2.0 para o gerenciamento de identidades. Na segunda etapa, quando você cria o administrador para a instância, o nome de usuário que você especifica deve corresponder exatamente a um nome de usuário em seu diretório de rede existente. Não há opção para especificar uma senha para o administrador porque as senhas são gerenciadas por meio de seu diretório existente. O administrador é criado no Amazon Connect e recebe o perfil de segurança Admin.

Você pode fazer login em sua instância do Amazon Connect por meio de seu IdP, usando a conta de administrador para adicionar outros usuários.

Habilitar a federação de SAML entre o provedor de identidades e a AWS

Para habilitar a autenticação baseada em SAML do Amazon Connect, você deve criar um provedor de identidade no console do IAM. Para obter mais informações, consulte Habilitar usuários federados do SAML 2.0 para acessar o Console de Gerenciamento da AWS.

O processo para criação de um provedor de identidades para a AWS é o mesmo no Amazon Connect. A etapa 6 do diagrama de fluxo acima mostra que o cliente é enviado à sua instância do Amazon Connect, em vez de ao AWS Management Console.

As etapas necessárias para habilitar a federação de SAML com a AWS incluem:

  1. Criar um provedor SAML na AWS. Para obter mais informações, consulte Criar provedores de identidade SAML.

  2. Criar um perfil do IAM para a federação do SAML 2.0 com o AWS Management Console. Crie apenas uma função para federação (apenas uma função é necessária e usada para federação). O perfil do IAM determina quais permissões os usuários que fazem login por meio de seu provedor de identidade têm na AWS. Neste caso, as permissões são para acessar o Amazon Connect. Você pode controlar as permissões para os recursos do Amazon Connect usando perfis de segurança no Amazon Connect. Para obter mais informações, consulte Criar uma função para a federação do SAML 2.0 (console).

    Na etapa 5, escolha Permitir acesso programático e do Console de Gerenciamento da AWS. Crie a política de confiança descrita no tópico do procedimento Como se preparar para criar uma função para federação do SAML 2.0. Em seguida, crie uma política para atribuir permissões à sua instância do Amazon Connect. As permissões começam na etapa 9 do procedimento Como criar uma função para a federação do SAML.

    Para criar uma política para atribuir permissões à função do IAM para a federação do SAML
    1. Na página Attach permissions policy (Anexar política de permissões), escolha Create policy (Criar política).

    2. Na página Create policy (Criar política), escolha JSON.

    3. Copie um dos seguintes exemplos de política e cole-o no editor de política JSON, substituindo qualquer texto existente. Você pode usar uma das políticas para habilitar a federação do SAML ou personalizá-las para seus requisitos específicos.

      Use esta política para habilitar a federação para todos os usuários em uma instância específica do Amazon Connect. Para a autenticação com SAML, substitua o valor de Resource do ARN pela instância que você criou:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": "connect:GetFederationToken", "Resource": [ "arn:aws:connect:us-east-1:361814831152:instance/2fb42df9-78a2-2e74-d572-c8af67ed289b/user/${aws:userid}" ] } ] }

      Use esta política para habilitar a federação para uma instância específica do Amazon Connect. Substitua o valor do connect:InstanceId do ID da instância pela sua instância.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement2", "Effect": "Allow", "Action": "connect:GetFederationToken", "Resource": "*", "Condition": { "StringEquals": { "connect:InstanceId": "2fb42df9-78a2-2e74-d572-c8af67ed289b" } } } ] }

      Use esta política para habilitar a federação para várias instâncias. Observe os colchetes ao redor dos IDs de instância listados.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement2", "Effect": "Allow", "Action": "connect:GetFederationToken", "Resource": "*", "Condition": { "StringEquals": { "connect:InstanceId": [ "2fb42df9-78a2-2e74-d572-c8af67ed289b", "1234567-78a2-2e74-d572-c8af67ed289b"] } } } ] }
    4. Após criar a política, selecione Next: Review (Próximo: revisar). Volte para a etapa 10 do procedimento Como criar uma função para a federação baseada em SAML no tópico Criar uma função para a federação do SAML 2.0 (Console).

  3. Configurar sua rede como um provedor SAML para a AWS. Para obter mais informações, consulte Habilitar usuários federados do SAML 2.0 para acessar o Console de Gerenciamento da AWS.

  4. Configure declarações do SAML para a resposta de autenticação. Para obter mais informações, consulte Configuração de declarações do SAML para a resposta de autenticação.

  5. Para o Amazon Connect, deixe o URL de início da aplicação em branco.

  6. Substitua o URL do Application Consumer Service (ACS) em seu provedor de identidades para usar o endpoint regional que coincide com a Região da AWS da instância do Amazon Connect. Para obter mais informações, consulte Configurar o provedor de identidades para usar endpoints SAML regionais.

  7. Configure o estado de retransmissão do seu provedor de identidade para apontar para a instância do Amazon Connect. A URL a ser usada para o estado de retransmissão é composta da seguinte forma:

    https://region-id.console.aws.amazon.com/connect/federate/instance-id

    Substitua o region-id pelo nome da região na qual você criou a instância do Amazon Connect, como us-east-1 para Leste dos EUA (Norte da Virgínia). Substitua o instance-id pelo ID da instância.

    Para uma instância do GovCloud, o URL é https://console.amazonaws-us-gov.com/:

    • https://console.amazonaws-us-gov.com/connect/federate/instance-id

    nota

    Você pode encontrar o ID da instância escolhendo o alias de instância no console do Amazon Connect. O ID da instância é o conjunto de números e letras após '/instance' no Instance ARN (ARN da instância) exibido na página Overview (Visão geral). Por exemplo, o ID da instância no seguinte ARN de instância é 178c75e4-b3de-4839-a6aa-e321ab3f3770.

    arn:aws:connect:us-east-1:450725743157:instance/178c75e4-b3de-4839-a6aa-e321ab3f3770

Configurar o provedor de identidades para usar endpoints SAML regionais

Para oferecer a melhor disponibilidade, recomendamos usar o endpoint SAML regional que coincide com a instância do Amazon Connect em vez do endpoint global padrão.

As etapas a seguir são independentes de IdP; elas funcionam para qualquer IdP SAML (por exemplo, Okta, Ping, OneLogin, Shibboleth, ADFS, AzureAD e muito mais).

  1. Atualize (ou substitua) o URL do Assertion Consumer Service (ACS). Há duas maneiras de fazer isso:

    • Opção 1: faça o download dos metadados do SAML da AWS e atualize o atributo Location para a região de sua preferência. Carregue essa nova versão dos metadados do SAML da AWS em seu IdP.

      Veja a seguir um exemplo de uma revisão:

      <AssertionConsumerService index="1" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://region-id.signin.aws.amazon.com/saml"/>

    • Opção 2: substitua o URL do AssertionConsumerService (ACS) em seu IdP. Para IdPs como o Okta, que fornecem integrações da AWS pré-configuradas, você pode substituir o URL do ACS no console de administração da AWS. Use o mesmo formato para substituir uma região de sua preferência (por exemplo, https://region-id.signin.aws.amazon.com/saml).

  2. Atualize a política de confiança da função associada:

    1. Essa etapa precisa ser executada para cada função em cada conta que confia em determinado provedor de identidades.

    2. Edite a relação de confiança e substitua a condição SAML:aud singular por uma condição com vários valores. Por exemplo:

      • Padrão: "SAML:aud": "https://signin.aws.amazon.com/saml".

      • Com modificações: "SAML:aud": [ "https://signin.aws.amazon.com/saml", "https://region-id.signin.aws.amazon.com/saml" ]

    3. Faça essas alterações nas relações de confiança com antecedência. Elas não devem ser feitas como parte de um plano durante um incidente.

  3. Configure um estado de retransmissão para a página de console específica da região.

    1. Se você não fizer essa etapa final, não há garantia de que o processo de login do SAML específico da região encaminhe o usuário para a página de login do console na mesma região. Essa etapa é mais variada por provedor de identidades, mas há blogs (por exemplo, How to Use SAML to Automatically Direct Federated Users to a Specific AWS Management Console Page) que mostram o uso do estado de retransmissão para obter links diretos.

    2. Usando a técnica/os parâmetros apropriados para seu IdP, defina o estado de retransmissão para o endpoint do console correspondente (por exemplo, https://region-id.console.aws.amazon.com/connect/federate/instance-id).

nota
  • Certifique-se de que o STS não esteja desabilitado em regiões adicionais.

  • Certifique-se de que nenhum SCP esteja impedindo ações de STS em regiões adicionais.

Use um destino em seu URL de estado de retransmissão

Quando você configurar o estado de retransmissão para o provedor de identidades, poderá usar o argumento de destino no URL para navegar os usuários para uma página específica na sua instância do Amazon Connect. Por exemplo, use um link para abrir a CCP diretamente quando um agente fizer login. O usuário deve receber um perfil de segurança que conceda acesso a essa página na instância. Por exemplo, para enviar agentes à CCP, use um URL semelhante ao mencionado abaixo para o estado de retransmissão. Você deve usar a codificação de URL para o valor de destino usado na URL:

  • https://us-east-1.console.aws.amazon.com/connect/federate/instance-id?destination=%2Fccp-v2%2Fchat&new_domain=true

Outro exemplo de URL válido é:

  • https://us-east-1.console.aws.amazon.com/connect/federate/instance-id?destination=%2Fagent-app-v2

Para uma instância do GovCloud, o URL é https://console.amazonaws-us-gov.com/. Então, o endereço seria:

  • https://console.amazonaws-us-gov.com/connect/federate/instance-id?destination=%2Fccp-v2%2Fchat&new_domain=true

Se você quiser configurar o argumento de destino para um URL fora da instância do Amazon Connect, como seu próprio site personalizado, primeiro adicione esse domínio externo às origens aprovadas da conta. Por exemplo, realize as etapas nesta ordem:

  1. No console do Amazon Connect, adicione https://seu-site-personalizado.com às origens aprovadas. Para obter instruções, consulte Usar uma lista de permissões para aplicações integradas.

  2. No provedor de identidade, configure o estado de retransmissão para https://your-region.console.aws.amazon.com/connect/federate/instance-id?destination=https%3A%2F%2Fyour-custom-website.com

  3. Quando s atendentes fazem login, eles são direcionados diretamente para https://seu-site-personalizado.com.

Adicionar usuários à instância do Amazon Connect

Adicione usuários à instância na qual você se conecta, garantindo que os nomes de usuário correspondam exatamente aos nomes de usuários do diretório existente. Se os nomes não corresponderem, os usuários poderão fazer login no provedor de identidades, mas não no Amazon Connect pois não existe nenhuma conta de usuário com esse nome de usuário no Amazon Connect. Você pode adicionar usuários manualmente na página User management (Gerenciamento de usuários) ou pode fazer upload de usuários em massa com o modelo CSV. Depois de adicionar os usuários ao Amazon Connect, você poderá atribuir perfis de segurança e outras configurações do usuário.

Quando um usuário faz login no provedor de identidades, mas nenhuma conta com o mesmo nome do usuário é encontrada no Amazon Connect, a seguinte mensagem de Acesso negado é exibida.

Mensagem de erro exibida quando um usuário tenta fazer login no Amazon Connect por meio do provedor de identidade quando o nome de usuário não está no Amazon Connect.
Fazer upload em massa de usuários com o modelo

Você pode importar os usuários adicionando-os a um arquivo CSV. Em seguida, você pode importar o arquivo CSV para a sua instância, que adicionará todos os usuários ao arquivo. Se você adicionar usuários carregando um arquivo CSV, certifique-se de usar o modelo para usuários do SAML. Você pode encontrá-lo na página Gerenciamento de usuários no Amazon Connect. Um modelo diferente é usado para autenticação baseada em SAML. Se o modelo foi obtido por download anteriormente, você deve fazer download da versão disponível na página User management (Gerenciamento de usuário) depois de configurar a instância com autenticação baseada em SAML. O modelo não deve incluir uma coluna para e-mail ou senha.

Login de usuário e duração de sessão do SAML

Ao usar o SAML no Amazon Connect, os usuários devem fazer login no Amazon Connect por meio do seu provedor de identidades (IdP). Seu IdP é configurado para se integrar à AWS. Após a autenticação, um token de sessão é criado. Em seguida, o usuário é redirecionado para a sua instância do Amazon Connect e automaticamente conectado ao Amazon Connect usando a autenticação única.

Como prática recomendada, você também deve definir um processo para fazer logout dos usuários do Amazon Connect quando eles terminam de usar o Amazon Connect. Eles devem fazer logout do Amazon Connect e do provedor de identidade. Se não, a próxima pessoa que fizer login no mesmo computador poderá fazer login no Amazon Connect sem uma senha, pois o token das sessões anteriores ainda será válido pela duração da sessão, por padrão, 10 horas. É válido por 12 horas.

Sobre a expiração da sessão

As sessões do Amazon Connect expiram 12 horas depois que um usuário faz login. Após 12 horas, os usuários são automaticamente desconectados, mesmo que eles estejam atualmente em uma chamada. Se os atendentes permanecerem conectados por mais de 12 horas, eles precisarão atualizar o token da sessão antes que ele expire. Para criar uma nova sessão, os atendentes precisam fazer logout do Amazon Connect e do IdP e, depois, fazer login novamente. Isso redefine o temporizador definido no token de sessão para que os agentes não sejam desconectados durante um contato com um cliente. Quando uma sessão expira enquanto um usuário está conectado, a seguinte mensagem é exibida. Para usar o Amazon Connect novamente, o usuário precisa fazer login no provedor de identidade.

Mensagem de erro exibida quando a sessão expira para um usuário baseado em SAML.
nota

Se vir a mensagem Sessão expirada ao fazer login, provavelmente você só precisará atualizar o token da sessão. Vá até o provedor de identidade e faça login. Atualize a página do Amazon Connect. Se você continuar recebendo essa mensagem, entre em contato com a equipe de TI.