Ir para o conteúdo

Configurando o Okta

Okta é um provedor de identidade (IdP) que oferece suporte à autenticação SAML Single Sign-On (SSO). O Vinyl se integra à Okta como Provedor de Serviços (SP). Cada instância do Vinyl deve ser integrada ao Okta e vice-versa. Existem três tarefas principais envolvidas:

  1. Registre o Vinyl como um aplicativo Okta.
  2. Configure o Okta como um provedor de segurança do Vinyl.
  3. Mapeie usuários do Vinyl para identidades Okta.

Presume-se que sua organização já tenha uma conta Okta existente.

As instruções abaixo se referirão às seguintes propriedades:

Exemplo Notas
URL do aplicativo de Vinyl https://example.com/Vinyl/ A URL na qual o Vinyl está hospedado. Inclui a barra final. O caminho diferencia maiúsculas de minúsculas.
Nome do provedor de segurança Okta Cada provedor de segurança do Vinyl recebe um nome lógico. Esse nome é usado na URL do Assertion Consumer Service.
URL do serviço ao consumidor de afirmação https://example.com/Vinyl/signin-Okta O Vinyl provisiona automaticamente um endpoint de Assertion Consumer Service (ACS) para provedores de segurança SAML Single Sign-On (SSO). Okta refere-se ao URL ACS como " URL de postback" ou " URL de login único". Observe que o nome do provedor aparece na URL.

Registre o Vinyl Como um Aplicativo Okta

O documento Okta a seguir descreve como registrar um aplicativo SAML : https://developer.okta.com/standards/SAML/setting_up_a_saml_application_in_okta

  1. Durante o processo de configuração, serão solicitadas as seguintes informações:

    • Nome: Nome do ambiente do Vinyl.\

      Exemplo: Desenvolvimento de Vinyl

    • URL de login único: Corresponde ao Assertion Consumer Service URL.\

      Exemplo: https://example.com/Vinyl/signin-Okta

    • URI de público: embora o URI de público seja arbitrário, Okta e Vinyl devem usar o mesmo URI de público. Considere usar o Vinyl App URL.\

      Exemplo: https://example.com/Vinyl/.

    • Formato de ID do nome: EmailAddress

    • Nome de usuário do aplicativo: Okta username
  2. Você pode fornecer Declarações de Atributos ou Declarações de Atributos de Grupo opcionais. As reivindicações comumente mapeadas incluem:

    Nota

    Consulte Reivindicações para obter informações adicionais sobre reivindicações.

  3. Clique em Avançar, selecione Sou um cliente Okta adicionando um aplicativo interno e clique em Concluir.

  4. Depois que o aplicativo Okta for criado, copie e armazene os seguintes valores para referência posterior:

    • 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

Configure Okta Como um Provedor de Segurança de Vinyl

Para configurar o Okta como um provedor de segurança do Vinyl, comece entrando no Vinyl como administrador.

  1. Navegue até o IDE
  2. Selecione o botão Provedores de segurança
  3. No painel Autenticação do usuário, clique no botão + Autenticação do usuário
  4. Forneça o seguinte:

    • Nome: Security Provider Name (Veja acima)\

      Exemplo: * Okta*

    • Tipo: * SAML*

    • Ativado: Verifique
  5. Clique no botão Salvar

  6. Na seção Tokens, forneça o seguinte:

    • Público: Audience URI (Veja acima)

      Exemplo: https://example.com/Vinyl/

    • Destinatário: Single sign-on URL (Veja acima)

      Exemplo: https://example.com/Vinyl/signin-Okta

    • Emissor: Issuer (Veja acima)

      Exemplo: http://www.okta.com/abcdef012345

  7. Clique no botão Salvar

  8. Na seção Provisionamento, confirme as seguintes configurações:

    • Provisionamento de usuários: Verifique
    • Membro do Grupo de Suprimentos: Verifique
    • Reivindicações da Loja: Verifique
  9. No painel Endpoints, clique no botão + Endpoint

  10. Forneça o seguinte:

    • Tipo: * Endpoint de metadados *
    • URL: Metadata URL (Veja acima)

      Exemplo: https://www.okta.com/app/abcdef012345/sso/saml/metadata

  11. Clique no botão Salvar

  12. No painel Reivindicações, você precisará mapear quaisquer reivindicações da Okta no Vinyl. Por exemplo, para mapear as reivindicações Grupo e Endereço de email, clique no botão + Reivindicação
  13. Forneça o seguinte:

    • Identificador: nome do tipo de declaração.

      Exemplo: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Group

    • Uso: uso do tipo de declaração.

      Exemplo: Grupo

  14. Clique no botão Salvar

  15. Saia da tela Reclamação e clique no botão + Reclamação no painel Reclamações
  16. Forneça o seguinte:

    • Identificador: nome do tipo de declaração.

      Exemplo: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

    • Uso: uso do tipo de declaração.

      Exemplo: Endereço de email

  17. Clique no botão Salvar

  18. Na seção Entrar, marque para ativar Mostrar no formulário de login. Isso permite que um botão Sign in with Okta seja exibido na página de login do Vinyl.
  19. Clique no botão Salvar

Mapear Usuários de Vinyl para Identidades Okta

Com Provisionamento de Usuários

Se você ativou o provisionamento de usuários conforme descrito acima e tentou fazer login, você poderá ser redirecionado de volta ao formulário de login do Vinyl com a seguinte mensagem:

A conta do usuário (arthur.dent@example.com) não recebeu acesso a um aplicativo.

Embora o Vinyl tenha conseguido provisionar o usuário com êxito, o usuário não tem acesso a nenhum aplicativo do Vinyl por padrão. Supondo que o usuário Okta tenha sido adicionado a um ou mais grupos e que a associação ao grupo de suprimentos esteja habilitada (conforme descrito acima), você precisará mapear os grupos de segurança Okta para grupos de segurança Vinyl.

Para mapear grupos de segurança Okta para grupos de segurança Vinyl, comece entrando no Vinyl como administrador.

  1. Navegue até o IDE
  2. Clique no botão Gerenciamento de usuários
  3. Clique na aba Identidades
  4. No painel Grupos de Provedores, localize o grupo Okta e clique no ícone Detalhes (Popup)
  5. Clique no botão Editar
  6. Na lista Grupo, selecione o grupo Vinyl
  7. Clique no botão Salvar

Consulte o Provisionamento de usuários e grupos para obter informações adicionais.

Sem Provisionamento de Usuários

Se você não tiver habilitado o provisionamento de usuários, a autenticação falhará com uma mensagem semelhante a esta:

Embora você tenha autenticado com sucesso no Okta, a conta arthur.dent@example.com (arthur.dent@example.com) não está associado a uma conta local.

Na mensagem acima, arthur.dent@example.com é o Nome de usuário Okta (chamado de "nome" na autenticação de declarações). A parte entre parênteses é o Identificador de nome Okta (chamado de "identificador de nome" na autenticação de declarações). Você precisará dessas duas informações para a próxima etapa.

Para mapear uma conta de usuário do Vinyl para uma identidade Okta, comece entrando no Vinyl como administrador:

  1. Navegue até o IDE
  2. Clique no botão Gerenciamento de usuários
  3. No painel Usuários, localize e selecione o usuário que você deseja mapear
  4. No painel Identidades, clique no botão + Identidade
  5. Forneça o seguinte:

    • Provedor: Security Provider Name\

      Exemplo: * Okta*

    • Nome: Okta User Name (Veja acima)

    • Identificador: Okta Name Identifier (Veja acima)
  6. Clique no ícone Salvar (Verificar)

Solução de Problemas

O Usuário é Redirecionado de Volta à Página de Login Após Fazer Login.

Se Provisionamento de usuários tiver sido habilitado, então 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 tiveram acesso a nenhum aplicativo do Vinyl. O único grupo atribuído a novos usuários por padrão (ou seja, com a opção Conceder na criação de usuário habilitada) é o grupo Usuários. Este grupo não tem acesso a nenhum aplicativo por padrão.

Se a opção Associação ao Grupo de Suprimentos estiver habilitada, o Vinyl terá cadastrado os grupos Okta. Faça login como administrador e mapeie os grupos Okta para grupos de segurança do Vinyl. Se a opção Supplies Group Membership não tiver sido habilitada, o provedor de segurança Okta não terá nenhum grupo. Faça login como administrador e defina um ou mais grupos de provedores de segurança Okta com a opção Grant On Identity Create habilitada e mapeie os grupos de provedores para grupos de segurança Vinyl.

Se o provedor de segurança Exigir HTTPS não tiver sido ativado, o usuário poderá iniciar o processo SAML SSO a partir de uma URL não segura (por exemplo, http://example.com/Vinyl/). No entanto, o provedor de identidade retornará o usuário ao URL seguro do Assertion Consumer Service (ACS) (https://example.com/Vinyl/signin-Okta). O Vinyl autentica o usuário no contexto do URL seguro antes de retornar o usuário ao URL não seguro. Na verdade, o usuário tem duas sessões separadas. Para resolver esse problema, habilite o provedor de segurança Exigir HTTPS.

O aplicativo Okta pode estar desativado.

Erro: "a AudienceRestrictionCondition Não Era Válida Porque o Público Especificado Não Está Presente em AudienceUris."

Este erro indica que o URI do público não corresponde. Certifique-se de que a propriedade Audience tenha sido definida explicitamente. Se não for definido, o padrão será o URL atual, que pode variar de acordo com o usuário. O valor diferencia maiúsculas de minúsculas.

Erro: "uma Exceção Não Tratada Foi Detectada no Final do Pipeline."

Este erro pode indicar uma incompatibilidade entre o valor Recipient configurado e o valor esperado do Recipient no Vinyl. Certifique-se de que o valor do Destinatário esteja configurado corretamente.