Bem-vindo a este guia abrangente sobre a integração do Okta com o Couchbase Server!
Neste artigo, vamos orientá-lo no processo passo a passo de configuração de um fluxo de autenticação seguro e contínuo usando Okta como o Provedor de identidade (IdP) e Couchbase Servidor como o Provedor de serviços SAML (SP). Ao final deste guia, você terá uma configuração de SSO totalmente funcional, permitindo que os usuários façam login e logout da interface do usuário do servidor Couchbase usando SAML.
Pré-requisitos
Antes de se aprofundar nos meandros da integração do SAML, é fundamental ter uma sólida compreensão dos fundamentos e das técnicas de depuração do SAML. Se ainda não o fez, recomendo enfaticamente que reveja meu artigo anterior sobre os fundamentos do SAML e seu processo de depuração. Equipado com esse conhecimento básico, você achará este artigo sobre integração SAML muito mais esclarecedor e fácil de compreender. Reservar um tempo para entender os conceitos básicos, sem dúvida, aprimorará sua experiência e compreensão à medida que nos aprofundarmos no assunto.
Antes de mergulhar nas etapas de configuração, é essencial garantir que você tenha tudo o que precisa para um processo de instalação tranquilo. Veja abaixo os pré-requisitos que você deve ter.
Software e contas necessários
-
- Conta de desenvolvedor Okta: Você precisará de uma conta de desenvolvedor Okta para configurar o Okta como seu provedor de identidade. Se não tiver uma, você pode se inscrever para obter uma conta gratuita aqui.
- Servidor Couchbase: Certifique-se de que você tenha Administração completa ou pelo menos Segurança do usuário externo Admin acesso. Isso é fundamental para definir as configurações de SAML no Couchbase Server.
- Editor de texto: Um editor de texto como o Visual Studio Code, Sublime Text ou Notepad++ será útil para editar arquivos XML ou scripts, se necessário.
Conhecimentos e habilidades necessários
-
- Entendimento básico de SAML: Será útil ter familiaridade com os conceitos de SAML, como Assertions, IdP, SP e SSO.
- Noções básicas de XML: Como o SAML usa asserções baseadas em XML, um conhecimento básico de XML o ajudará no processo de configuração.
Dados necessários
-
- URL do servidor Couchbase: Certifique-se de que o Couchbase Server esteja acessível pela Internet e de que você conheça a URL de acesso externo.
- Chave de assinatura e certificado: Você tem uma chave privada e um certificado e, opcionalmente, um arquivo Chain que pode ser carregado e que será usado para assinar e descriptografar mensagens SAML.
Opcional, mas útil
-
- Ferramentas de rede: Ferramentas como curl ou Postman podem ser úteis para testar solicitações HTTP e afirmações SAML.
- Ferramentas de depuração: Ferramentas ou plug-ins de depuração baseados em navegador podem ajudar na solução de problemas de respostas e solicitações SAML, como Saml Tracer.
- Ferramentas de formatação de certificados: Baseado em navegador Ferramenta de certificado X.509 para formatar certificados.
Ao garantir que esses pré-requisitos estejam em vigor, você estará preparado para seguir o restante deste guia. Na próxima seção, forneceremos uma visão geral de como funciona a autenticação SAML para que você entenda melhor o que será configurado.
Configuração do Okta como IdP
Agora que já abordamos os conceitos básicos, é hora de configurar o Okta para atuar como seu provedor de identidade (IdP). Precisamos começar com o IdP, pois o servidor Couchbase espera um arquivo de metadados ou URL para ativar o SAML.
Criar um novo aplicativo SAML no Okta
-
- Faça login no Console do desenvolvedor Okta: Navegue até o Console do desenvolvedor Okta e faça login.
- Ir para Aplicativos: No painel, clique no ícone Aplicativos guia.
- Adicionar aplicativo: Clique no botão Criar integração de aplicativos para criar um novo aplicativo.
- Selecione SAML 2.0: Escolha SAML 2.0 como o método de logon.
- Clique em Próximo para prosseguir para as configurações do aplicativo.
Configurar as definições do aplicativo SAML no Okta
-
- Configurações gerais:
- Nome: Digite um nome para o aplicativo. Eu usarei: couchbase
- Clique em Próximo
- Configurações de SAML:
- URL de logon único (URL DO ACS): Neste ponto, usaremos um espaço reservado: https://www.nowhere.compois ainda não temos essa URL. Mais tarde, voltaremos para concluir a configuração do ACS.
- URI do público (SP Entity ID): Defina o ID da entidade para o servidor Couchbase. Esse é um identificador exclusivo que o Okta usará para reconhecer seu serviço. Eu usarei "couchbase-demo-integration"
- Nome ID Formato: Normalmente definido como "Unspecified" (Não especificado) ou "EmailAddress" (Endereço de e-mail), dependendo de seus requisitos. Usarei Unspecified para essa configuração.
- Nome de usuário do aplicativo: Escolha como os nomes de usuário serão mapeados (geralmente "E-mail" ou "Nome de usuário Okta").
- Acabamento: Clique em "Finish" (Concluir) ou "Next" (Avançar) até concluir a configuração do aplicativo.
- Configurações gerais:
Baixar metadados do Okta
Configuração do Couchbase Server para atuar como um SP
Agora que você configurou o Okta como um provedor de identidade (iDP), é hora de preparar o servidor Couchbase para atuar como um provedor de serviços SAML (SP). Esta seção o guiará pelas etapas iniciais de instalação e configuração.
Configuração inicial
-
- Faça login na interface do usuário do servidor Couchbase: Faça login na interface de usuário administrativa do servidor Couchbase. É aqui que você definirá as configurações de SAML.
- Clique em Security (Segurança): Selecione segurança na navegação do lado esquerdo.
- Clique na guia SAML: na parte superior Localize a guia SAML e clique nela. Isso abrirá a página de configuração do SAML.
- Ativar a autenticação SAML: Há uma caixa de seleção abaixo do texto. Ative essa configuração.
- Faça login na interface do usuário do servidor Couchbase: Faça login na interface de usuário administrativa do servidor Couchbase. É aqui que você definirá as configurações de SAML.
Configuração de metadados
-
- ID da entidade SP: Defina o ID da entidade para o servidor Couchbase. Esse é um identificador exclusivo que o Okta usará para reconhecer seu serviço. Use o mesmo ID de entidade que você usou na tela do Okta: couchbase-demo-integração
- Detalhes da organização: Preencha os campos Org Name e contato com suas informações.
- Tipo de URL de base do SP: Selecionar URL personalizado e use a url em que seu serviço pode ser acessado pela Internet. Eu especificarei http://127.0.0.1:8091 pois estou executando o servidor Couchbase localmente.
- Assinar metadados: Certifique-se de que o Assinar metadados usando os certificados especificados abaixo está ativado.
Gerenciamento de certificados
Configuração do provedor de identidade
-
- Metadados abertos: Abra a seção de metadados dessa configuração
- Configurar metadados do IDP: Volte para a tela de configuração do Okta e copie o URL de metadados
- Abra-o: Cole o URL em uma nova janela do navegador
- Copie o conteúdo: Selecione o arquivo inteiro e copie o conteúdo para a área de transferência
- Cole o XML: Volte para o servidor Couchbase e altere os metadados do Load IDP de URL para Arquivo e cole o XML na área de texto:
É importante observar que você tem a opção de carregar diretamente os metadados do provedor de identidade especificando seu URL. Se você escolher essa abordagem, certifique-se de que os certificados de autoridade de certificação (CA) correspondentes também sejam carregados; caso contrário, o servidor Couchbase não conseguirá fazer download dos metadados do IdP. - Habilitar Verificar par remoto: Alterne a opção Verify remote peer (Verificar par remoto) para garantir que esteja ativada
- Impressões digitais confiáveis: Certifique-se de ativar todas as opções de validação de impressão digital:
- Impressões digitais abertas: Volte para a tela do Okta e abra a seção Impressão digital do certificado
- Copiar impressão digital: Copie a impressão digital SHA1 (formatada) para a área de transferência e cole-a na área de texto Impressões digitais confiáveis no Couchbase.
- Alterar o formato do ID do nome: Por padrão, o Okta usa Não especificado. Você precisa se certificar de que eles correspondem no Okta e no Couchbase Server. Vou mudar o Couchbase de persistente para não especificado alterando esse campo para urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified para corresponder ao padrão do Okta.
- Salvar configuração: Clique em Salvar para manter a configuração até o momento.
- Metadados abertos: Abra a seção de metadados dessa configuração
Continuação da configuração do Okta como IdP...
Agora que você tem o Couchbase e o endpoint do ACS, precisa voltar ao Okta para concluir a configuração.
Alterar espaço reservado
Configurações de SAML:
-
- Ir para Geral: Volte para o Okta e abra a guia Geral
- Abrir configurações de SAML: Role para baixo até Configurações de SAML e a opção Editar link
- Próximo: Clique em next (próximo) para ir para a guia SAML Settings (Configurações de SAML)
- URL de logon único (URL DO ACS): Digite o URL do Assertion Consumer Service (ACS) que você configurou no servidor Couchbase. Você precisa copiar o "URL de consumo do SP atual" da interface do usuário do servidor Couchbase e colar o valor nesse campo.
-
- URI do público (SP Entity ID): Neste ponto, você precisa verificar novamente se o "SP Entity ID" no servidor Couchbase é o mesmo que o "Audience URI" no Okta.
- Acabamento: Primeiro, pressione "Next" (Avançar) e depois "Finish" (Concluir) na parte inferior da tela para salvar as alterações.
Atribuir usuários ao aplicativo
-
- Vá para Assignments (Atribuições): Navegue até a seção Atribuições em seu aplicativo.
- Atribuir usuários: Clique em Atribuir e depois Atribuir a pessoas para adicionar usuários que usarão essa configuração de SSO SAML.
- Feito: Confirme a atribuição.
Fazer upload do certificado SP e ativar o logout
-
- Configuração de SAML aberto: Volte para a tela Configuração de SAML na interface do usuário do servidor Couchbase
- Salvar certificado SP: Clique no botão Download Metadata (Baixar metadados)
- Abrir arquivo: Abra o arquivo de metadados que acabou de baixar em um editor de texto
- Extrair certificado: Localizar <KeyDescriptor> dentro desse arquivo, no qual você encontrará o <X509Certificate> que contém o certificado.
- Certificado de formato: Aberto https://www.samltool.com/format_x509cert.php ou uma ferramenta semelhante para formatar esse certificado para incluir cabeçalhos.
- Salvar certificado: Salve o certificado formatado em um novo arquivo usando um editor de texto de sua escolha.
- Navegue até o Okta: Volte para o console do Okta e abra o aplicativo
- Ir para Geral: Volte para o Okta e abra a guia Geral
- Abrir configurações de SAML: Role para baixo até Configurações de SAML e a opção Editar link
- Próximo: Clique em next (próximo) para ir para a guia SAML Settings (Configurações de SAML)
- Mostrar avançado: Clique em Show Advanced Settings (Mostrar configurações avançadas)
- Navegue até o certificado de assinatura: Role para baixo até o campo chamado Certificado de assinatura
- Carregar certificado: Carregue o certificado que você salvou na etapa 6
- Habilitar solicitações assinadas: Abaixo do campo Carregar certificado, você pode encontrar a configuração Habilitar solicitação assinada. Você precisa ativar a opção Validar solicitações SAML com certificados de assinatura para que o iDP possa validar os SAMLRequests recebidos do Couchbase.
- Ativar o logout único: Também é possível ativar o logout único. Nesse caso, o servidor Couchbase fará o logout do usuário do iDP quando o usuário clicar no botão de logout na interface do usuário do servidor Couchbase.
- Primeiro, você precisa acessar o servidor Couchbase e copiar o URL de logout
- Cole-o no campo URL de logout único no Okta
- Copie também o ID da entidade para o campo Emissor do SP
- Observe que o logout só funcionará se você voltar ao Okta e copiar as informações de metadados novamente e atualizá-las no servidor Couchbase, pois os metadados originais não tinham o logout ativado.
- Primeiro, você precisa acessar o servidor Couchbase e copiar o URL de logout
- Acabamento: Primeiro, pressione "Next" (Avançar) e depois "Finish" (Concluir) na parte inferior da tela para salvar as alterações.
Seguindo essas etapas, você deve ter configurado com êxito o Okta como o provedor de identidade (IdP) para o seu provedor de serviços SAML (SP). A próxima seção abordará como mapear os atributos do usuário entre o Okta e o servidor Couchbase.
Mapeamento de usuários do Okta para usuários do Couchbase Server
Depois de configurar com êxito o Okta como seu provedor de identidade (IdP) e o servidor Couchbase como provedor de serviços (SP), a próxima etapa é garantir que os atributos do usuário sejam mapeados corretamente entre os dois. O mapeamento de atributos é crucial para uma experiência de usuário perfeita e para garantir que as informações necessárias do usuário estejam disponíveis no seu aplicativo.
Mapeamento de usuário para usuário
A maneira mais simples de mapear usuários é criar usuários externos no servidor Couchbase que correspondam aos usuários no Okta. Neste exemplo, fiz exatamente isso.
-
- Localizar e-mail no Okta: Volte ao painel do Okta e encontre o endereço de e-mail do usuário.
- Abra a interface do usuário do servidor Couchbase: Abra a interface do usuário do servidor Couchbase
- Clique em Segurança: À esquerda, você pode encontrar o link de segurança
- Abra a guia Usuários: Na parte superior, você encontrará a guia Users/Groups (Usuários/Grupos), clique nela para listar os usuários no Couchbase Server:
- Adicionar usuário: Clique no botão Add user (Adicionar usuário) no canto superior direito
- Usuário externo: Você precisa ter certeza de que configurou seu usuário como "Externo" consulte nossa documentação.
- Preencha o nome de usuário: Copie o nome de usuário do Okta para esse campo
- Definir funções: No lado direito, você precisa selecionar as funções exatas que o usuário deve ter
- Configurar grupos: (Opcional) Você também pode adicionar seu usuário externo a qualquer grupo do servidor Couchbase especificado anteriormente
Mapeamento de usuário para grupo
Outra maneira de mapear usuários é criar grupos no servidor Couchbase que correspondam aos grupos no Okta.
-
- Navegue até o Okta: Volte para o console do Okta e
- Criar um grupo: Crie um grupo no Okta chamado teste
- Abra o aplicativo: Selecione o aplicativo que você configurou anteriormente.
- Ir para Geral: Volte para o Okta e abra a guia Geral
- Abrir configurações de SAML: Role para baixo até Configurações de SAML e a opção Editar link
- Próximo: Clique em next (próximo) para ir para a guia SAML Settings (Configurações de SAML)
- Criar um mapeamento de grupo: Role para baixo até as declarações de atributo de grupo e crie um novo mapeamento. Neste caso, estou criando uma asserção chamada groups
- Navegue até a interface do usuário do servidor Couchbase: Volte para a interface do usuário do servidor Couchbase e abra as configurações de SAML
- Abra as configurações de logon único: Role para baixo e abra Settings > Single sign on
- Configurar mapeamento de grupo: Digite o nome da reivindicação de grupo que você criou no lado do Okta.
Para que isso funcione, é necessário certificar-se de que você tenha um grupo no servidor Couchbase que corresponda ao nome do seu grupo Okta. Depois que os grupos forem criados, você poderá fazer login com um usuário Okta no Couchbase, onde as funções do Couchbase serão inferidas a partir do mapeamento do grupo.
Conclusão
Parabéns! Se você seguiu este guia abrangente, agora deve ter uma configuração de logon único (SSO) e logout único (SLO) baseada em SAML totalmente funcional entre o Okta e o servidor Couchbase.
Em resumo, a integração do servidor Couchbase com o Okta via SAML não apenas simplifica o processo de autenticação, mas também aumenta a segurança, proporcionando uma experiência de usuário perfeita sem comprometer a integridade dos dados. Percorremos as etapas essenciais para configurar essa conexão e espero que este guia seja útil para você. Se encontrar algum desafio ou tiver outras dúvidas, sinta-se à vontade para entrar em contato por meio de nossos canais de suporte.