Ir diretamente para o conteúdo

Implementação do Acesso Único

Este guia de instalação irá ajudá-lo a configurar o Autenticação Única (SSO) para Mergin Maps servidor. O Mergin Maps servidor está integrado com os fornecedores de identidade SAML e OIDC mais utilizados através do serviço Ory Polis. O SSO está disponível para servidores da edição Enterprise.

Configurar o servidor

Para ativar o SSO em Mergin Maps, certifique-se de que tem SSO_ENABLED variáveis de ambiente definidas no seu .prod.env ficheiro:

concha
SSO_ENABLED=True

Para executar a pilha Ory Polis, é necessário definir variáveis de ambiente no ficheiro .sso.env ficheiro. No pasta de implementação para a edição empresarial, pode encontrar o .sso.env.template ficheiro com todas as variáveis necessárias e os respetivos valores por predefinição. Utilize o script fornecido para pré-gerar automaticamente o .sso.env ficheiro com todas as variáveis necessárias.

concha
cd implementação/empresa/sso
./sso-init.sh

O script também irá pré-gerar o SSO_SERVER_API_KEY variável para o Mergin Maps servidor. Esta variável é utilizada para autenticar o Mergin Maps servidor com Ory Polis. Se criaste o .sso.env ficheiro manualmente, é necessário definir esta variável de forma a que corresponda a uma das JACKSON_API_KEYS.

Preste muita atenção a estas variáveis de ambiente e altere os seus valores predefinidos antes de as utilizar em ambiente de produção:

  • NEXTAUTH_ADMIN_CREDENTIALS - credenciais de administrador para o portal de administração do Ory Polis. Trata-se de uma cadeia de caracteres separada por vírgulas com o seguinte formato: e-mail:palavra-passe, por exemplo: matthew@example.com:Pass123,james@example.com:Pass123
  • DB_URL - o URL de ligação à base de dados PostgreSQL (altere este valor se utilizar uma localização diferente para a base de dados do Ory Polis).
  • IDP_ENABLED - definir para verdadeiro para ativar o fluxo de autorização iniciado pelo IDP.

Mais detalhes sobre todas as variáveis Ory Polis disponíveis aqui.

Segurança na implementação em ambiente de produção

Após a inicialização bem-sucedida das variáveis de ambiente em .sso.env, recomendamos que verifique novamente os valores ou que gere os seus próprios segredos e certificados.

Iniciar a pilha de SSO

Para executar a pilha de SSO, é necessário ter um Mergin Maps — consulte a secção anterior sobre a implementação.

Instale o implementação/empresa/sso/sso-nginx.conf ficheiro para o merginmaps-proxy recipiente no docker-compose.yml ficheiro:

yaml
volumes:
  - ./sso/sso-nginx.conf:/etc/nginx/templates/sso.conf.template

Em seguida, reinicie ou atualize a configuração no merginmaps-proxy conténcer e iniciar a pilha de SSO:

concha
docker compose -f docker-compose.sso.yml up -d

O painel de administração do Ory Polis estará disponível em http://localhost:8081 (o valor em SSO_SERVER_URL). Pode iniciar sessão no portal de administração com as credenciais que definiu na variável NEXTAUTH_ADMIN_CREDENTIALS.

Domínio para o serviço de SSO

Recomendamos que o servidor Ory Polis seja executado num domínio ou subdomínio separado, para que fique acessível aos seus utilizadores. Para a sua implementação em produção, utilize HTTPS para disponibilizar o serviço SSO. Consulte o ssl-sso-proxy.conf ficheiro no pasta de implementação. Também é necessário definir a variável SSO_SERVER_URL para o URL publicamente disponível do serviço Ory Polis.

Se pretender configurar o serviço Ory Polis para funcionar no seu próprio domínio em ambiente de produção (por exemplo, sso.example.com), é necessário adicionar este domínio às seguintes variáveis:

  • EXTERNAL_URL=https://sso.example.com
  • NEXTAUTH_URL=https://sso.example.com
  • SSO_SERVER_URL=https://sso.example.com

Mergin Maps e a comunicação da Ory Polis

Se o seu Mergin Maps O servidor está a funcionar sem ligação ao Ory Polis, que está disponível ao público SSO_SERVER_URL, pode definir endereços IP internos ou nomes de domínio (por exemplo, http://sso:5225) nas seguintes variáveis para garantir a comunicação: SSO_SERVER_INTERNAL_URL=http://sso:5225 e SSO_SERVER_API_URL=http://sso:5225.

Configurar a ligação SSO

Já pode configurar a sua primeira ligação SSO (SAML ou OIDC) no painel de administração do Ory Polis.

Siga os passos abaixo para criar uma nova ligação:

  • Aceda ao Mergin Maps painel de administração e inicie sessão.
  • No menu da esquerda, clique em «Administração do SSO».
  • Inicie sessão no painel de administração do Ory Polis utilizando as credenciais do NEXTAUTH_ADMIN_CREDENTIALS variável.
  • Aceda ao separador «Enterprise SSO » e clique em «Nova ligação».
  • Escolha SAML ou OIDC como tipo de ligação.
  • Preencha o nome da ligação e a descrição (qualquer valor).
  • Indique o seu nome de domínio no Inquilino campo - este é o domínio dos e-mails dos seus utilizadores (por exemplo, os e-mails dos seus utilizadores serão user@your.company.com, depois utilize sua.empresa.com no Inquilino (campo).
  • Introduza o valor mergin-maps-produto no Produto campo.
  • Especificar URLs de redirecionamento permitidas com o nome de domínio do seu Mergin Maps servidor (por exemplo, https://merginmaps.example.com) e os nomes de domínio utilizados por Mergin Maps clientes (http://localhost:10042, http://127.0.0.1:10042, http://[::1]:10042 e https://hello.merginmaps.com/mobile/sso-redirect).
  • Indique o URL de redirecionamento predefinido com o nome de domínio do seu Mergin Maps servidor.

O seu formulário de ligação terá este aspeto para os seus utilizadores com sua.empresa.com domínio e Mergin Maps servidor em execução em https://merginmaps.example.com:

Configuração da ligação SSO

Para os restantes parâmetros de configuração da ligação, consulte a documentação da Ory Polis relativa ao seu fornecedor SAML ou OIDC e siga os passos para configurar a sua ligação.

Depois de criar a ligação, aceda ao seu Mergin Maps painel de controlo e clica em «Continuar com o SSO».