SAML SSO para aplicações JIRA Data Center
A SAML (Security Assertion Markup Language) é um formato de dados baseado em XML que permite a um serviço trocar dados de autorização com um IdP (provedor de identidade). O caso de uso mais comum é permitir a um usuário entrar em várias aplicações de software usando os mesmos detalhes de autenticação, em geral, um nome de usuário e senha. Isso é chamado de SSO (logon único).
Oferecemos a funcionalidade para as aplicações JIRA Software Data Center e JIRA Service Desk Data Center para conexão ao seu IdP, dessa forma, você pode oferecer uma experiência de SSO aos seus usuários. Isso abrange somente autenticação. O acesso da aplicação e quaisquer autorizações necessárias, como a garantia de que os usuários pertençam aos grupos/funções adequados e tenham as permissões necessárias, devem ser configurados no diretório do usuário e/ou na própria aplicação.
Configurar logon único
Você precisará configurar sua aplicação e seu IdP para fornecer logon único aos usuários.
Provedores de identidade com suporte
O logon único SAML deve funcionar com qualquer provedor de identidade que implemente o perfil de SSO do navegador web do SAML 2.0, usando a associação HTTP POST.
No momento, realizamos testes com os seguintes provedores de identidade:
- Microsoft Active Directory (usando ADFS 3.0)
- Microsoft Azure Active Directory
- OneLogin
- Okta
- PingIdentity
Configurar SSL/TLS
Depois de configurar, será necessário garantir que o URL de base configurado da aplicação esteja usando o protocolo HTTPS.
Configurar SSL/TLS usando um proxy reverso
Se desejar usar um proxy reverso, consulte estes documentos específicos do produto descrevendo as etapas exatas de configuração:
- Uso de proxy em aplicações de servidor Atlassian com o servidor Apache HTTP (mod_proxy_http)
- Integrar o JIRA ao Apache usando SSL
- Proteger as aplicações Atlassian com o Apache usando SSL
Ao usar um proxy reverso que encerre SSL/TLS, será preciso garantir que o URL de solicitação que o servidor de aplicação vê corresponda ao nome de domínio totalmente qualificado para o proxy reverso. Isso geralmente é feito configurando a diretiva <Connector> com as configurações de proxyName, proxyPort, secure e scheme adequadas. Consulte a documentação acima para obter exemplos específicos.
Configurar o provedor de identidade
Se você desejar que sua aplicação forneça SSO, precisará adicioná-la ao seu IdP. O processo exato varia conforme o IdP, mas geralmente você precisará:
- Definir uma "aplicação" no seu IdP
- Fornecer alguns dados sobre a aplicação, incluindo dados que você possa acessar na tela Autenticação da sua aplicação
- Garantir que o atributo NameID dos usuários no seu IdP esteja definido como o nome de usuário na sua aplicação Atlassian
- Dar aos usuários adequados permissão para usar a aplicação
Ao fim do processo de configuração, o IdP fornecerá um conjunto de dados de que você precisará para configurar sua aplicação Atlassian.
Configurar a autenticação de SAML na sua aplicação Atlassian
- Navegue para a tela de autenticação SAML selecionando > Sistema > Autenticação de SAML.
- Selecione Logon único de SAML.
Defina as seguintes configurações:
Configuração Notas Emissor de logon único
Esse valor é fornecido pelo seu IdP como parte da configuração da SAML. Às vezes é chamado de "ID de entidade"
O emissor é o IdP do qual sua aplicação aceitará solicitações de autenticação
URL de logon único do provedor de identidade
Esse valor é fornecido pelo seu IdP como parte da configuração da SAML.
Define o URL ao qual seus usuários serão redirecionados quando fizerem login.
Certificado X.509
Esse valor é fornecido pelo seu IdP como parte da configuração da SAML. Às vezes é chamado de "Certificado de autenticação". A chave geralmente começa com "-----BEGIN CERTIFICATE-----".
Isso contém a chave pública que usaremos para verificar se todas as solicitações de autenticação SAML recebidas foram emitidas pelo seu IdP.
Modo de login
Define como os usuários podem usar o logon único. As opções são:
- Usar SAML como autenticação secundária – a maneira padrão de fazer login será o formulário de login padrão da aplicação. Você poderá fazer login usando SAML se acessar seu IdP e selecionar sua aplicação, ou usando esta URL para fazer login: BASE-URL/plugins/servlet/external-login. Recomendamos esse método para que você possa testar se tudo está configurado corretamente e se os usuários podem fazer login usando SSO.
- Usar SAML como autenticação primária – nesse modo, todos os usuários baseados no navegador serão redirecionados da tela de login da aplicação para o IdP para fazerem login. Ainda é possível autenticar por:
- Autenticação básica
- Autenticação baseada em formulário por meio de um ponto de extremidade REST dedicado
- Tokens "Lembrar-me" existentes
Você somente deve habilitar esse modo depois de verificar se a autenticação SAML está funcionando conforme o esperado.
Lembrar logins de usuário Quando essa opção é marcada, logins de usuário bem-sucedidos serão lembrados no navegador do usuário. Ao navegar na aplicação, o login dos usuários será feito automaticamente sem necessidade de nova autenticação usando SAML. (Somente JIRA Service Desk) Quando essa opção é marcada, todas as solicitações de login dos seus clientes do Service Desk que usam o portal do cliente serão redirecionadores para o IdP configurado. Se não estiver selecionado, os clientes devem efetuar login no portal do cliente. As seguintes informações são fornecidas na tela Autenticação e serão exigidas para configurar o IdP:
Nome da configuração Notas URL de serviço ao consumidor da asserção Este é o URL para o qual o IdP retornará solicitações de autenticação SAML.
URL do público (ID da entidade) Este é o URL para o qual o IdP preparará solicitações de autenticação SAML.
- Clique em Salvar configuração.
Depois de configurar a aplicação e o IdP, você estará pronto para começar a usar o SSO.
Melhores práticas
- As solicitações de autenticação SAML são válidas apenas por um tempo limitado. Verifique se os relógios no servidor que executa as aplicações e o IdP são sincronizados.
- Se os usuários e os grupos na aplicação forem configurados usando os Diretórios de usuários, você normalmente desejará usar o mesmo diretório LDAP para ser a fonte de usuários para o IdP e a aplicação Atlassian. Os usuários precisam existir no diretório de usuários antes que possam fazer login usando o SSO.
Solucionar problemas
Se você cometeu um erro ao configurar a autenticação SAML ou não conseguir fazer login usando o seu IdP, poderá restaurar a autenticação do formulário de login usando uma solicitação de emissão de EXCLUSÃO (com um nome de usuário e senha de administrador configurado no seu diretório de usuários):
curl -u admin_user:admin_password -X DELETE http://base-url/product/rest/authconfig/1.0/saml
- Se ocorrer um erro de autenticação, o usuário verá apenas os detalhes básicos sobre o que houve de errado. Por motivos de segurança, os detalhes do problema subjacente não são mostrados. Você precisará verificar os logs da aplicação para ver a causa do problema.
- Em alguns casos, os erros também são mostrados pelo IdP. Nesses casos, você precisará usar o suporte e as ferramentas fornecidas pelo IdP e não o suporte da Atlassian.
- Se você usar o SAML como autenticação primária e tiver o CAPTCHA ativado na aplicação, os usuários que usarem a autenticação básica HTTP (por exemplo, em chamadas de recurso REST) poderão ser bloqueados se inserirem uma senha incorreta muitas vezes. Nesses casos, um administrador precisará redefinir o CAPTCHA do usuário na tela da lista de usuários.