Configurando o Okta no Jitterbit App Builder
Okta é um Provedor de Identidade (IdP) que suporta autenticação SAML Single Sign-On (SSO). O App Builder se integra ao Okta como um Provedor de Serviço (SP). Cada instância do App Builder deve ser integrada ao Okta e vice-versa. Existem três tarefas principais envolvidas:
- Registrar o App Builder como um aplicativo Okta.
- Configurar o Okta como um provedor de segurança do App Builder.
- Mapear usuários do App Builder para identidades do Okta.
Assume-se que sua organização já possui uma conta Okta existente.
As instruções abaixo se referirão às seguintes propriedades:
Exemplo | Notas | |
---|---|---|
URL do App Builder | https://example.com/Vinyl/ | A URL a partir da qual o App Builder é hospedado. Inclui a barra final. O caminho é sensível a maiúsculas e minúsculas. |
Nome do Provedor de Segurança | Okta | Cada provedor de segurança do App Builder recebe um nome lógico. Este nome é usado na URL do Serviço de Consumidor de Aserção. |
URL do Serviço de Consumidor de Aserção | https://example.com/Vinyl/signin-Okta | O App Builder provisiona automaticamente um endpoint de Serviço de Consumidor de Aserção (ACS) para provedores de segurança SAML Single Sign-On (SSO). O Okta se refere à URL do ACS como "URL de Retorno" ou "URL de login único". Observe que o Nome do Provedor aparece na URL. |
Registrar o App Builder como um aplicativo Okta
O seguinte documento da Okta descreve como registrar um aplicativo SAML: https://developer.okta.com/standards/SAML/setting_up_a_saml_application_in_okta
-
Durante o processo de configuração, você será solicitado a fornecer as seguintes informações:
-
Nome: Nome do ambiente do App Builder.\
Exemplo: App Builder Development
-
URL de login único: Corresponde ao
Assertion Consumer Service URL
.\Exemplo:
https://example.com/Vinyl/signin-Okta
-
URI do público: Embora a URI do público seja arbitrária, a Okta e o App Builder devem usar a mesma URI do público. Considere usar a
App Builder App URL
.\Exemplo:
https://example.com/Vinyl/
. -
Formato do ID do nome:
EmailAddress
- Nome de usuário do aplicativo:
Okta username
-
-
Você pode fornecer mapeamentos de reivindicações opcionais Declarações de Atributo ou Declarações de Atributo de Grupo. As reivindicações comumente mapeadas incluem:
- Endereço de Email - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
- Membro do Grupo - http://schemas.xmlsoap.org/claims/Group
Nota
Veja Claims para informações adicionais sobre reivindicações.
-
Clique em Próximo, selecione Sou um cliente Okta adicionando um aplicativo interno e clique em Concluir.
-
Uma vez que o aplicativo Okta tenha sido criado, copie e armazene os seguintes valores para referência futura:
- URL de Metadados. Exemplo:
https://www.okta.com/app/abcdef012345/sso/saml/metadata
- URL de login. Exemplo:
https://example.okta.com/app/abcdef012345/sso/saml
- Emissor. Exemplo:
http://www.okta.com/abcdef012345
- URL de Metadados. Exemplo:
Configurar a Okta como um provedor de segurança do App Builder
Para configurar o Okta como um provedor de segurança do App Builder, comece fazendo login no App Builder como administrador.
- Navegue até o IDE
- Selecione o botão Security Providers (Provedores de Segurança)
- No painel User Authentication (Autenticação de Usuário), clique no botão + User Authentication (Adicionar Autenticação de Usuário)
-
Forneça o seguinte:
-
Name (Nome):
Security Provider Name
(Nome do Provedor de Segurança) (veja acima)\Exemplo: Okta
-
Type (Tipo): SAML
- Enabled (Habilitado): Marque
-
-
Clique no botão Save (Salvar)
-
Na seção Tokens (Tokens), forneça o seguinte:
-
Audience (Público):
Audience URI
(URI do Público) (veja acima)Exemplo:
https://example.com/Vinyl/
-
Recipient (Destinatário):
Single sign-on URL
(URL de SSO) (veja acima)Exemplo:
https://example.com/Vinyl/signin-Okta
-
Issuer (Emissor):
Issuer
(Emissor) (veja acima)Exemplo:
http://www.okta.com/abcdef012345
-
-
Clique no botão Save (Salvar)
-
Na seção Provisioning (Provisionamento), confirme as seguintes configurações:
- User Provisioning (Provisionamento de Usuário): Marque
- Supplies Group Membership (Fornece Membro de Grupo): Marque
- Store Claims (Armazenar Declarações): Marque
-
No painel Endpoints (Endpoints), clique no botão + Endpoint (Adicionar Endpoint)
-
Forneça o seguinte:
- Type (Tipo): Metadata Endpoint (Endpoint de Metadados)
-
URL:
Metadata URL
(URL de Metadados) (veja acima)Exemplo:
https://www.okta.com/app/abcdef012345/sso/saml/metadata
-
Clique no botão Save (Salvar)
- No painel Claims (Declarações), você precisará mapear quaisquer declarações do Okta no App Builder. Por exemplo, para mapear as declarações de Grupo e Endereço de Email, clique no botão + Claim (Adicionar Declaração)
-
Forneça o seguinte:
-
Identifier (Identificador): Nome do tipo de declaração.
Exemplo:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Group
-
Usage (Uso): Uso do tipo de declaração.
Exemplo: Grupo
-
-
Clique no botão Save (Salvar)
- Saia da tela de Declaração e clique no botão + Claim (Adicionar Declaração) no painel Claims (Declarações)
-
Forneça o seguinte:
-
Identifier (Identificador): Nome do tipo de declaração.
Exemplo:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
-
Usage (Uso): Uso do tipo de declaração.
Exemplo: Endereço de Email
-
-
Clique no botão Save (Salvar)
- Na seção Sign In (Entrar), marque para habilitar Show On Login Form (Mostrar no Formulário de Login). Isso habilita um botão Sign in with Okta (Entrar com Okta) para ser exibido na página de login do App Builder.
- Clique no botão Save (Salvar)
Mapear usuários do App Builder para identidades do Okta
Com provisionamento de usuários
Se você ativou o provisionamento de usuários conforme descrito acima e tentar fazer login, pode ser redirecionado de volta para o formulário de login do App Builder com a seguinte mensagem:
A conta de usuário (
arthur.dent@example.com
) não foi autorizada a acessar um aplicativo.
Embora o App Builder tenha conseguido provisionar o usuário com sucesso, o usuário não tem acesso a nenhum aplicativo do App Builder por padrão. Supondo que o usuário do Okta tenha sido adicionado a um ou mais grupos e que a associação a grupos de suprimentos esteja ativada (conforme descrito acima), você precisará mapear os grupos de segurança do Okta para os grupos de segurança do App Builder.
Para mapear grupos de segurança do Okta para grupos de segurança do App Builder, comece fazendo login no App Builder como administrador.
- Navegue até o IDE
- Clique no botão Gerenciamento de Usuários
- Clique na aba Identidades
- No painel Grupos do Provedor, localize o grupo do Okta e clique no ícone Detalhes (Popup)
- Clique no botão Editar
- Na lista Grupo, selecione o grupo do App Builder
- Clique no botão Salvar
Consulte o Provisionamento de usuários e grupos para informações adicionais.
Sem provisionamento de usuários
Se você não ativou o provisionamento de usuários, a autenticação terá falhado com uma mensagem semelhante à seguinte:
Embora você tenha se autenticado com sucesso no Okta, a conta
arthur.dent@example.com
(arthur.dent@example.com
) não está associada a uma conta local.
Na mensagem acima, arthur.dent@example.com
é o Nome de Usuário do Okta (chamado de "name" na autenticação de claims). A parte entre parênteses é o Identificador de Nome do Okta (chamado de "name identifier" na autenticação de claims). Você precisará dessas duas informações para o próximo passo.
Para mapear uma conta de usuário do App Builder para uma identidade do Okta, comece fazendo login no App Builder como administrador:
- Navegue até o IDE
- Clique no botão Gerenciamento de Usuários
- No painel Usuários, localize e selecione o usuário que você gostaria de mapear
- No painel Identidades, clique no botão + Identidade
-
Forneça o seguinte:
-
Provedor:
Nome do Provedor de Segurança
\Exemplo: Okta
-
Nome:
Nome do Usuário Okta
(veja acima) - Identificador:
Identificador de Nome Okta
(veja acima)
-
-
Clique no ícone Salvar (Verificar)
Solução de Problemas
O usuário é redirecionado de volta para a página de login após fazer login.
Se o Provisionamento de Usuários foi habilitado, o usuário pode ter sido criado, mas não atribuído a nenhum grupo ou os grupos aos quais o usuário foi atribuído não foram concedidos acesso a nenhum aplicativo do App Builder. O único grupo atribuído a novos usuários por padrão (ou seja, que tem a opção Conceder na Criação do Usuário habilitada) é o grupo de Usuários. Este grupo não tem acesso a nenhum aplicativo por padrão.
Se a opção Fornecer Membro de Grupo foi habilitada, o App Builder terá registrado os grupos do Okta. Faça login como administrador e mapeie os grupos do Okta para os grupos de segurança do App Builder. Se a opção Fornecer Membro de Grupo não foi habilitada, o provedor de segurança do Okta não terá grupos. Faça login como administrador e defina um ou mais grupos do provedor de segurança do Okta com a opção Conceder na Criação da Identidade habilitada e mapeie os grupos do provedor para os grupos de segurança do App Builder.
Se o provedor de segurança Requerer HTTPS não foi habilitado, o usuário pode iniciar o processo SSO SAML a partir de uma URL não segura (por exemplo, http://example.com/Vinyl/
). No entanto, o Provedor de Identidade retornará o usuário para a URL segura do Serviço de Consumidor de Assertivas (ACS) (https://example.com/Vinyl/signin-Okta
). O App Builder autentica o usuário no contexto da URL segura antes de retornar o usuário para a URL não segura. Na prática, o usuário tem duas sessões separadas. Para resolver esse problema, habilite o provedor de segurança Requerer HTTPS.
A aplicação Okta pode ser desativada.
Erro: "the audiencerestrictioncondition was not valid because the specified audience is not present in audienceuris."
Esse erro indica que o URI do público não corresponde. Certifique-se de que a propriedade Audience foi definida explicitamente. Se não estiver definida, ela será padrão para a URL atual, que pode variar por usuário. O valor é sensível a maiúsculas e minúsculas.
Erro: "an unhandled exception was caught at the end of the pipeline."
Esse erro pode indicar uma incompatibilidade entre o valor Recipient configurado e o valor esperado de Recipient no App Builder. Certifique-se de que o valor Recipient está configurado corretamente.