O Zendesk oferece suporte ao acesso por single sign-on corporativo às contas Zendesk por meio de Secure Assertion Markup Language (SAML), Token da web JSON (JWT) e OpenID Connect (IODC). Com o SSO, os usuários usam o formulário de acesso da empresa deles como acesso único a vários sistemas e provedores de serviços, inclusive os produtos Zendesk.
Como administrador do Zendesk, sua função consiste em ativar as opções de SSO. Este artigo descreve como ativar várias configurações de single sign-on com SAML que podem ser usadas para autenticar membros da equipe (administradores e agentes, incluindo agentes light e colaboradores), usuários finais ou ambos.
Este artigo contém os seguintes tópicos:
- Como funciona o SSO com SAML no Zendesk
- Requisitos para ativação de SSO com SAML
- Ativação de SSO com SAML
- Atribuição de SSO com SAML a usuários
- Gerenciamento de usuários no Zendesk após ativação de SSO com SAML
- Alternância de métodos de autenticação
A equipe de TI de uma empresa em geral é responsável pela configuração e pelo gerenciamento do sistema de autenticação com SAML da empresa. Sua função é implementar o SSO para o Zendesk no sistema. Indique o tópico deste artigo para a equipe:
Artigos relacionados:
Como funciona o SSO com SAML no Zendesk
O SAML no Zendesk funciona da mesma maneira que em outros provedores de serviços. Um caso de uso comum é uma empresa na qual toda a autenticação dos usuários é gerenciada por um sistema de autenticação corporativo como Active Directory ou LDAP (chamados genericamente de provedor de identidade ou IdP). O Zendesk estabelece uma relação de confiança com o provedor de identidade e permite que ele autentique e conceda acesso aos usuários às contas Zendesk.
Um caso de uso comum é um usuário que entra no sistema corporativo dele no início do dia de trabalho. Depois de entrar, ele tem acesso a outros aplicativos e serviços corporativos (como e-mail ou Zendesk Support) sem precisar acessar separadamente esses serviços.
Se um usuário tentar acessar diretamente uma conta do Zendesk, ele será redirecionado ao servidor ou serviço de SAML para autenticação. Depois de autenticado, o usuário é redirecionado de volta à conta do Zendesk e conectado automaticamente.
Outro fluxo de trabalho aceito é dar aos usuários acesso ao Zendesk depois de se conectarem pelo website de sua empresa. Quando um usuário entra no website usando as credenciais do website, o website envia uma solicitação para o provedor de identidade para validar o usuário. Em seguida, o website envia a resposta do provedor para o servidor SAML, que a encaminha para a sua conta do Zendesk, que concede uma sessão para o usuário.
Requisitos para ativação de SSO com SAML
Reúna-se com a equipe de sua empresa responsável pelo sistema de autenticação com SAML (em geral, a equipe de TI) para assegurar que a empresa atende aos requisitos a seguir:
-
A empresa tem um servidor SAML com usuários provisionados ou conectados a um repositório de identidades como o Microsoft Active Directory ou o LDAP. As opções incluem o uso de um servidor SAML interno, como o OpenAM, ou de um serviço de SAML como Okta, OneLogin ou PingIdentity.
-
Se usar um servidor Active Directory Federation Services (ADFS), a autenticação com formulários precisa estar ativada. O Zendesk não é compatível com a Autenticação Integrada do Windows (WIA). Para obter mais informações, consulte Configuração do single sign-on usando Active Directory com ADFS e SAML.
- O tráfego associado ao Zendesk é via HTTPS, não HTTP.
- A URL de acesso remoto do seu servidor SAML (algumas vezes chamada de URL de single sign-on de SAML).
- (Opcional) A URL de saída remota para onde o Zendesk possa redirecionar os usuários após saírem do Zendesk.
- (Opcional) Uma lista de intervalos de IP para redirecionar os usuários à opção de entrada apropriada. Os usuários que fazem solicitações dos intervalos de IP especificados são encaminhados ao formulário de acesso com autenticação com SAML remota. Os usuários que fazem solicitações de endereços IP fora dos intervalos especificados são encaminhados ao formulário normal de acesso do Zendesk. Se você não especificar um intervalo, todos os usuários são redirecionados ao formulário de acesso com autenticação remota.
- A impressão digital SHA2 do certificado SAML do seu servidor SAML. Os certificados X.509 são aceitos e devem estar no formato PEM ou DER, porém você ainda precisará fornecer uma impressão digital SHA2 deles. Não há limite máximo para o tamanho da impressão digital SHA.
A equipe de TI poderá exigir informações adicionais da Zendesk para configurar a implementação do SAML. Indique à equipe a Planilha de implementação técnica deste artigo.
Depois de confirmar que atende aos requisitos e têm todas as informações necessárias, você estará tudo pronto para ativar o SSO com SAML.
Ativação de SSO com SAML
Os administradores podem ativar o single sign-on com SAML apenas para usuários finais, apenas para membros da equipe (incluindo agentes light e colaboradores) ou para os dois grupos. É possível criar várias configurações de SSO com SAML. Antes de começar, obtenha as informações necessárias da equipe de TI de sua empresa. Consulte Requisitos para ativação de SSO com SAML.
Como ativar o single sign-on com SAML no Zendesk
- Na Central de administração, clique em Conta na barra lateral e selecione Segurança > Single sign-on.
- Clique em Criar configuração de SSO e selecione SAML.
- Insira um Nome da configuração único.
- Na URL SAML SSO, insira a mesma URL de acesso remoto de seu servidor SAML.
- Insira a Impressão digital do certificado SHA-256. Isso é necessário para que nós nos comuniquemos com seu servidor SAML.
- (Opcional) Em URL de saída remota, insira uma URL de saída para onde os usuários devem ser redirecionados após saírem do Zendesk.
- (Opcional) Em Intervalos de IP, insira uma lista de intervalos de IP se você deseja redirecionar os usuários à opção de acesso apropriada.
Os usuários que fazem solicitações dos intervalos de IP especificados são encaminhados ao formulário de acesso com autenticação com SAML remota. Os usuários que fazem solicitações de endereços IP fora dos intervalos especificados são encaminhados ao formulário normal de acesso do Zendesk. Não especifique um intervalo se quiser que todos os usuários sejam redirecionados ao formulário de acesso com autenticação remota.
- Selecione Mostrar botão quando os usuários entrarem para adicionar um botão Continuar com o SSO à página de entrada do Zendesk.
Você pode personalizar o rótulo do botão inserindo um valor no campo Nome do botão. Rótulos de botão personalizados são úteis se você adicionar vários botões de SSO à página de entrada. Consulte Adição de botões "Continuar com o SSO" à página de entrada do Zendesk para obter mais informações.
- Clique em Salvar.
Por padrão, as configurações de SSO do Enterprise estão inativas. É preciso atribuir a configuração de SSO a usuários para ativá-la.
Atribuição de SSO com SAML a usuários
Depois de criar a configuração de SSO com SAML, atribua-a usuários finais, membros da equipe ou ambos para ativá-la.
Como atribuir uma configuração de SSO a membros da equipe ou usuários finais
- Abra as configurações de segurança para membros da equipe ou usuários finais.
- Na Central de administração, clique em Conta na barra lateral e selecione Segurança > Autenticação de membro da equipe.
- Na Central de administração, clique em Conta na barra lateral e selecione Segurança > Autenticação de usuário final.
- Selecione Autenticação externa para mostrar as opções de autenticação.
- Selecione os nomes das configurações de SSO que você deseja usar.
O single sign-on pode não atender a todos os casos de uso, então a autenticação do Zendesk permanece ativa por padrão.
- Selecione como você gostaria de permitir a entrada de usuários.
A opção Deixar que eles escolham permite que os usuários entrem usando qualquer método de autenticação ativo. Consulte Diferentes maneiras de permitir que usuários entrem no Zendesk.
A opção Redirecionar para o SSO apenas permite que usuários se autentiquem usando a configuração de SSO principal. Os usuários não veem opções adicionais de entrada, mesmo que essas opções de autenticação estejam ativas. Quando você seleciona Redirecionar para o SSO, o campo SSO principal aparece para que selecione a configuração de SSO principal.
- Clique em Salvar.
Gerenciamento de usuários no Zendesk após ativação de SSO com SAML
Depois de ativar o single sign-on com SAML no Zendesk, as alterações feitas em usuários fora do Zendesk não são sincronizadas automaticamente com sua conta do Zendesk. Os usuários são atualizados no Zendesk no ponto de autenticação. Por exemplo, se um usuário for adicionado ao seu sistema interno, ele será adicionado à sua conta quando entrar no Zendesk. Quando são feitas alterações nos dados do usuário no sistema interno (como nome ou endereço de e-mail), os atributos compartilhados na carga do SAML são atualizados no Zendesk. Se um usuário for apagado do sistema interno, ele não poderá mais acessar o Zendesk. No entanto, a conta dele ainda existirá no Zendesk.
Por padrão, os únicos dados do usuário armazenados no Zendesk quando o single sign-on está ativado são o nome e o endereço de e-mail do usuário. O Zendesk não armazena senhas. Por isso, você deve desativar as notificações automáticas por e-mail do Zendesk sobre senhas.
Para melhorar a experiência do cliente, você pode querer armazenar no Zendesk outros dados além do nome e do endereço de e-mail do usuário. Consulte Obtenção de dados do usuário adicionais.
Desativação de e-mails de notificação de senhas do Zendesk
Um perfil de usuário do Zendesk é criado para qualquer novo usuário que acesse sua conta do Zendesk por meio de single sign-on com SAML, JWT ou OpenID Connect (OIDC). Como os usuários são autenticados por meio de um IdP com uma senha que não é do Zendesk, o perfil é criado sem uma senha porque eles não precisam entrar diretamente no Zendesk.
Como os novos usuários que entram no Zendesk por meio de SSO são verificados com um IdP, eles não recebem notificações por e-mail para verificar suas respectivas contas. No entanto, ainda é recomendável desativar essas notificações por e-mail automatizadas para evitar que elas sejam enviadas caso o IdP não verifique o usuário com sucesso. No caso do SSO, a verificação do usuário deve sempre ocorrer por meio do IdP.
Como desativar e-mails de notificação de senha
- Na Central de administração, clique em Pessoas na barra lateral e selecione Configuração > Usuários finais.
- Na seção E-mails para a conta, desmarque a opção Também enviar um e-mail de boas-vindas quando um novo usuário é criado por um agente ou administrador.
- Desmarque a opção Permitir que os usuários alterem suas senhas.
Alternância de métodos de autenticação
se você utilizar um método de SSO de terceiros para criar e autenticar usuários no Zendesk e depois trocar para a autenticação do Zendesk, esses usuários não terão uma senha disponível para o acesso. Para que tenham acesso, peça que esses usuários redefinam suas próprias senhas na página de entrada do Zendesk.
Planilha de trabalho para implementação técnica
Esta seção se destina à equipe responsável na empresa pelo sistema de autenticação com SAML da empresa. Ela apresenta detalhes sobre a implementação de SSO com SAML do Zendesk.
Tópicos discutidos:
- Dados obrigatórios para a identificação do usuário que está sendo autenticado
- Configuração do provedor de identidade para o Zendesk
- Configuração do servidor de SAML para o Zendesk
- Parâmetros retornados para suas URLs de entrada e saída remotos
- Uso de RelayState para redirecionar usuários após a autenticação
- Resolução de problemas na configuração de SAML do Zendesk
Dados obrigatórios para a identificação do usuário que está sendo autenticado
Quando você implementa o acesso de SSO com SAML em contas do Zendesk, especifica alguns dados para identificar o usuário que está sendo autenticado.
Os tópicos a seguir descrevem os dados que você precisa fornecer:
Especificação do endereço de e-mail do usuário no NameID do assunto do SAML
O Zendesk usa os endereços de e-mail para identificar os usuários de maneira exclusiva. Você precisa especificar o endereço de e-mail do usuário no NameID do assunto do SAML.
Por exemplo:
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">stevejobs@yourdomain.com</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2014-04-23T21:42:47.412Z"/>
</saml:SubjectConfirmation>
</saml:Subject>
Se os atributos de nome e sobrenome não forem fornecidos, a Zendesk usará o nome de usuário do endereço de e-mail fornecido no elemento
como o nome do usuário. A primeira parte de um endereço de e-mail antes do símbolo ''@'' corresponde ao nome de usuário.
Se o nome do usuário do e-mail tiver um ponto nele, então ele será separado como nome e sobrenome. Se não houver nenhum ponto, o nome do usuário completo será usado como nome do usuário no Zendesk. Por exemplo, se o endereço de e-mail
for stanley.yelnats@seudominio.com, o nome do usuário no Zendesk será armazenado como Stanley Yelnats. No entanto, se o endereço de e-mail for stanleyyelnats@seudominio.com, o nome do usuário no Zendesk será armazenado como Stanleyyelnats.
Especificação de dois atributos de usuário obrigatórios na asserção SAML
Se você especificar os atributos givenname e surname, precisará usar o namespace completo, em vez dos nomes amigáveis. Por exemplo, onde o nome amigável possa ser ''surname'', o valor real que precisaria ser especificado para o atributo seria http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
Conceito | Atributo | Descrição | Valor de exemplo |
---|---|---|---|
first name | givenname | O nome desse usuário. Você precisa especificar o namespace completo para esse atributo. |
|
last name | surname | O sobrenome desse usuário. O usuário será criado ou atualizado na instância do Zendesk de acordo com o nome e o sobrenome do usuário. Veja o exemplo abaixo. Você precisa especificar o namespace completo para esse atributo. |
|
Exemplos de nome e sobrenome:
<saml:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname">
<saml:AttributeValue xsi:type="xs:anyType">James</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname">
<saml:AttributeValue xsi:type="xs:anyType">Dietrich</saml:AttributeValue>
</saml:Attribute>
O Zendesk aceita outros atributos de usuário. Converse com o administrador de Zendesk Support sobre os requisitos de dados dele no Support.
Obtenção de dados do usuário adicionais
Os únicos dados do usuário que o Zendesk requer de seu sistema de autenticação são o nome, o sobrenome e o endereço de e-mail do usuário. O nome e o sobrenome são os únicos atributos de nomes que você deve usar para obter as informações sobre o nome de um usuário. No entanto, você pode obter mais dados pedindo à sua equipe de TI que adicione atributos de usuário às asserções de SAML que o provedor de identidades envia ao Zendesk quando os usuários entram.
Uma asserção de SAML contém uma ou mais instruções sobre o usuário. A instrução por si só já é uma decisão de autorização – se foi concedido o acesso ao usuário ou não. Uma outra instrução pode consistir em atributos que descrevem o usuário conectado.
Atributo | Descrição |
---|---|
organization | Nome ou ID de uma organização à qual o usuário será adicionado. O atributo external_id de uma organização não possui suporte. Se a organização não existe no Zendesk, ele não será criado. Ainda assim, o usuário será criado, mas não será adicionado a nenhuma organização. |
organizations | Valores separados por vírgula como org1 , org2 , org3
|
organization_id |
A ID externa da organização na API do Zendesk. Se tanto a organização quanto a organization_id forem fornecidas, a organização será ignorada. Por exemplo: Se você quiser transmitir diversas IDs de organizações ao mesmo tempo, use o atributo organization_ids. As IDs das organizações precisam ser transmitidas em uma cadeia de caracteres, separadas por vírgulas. |
organization_ids |
As IDs externas da organização na API do Zendesk. Use esse atributo ao passar várias IDs de organização ao mesmo tempo. Se tanto as organizações quanto as organization_ids forem fornecidas, as organizações serão ignoradas. Por exemplo: Valores separados por vírgula como |
phone | Um número de telefone, especificado em uma cadeia de caracteres. |
tags | Tags a serem definidas para o usuário. As tags substituirão todas as demais tags existentes no perfil do usuário. |
remote_photo_url | URL para uma foto a ser definida no perfil do usuário. |
locale (para agentes) locale_id (para usuários finais) |
A localidade no Zendesk, especificada como um número. Para obter a lista de números válidos, consulte Localidades nos documentos da API. |
role | A função do usuário. Pode ser definida como end-user, agent ou admin. O padrão é "end-user". |
custom_role_id | Aplicável apenas se o valor do atributo “role” acima for “agent”. Você pode obter os IDs das suas funções personalizadas com a API de funções personalizadas. |
external_id | Um ID de usuário do seu sistema, se seus usuários forem identificados por outros meios que não um endereço de e-mail ou se o endereço de e-mail deles estiver sujeito a alterações. Especificado como uma cadeia de caracteres. |
user_field_<key> | Um valor para o campo de usuário personalizado no Zendesk Support. Consulte Inclusão de campos personalizados aos usuários. <key> é a chave de campo atribuída ao campo do usuário personalizado no Zendesk Support. Por exemplo: user_field_employee_number onde employee_number é a chave de campo no Zendesk. Quando você envia um valor null ou uma cadeia de caracteres vazia no valor do atributo, o valor do campo personalizado definido no Zendesk Support é removido.
|
Nome amigável | Nome formal SAML2 |
---|---|
ou (unidade de organização) | urn:oid:2.5.4.11 |
displayName | urn:oid:2.16.840.1.113730.3.1.241 |
Configuração do provedor de identidade para o Zendesk
Atributo | Valor |
---|---|
entityID | https://seusubdominio.zendesk.com |
AudienceRestriction | seusubdominio.zendesk.com |
Em ambos os valores, substitua seusubdominio pelo subdomínio do Zendesk Support. Se não tiver certeza do subdomínio, pergunte ao administrador do Zendesk.
O Zendesk faz cumprir o atributo AudienceRestriction
.
Configuração do servidor de SAML para o Zendesk
Alguns servidores SAML podem exigir as seguintes informações durante a configuração de integração com o Zendesk:
-
A URL do Assertion Consumer Service (ACS): especifique https://seusubdominio.zendesk.com/access/saml (diferencia maiúsculas e minúsculas), onde “accountname” é seu subdomínio do Support
-
Redirecione à URL de Single Sign-on com SAML: use HTTP POST
-
Algoritmo de hash (ADFS): o Zendesk oferece suporte ao algoritmo SHA-2 quando os Serviços de Federação do Active Directory (ADFS) são usados
Parâmetros retornados para suas URLs de entrada e saída remotos
Ao redirecionar usuários para seu sistema de autenticação, o Zendesk anexa os parâmetros a seguir às URLs de entrada e saída remotos.
Atributo | Descrição |
---|---|
brand_id | A marca da Central de Ajuda na qual o usuário estava quando tentou acessar o sistema. Para obter mais informações, consulte Criação de uma Central de Ajuda para uma de suas marcas. |
Atributo | Descrição |
---|---|
e-mail do usuário que está saindo. | |
external_id | Um identificador exclusivo de seu sistema, armazenado no perfil de usuário do Zendesk. |
brand_id | A marca da Central de Ajuda na qual o usuário estava quando se desconectou. Para obter mais informações, consulte Criação de uma Central de Ajuda para uma de suas marcas. |
Caso você prefira não receber e-mails e informações de identificação externas na URL de saída, peça ao administrador de seu Zendesk para especificar parâmetros em branco no campo URL de saída remota na interface do administrador. Consulte Ativação de SSO com SAML. Por exemplo, https://www.seudominio.com/usuario/signout/?email=&external_id=.
Uso de RelayState para redirecionar usuários após a autenticação
O parâmetro RelayState
é usado para manter o estado das solicitações de origem ao longo do processo de SSO. Ele especifica a URL original que o usuário estava tentando acessar antes do processo de SSO ser iniciado. Após a conclusão do processo de SSO, você pode encaminhar o usuário para a URL RelayState
para proporcionar uma experiência otimizada.
O parâmetro RelayState
é opcional em SAML. Se você não o incluir na solicitação, o usuário será direcionado para o local padrão com base no tipo de usuário.
- Para agentes, o local padrão é o painel do agente no Zendesk Support.
- Para usuários finais, o local padrão é a página inicial da central de ajuda de sua marca padrão.
Quando um usuário acessa um link do Zendesk que exige o acesso, e você está usando SAML, o Zendesk redireciona o usuário para a configuração SSO definida por você e, junto disso, envia a URL pela qual o usuário veio no parâmetro RelayState
.
Por exemplo:
https://zendesk.okta.com/app/zendesk/exladafgzkYLwtYra2r7/sso/saml?RelayState=https%3A%2F%2Fyoursubdomain.zendesk.com%2Fagent%2Ffilters%2F253389123456&brand_id=361234566920&SAMLRequest=[samlloginrequesthere]
Ao construir a solicitação de autenticação SAML, adicione o parâmetro RelayState
e defina o valor para a URL enviada do Zendesk na resposta SAML.
O parâmetro RelayState
b de exemplo redireciona os usuários para https://seusubdominio.zendesk.com/agent/filters/253389123456:
SAMLResponse=[SAMLpayloadhere]&RelayState=https%3A%2F%2Fyoursubdomain.zendesk.com%2Fagent%2Ffilters%2F253389123456
Resolução de problemas na configuração de SAML do Zendesk
Estes são os metadados do Zendesk SAML 2.0:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<EntityDescriptor entityID="https://yoursubdomain.zendesk.com" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
<AssertionConsumerService index="1" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://yoursubdomain.zendesk.com/access/saml"/> <!-- Note: replace 'accountname' with your Zendesk subdomain -->
</SPSSODescriptor>
</EntityDescriptor>
O Zendesk espera uma asserção de SAML semelhante a esta:
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="s2202bbbb
afa9d270d1c15990b738f4ab36139d463" InResponseTo="_e4a78780-35da-012e-8ea7-005056
9200d8" Version="2.0" IssueInstant="2011-03-21T11:22:02Z" Destination="https://yoursubdomain.zendesk.com/access/saml">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">myidp.entity.id
</saml:Issuer>
<samlp:Status xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<samlp:StatusCode xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
Value="urn:oasis:names:tc:SAML:2.0:status:Success">
Observação: substitua “accountname” no atributo Destination
por seu subdomínio do Zendesk.
O Zendesk espera que os atributos de usuário sejam especificados numa instrução de atributo da asserção (
), como neste exemplo:
<saml:AttributeStatement>
<saml:Attribute Name="organization">
<saml:AttributeValue xsi:type="xs:string">Acme Rockets</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="tags">
<saml:AttributeValue xsi:type="xs:string">tag1 tag2</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="phone">
<saml:AttributeValue xsi:type="xs:string">555-555-1234</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="role">
<saml:AttributeValue xsi:type="xs:string">agent</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="custom_role_id">
<saml:AttributeValue xsi:type="xs:string">12345</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
Consulte os nomes e as descrições dos atributos de usuário aceitos pelo Zendesk na tabela do item Obtenção de dados do usuário adicionais acima. Observe que o namespace completo não é aceito para atributos de usuário opcionais.