Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

GoodData - Fast Analytics - Como configurar o Single Sign-On por meio de chaves PGP


time.png Tempo aproximado para leitura: 00:15:00 min

Dúvida
Como configuraro Single Sign-On por meio de chaves PGP no GoodData?

Ambiente
GoodData – Fast Analytics – Todas as versões.

Solução
Para configurar o Sigle Sign-On no GoodData por meio de chaves PGP, é necessário seguir alguns passos, que juntos irão realizar a autenticação do GoodData com suas chaves PGP criadas localmente. Ao final dessa documentação, haverá um resumo dos passos que devem ser automatizados para que a autenticação PGP funcione de forma automática no portal do cliente que está implementando a função.

 

1. Baixe e instale o programa GPG, a depender do seu sistema operacional. Mais detalhes e links de download podem ser obtidos no link: https://help.gooddata.com/doc/enterprise/en/expand-your-gooddata-platform/gooddata-integration-into-your-application/set-up-user-authentication-and-sso/gooddata-pgp-single-sign-on/how-to-generate-a-public-private-key-pair


2. Crie uma chave PGP seguindo os passos da documentação acima. Aconselha-se realizar todos os procedimentos apontando para a mesma pasta, assim fazendo o processo de forma mais facilitada do começo ao fim. Resumidamente, os comandos para criação são estes:

 

gpg --full-generate-key

Observações: Após executar este comando, diversas informações serão solicitadas, como tipo de chave, tamanho da chave, tempo de expiração da chave, nome completo, e-mail, comentário e senha da chave. Após o preenchimento, as suas chaves pública e privada serão criadas.

Recomendamos a configuração abaixo:

Tipo de chave: RSA and RSA

Tamanho da chave: 1024

Tempo de expiração da chave: 0 (não expira)

Nome completo: Seu nome

Comentário (opcional): Seu comentário

Senha da chave: Senha da chave (será usada posteriormente)

 

gpg --export -a "email@address.com" > public.key

Observações: Alterar "email@address.com" para o email utilizado para criar a chave. Um arquivo chamado "public.key" será criado na pasta onde está realizando as operações, que conterá sua chave pública.

 

3. Baixe a chave PGP pública da GoodData utilizando o link do passo 1 e coloque-a no mesmo diretório que está trabalhando. Após isso, execute o comando abaixo:

 

gpg --import gooddata-sso.pub

Observações: Este comando irá importar a chave pública da GoodData para a sua keystore local, ela será utilizada para assinar a autenticação em passos futuros.

 

4. Abra um chamado para a TOTVS, direcionado para a equipe de GoodData, com o modelo abaixo e o arquivo "public.key" criado no passo 2 em anexo. Os agrupadores da central de atendimento são "Brasil" > "Cross Segmentos" > "Analytics By GoodData" ou "Totvs Fast Analytics".

"

Prezados, bom dia!

Peço a gentileza de configurarem o SSO Provider do GoodData de acordo com as informações abaixo e chave pública enviada em anexo.

- Nome do SSO Provider: meusso.sso.com.br

Obs.: Caso seja Fluig Identitu, utilizar o domínio atual:

Nome do SSO Provider: minhaempresa.fluigidentity.com

- Usuários que utilizarão o SSO: MEUSUSUÁRIOS

Obrigado!

"

Observações: Ao preencher o modelo acima com o nome do SSO desejado, substituindo "meusso".sso.com.br pelo nome escolhido, é recomendável optar por um nome facilmente associável, como o nome da sua organização. No caso do uso do Identity, é crucial utilizar o domínio atualmente utilizado, substituindo "minhaempresa".fluigidentity.com. O nome deverá ser único, dessa forma, está sujeito a aprovação da equipe de suporte, pois pode haver um nome já em utilização. Preencha no modelo acima os e-mails dos usuários cadastrados na plataforma GoodData que irão utilizar o SSO. O e-mail pode ser de um usuário único que irá sempre ser utilizado ou diversos usuários, no caso, também é possível enviar o ID do projeto e o analista de suporte irá associar TODOS os usuários do projeto enviado ao SSO. Os usuários continuarão conseguindo realizar login normalmente, sem efeitos ao usuário final, apenas será liberada a opção de logar via SSO e feita a associação do usuário ao SSO criado.

 

5. Agora é necessário criar a mensagem PGP que será enviada para a GoodData, utilizando as chaves criadas e importadas nos passos 2 e 3, para preenchermos o arquivo. Para criar esta chave, é necessário estar com o prompt de comando na pasta com todos os arquivos gerados dessa documentação. Para criar a mensagem, é necessário informar o login que fará o SSO e a validade da mensagem enviada. Crie um arquivo de nome "json.txt" com o conteúdo abaixo. O processo está descrito no link: https://help.gooddata.com/doc/enterprise/en/expand-your-gooddata-platform/gooddata-integration-into-your-application/set-up-user-authentication-and-sso/gooddata-pgp-single-sign-on#GoodDataPGPSingleSignOn-CreateEncryptedClaims

{
"email": "email@address.com",
"validity": unixtimestamp
}

 

Observações: O e-mail deverá ser um dos e-mails de usuários vinculados no SSO no passo 4. O campo validity deverá ser obrigatóriamente preenchido com valor de uma timestamp em formato UNIX e em formato inteiro, com valor de 10 minutos no futuro ou até 36 horas no futuro. Segue alguns modelos para criação de timestamps nesse formato, que retornam valores de 24 horas no futuro:

 

Postgres: SELECT CAST(extract(epoch from GETDATE() + 1) AS INTEGER)

Microsoft SQL Server: SELECT DATEDIFF(SECOND, CONVERT(DATETIME, '1970-01-01', 121), GETDATE() + 1)

Javascript: console.log(Math.floor(newDate(Date.now()+86400000).getTime() /1000))

 

6. Salve o arquivo "json.txt" com o e-mail correto e o campo validity preenchido. Na pasta que contém todos os arquivos desse passo-a-passo (inclusive o arquivo "json.txt") e execute o comando abaixo:

 

gpg --armor -u pgpOwner.user@domain.com --output signed.txt --sign json.txt

Observações: Esse comando irá assinar o arquivo "json.txt" com a sua chave privada, criando o arquivo "signed.txt". O e-mail "pgpOwner.user@domain.com" deverá ser alterado pelo e-mail utilizado no passo 2 para criar a chave PGP. Caso tenha seguido todos os passos conforme instruído, não será necessário alterar mais nenhuma instrução.

 

gpg --armor --output enc.txt --encrypt --recipient security@gooddata.com signed.txt

Observações: Esse comando irá encriptar o arquivo "signed.txt" com a chave pública da GoodData, criando o arquivo "enc.txt", que conterá a mensagem PGP necessária para realizar o login de forma automática. Caso tenha seguido todos os passos conforme instruído, não será necessário alterar mais nenhuma instrução.

 

7. Após a TOTVS retornar com o nome do SSO criado e os usuários associados ao mesmo, utilize o código disponibilizado na documentação a seguir. O código consiste em uma página HTML que irá fazer o SSO de forma manual. Link: https://help.gooddata.com/doc/enterprise/en/expand-your-gooddata-platform/gooddata-integration-into-your-application/set-up-user-authentication-and-sso/gooddata-pgp-single-sign-on#GoodDataPGPSingleSignOn-ExampleUseCase:EmbeddingGoodData

 

8. Insira o código em um editor de texto e altere a linha 12 com o domínio utilizado no GoodData. Nesse caso exemplificaremos com o domínio "analytics.totvs.com.br":

mceclip1.png

Antes:

<formid="helperForm"target="embeddedGoodDataIframe"method="post"action="https://{your-subdomain-name}.gooddata.com/gdc/account/customerlogin">

Depois:

<formid="helperForm"target="embeddedGoodDataIframe"method="post"action="https://analytics.totvs.com.br/gdc/account/customerlogin">
9. No mesmo código, altere as linhas 20, 21 e 22 com as seguintes informações:

let targetUrl = link do dashboard que deseja abrir ao abrir a página html.

let ssoProvider = SSO provider enviado pelo suporte TOTVS.

let pgpMessage = Mensagem PGP dentro do arquivo enc.txt criado no passo 6.

Exemplo Antes:

mceclip0.png

Exemplo Depois:

mceclip2.png

Exemplo com a mensagem PGP sendo exibida por completo:

mceclip3.png

Observações: A mensagem PGP pode estar em uma única linha, porém não deve conter ENTER (caractere especial de escape) em seu conteúdo. Todos os ENTERs devem ser substituídos por "\n".

 

10. Salve o arquivo HTML e abra-o em um navegador. 

 

Parabéns! Agora você tem um arquivo HTML que faz autenticação SSO por meio de chaves PGP. Se você seguiu as instruções desse documento, a autenticação irá durar por 24 horas, sendo necessário após isso recriar o arquivo "json.txt" com o campo validity com uma nova timestamp e repetir os passos 6 e 9, assim criando uma nova mensagem PGP e atualizando seu arquivo HTML.

 

Observações: 

Para automatizar esse processo, seu app, site ou intranet deverá automáticamente gerar o arquivo "json.txt" com a estrutura mencionada no passo 5, assinar e criptografar o arquivo conforme descrito no passo 6 e automáticamente renovar o valor da variável pgpMessage do HTML gerado em seu app.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _