Conecte o ownCloud Infinite Scale ao Keycloak com OIDC.

Frequentemente, os usuários acessam a página de login do Keycloak, autenticam-se e, em seguida, são redirecionados para a tela de login do ownCloud Infinite Scale — ou veem um erro de "usuário desconhecido". As causas mais comuns são um emissor de domínio incompatível, um cliente web copiado de uma versão de exemplo diferente ou uma declaração de identidade que não corresponde a uma conta oCIS. Configure o Keycloak como o provedor OpenID Connect (OIDC) externo do oCIS, alinhe esses três valores e verifique se o navegador e os clientes conseguem acessar o provedor via HTTPS.

Este passo a passo utiliza hosts fictícios: cloud.example.compara oCIS e sso.example.compara Keycloak. A configuração faz referência à documentação do ownCloud Infinite Scale 8.2; compare os nomes com a documentação da sua versão instalada antes de aplicá-los. Este guia é para o Infinite Scale (oCIS), não para o ownCloud Server 10.

1. Verifique o domínio e o ponto de extremidade de descoberta.

Um provedor de identidade (IdP) autentica usuários para outro serviço. O OpenID Connect é o protocolo de login que permite ao oCIS confiar nas informações de login e identidade do Keycloak. Um realm é o conjunto separado de usuários, clientes e configurações do Keycloak. Escolha o realm que atenderá ao oCIS e, em seguida, identifique seu URL emissor: para o realm de exemplo ocis, é https://sso.example.com/realms/ocis.

Antes de editar o oCIS, abra-o https://sso.example.com/realms/ocis/.well-known/openid-configurationem um navegador. Este documento de descoberta OpenID Connect descreve os endpoints do provedor. Confirme se o issuervalor corresponde exatamente à URL do domínio, incluindo esquema, host, maiúsculas e minúsculas e caminho. O emissor não deve ser a página de administração nem a URL de descoberta mais longa. O certificado TLS do provedor deve ser confiável para os navegadores dos usuários e para o servidor/container do oCIS.

O JSON de descoberta do OpenID Connect mostra o emissor https://sso.example.com/realms/ocis na resposta do domínio do Keycloak.
O documento de descoberta deve informar o emissor de domínio exato configurado no oCIS.

Se a URL de descoberta não carregar, resolva primeiro os problemas de DNS, roteamento de proxy reverso, firewall ou certificado. Uma resposta bem-sucedida do navegador por si só não comprova que o contêiner oCIS consegue acessar o Keycloak; verifique também o acesso à rede a partir da rede de implantação do servidor. As regras de descoberta do OpenID Connect exigem que o emissor retornado identifique o mesmo provedor. Consulte a especificação de descoberta do OpenID Connect .

2. Associe o cliente Keycloak ao aplicativo web oCIS.

Use o exemplo de implantação do Keycloak no ownCloud como ponto de partida e certifique-se de que o arquivo de domínio corresponda à sua versão do oCIS. Não misture versões: o exemplo de composição atual usa o ID do cliente web web, enquanto notas de configuração mais antigas mencionam ocis-web. O Keycloak e o oCIS devem usar o mesmo ID de cliente.

No Keycloak, abra o domínio e o cliente web selecionados. Associe o fluxo de login e o ID do cliente ao exemplo do ownCloud. Defina URIs de redirecionamento válidas para os endereços de retorno de chamada exatos exigidos por esse domínio, usando o host HTTPS público. Defina as origens da web apenas conforme exigido pelo modelo. O curinga abaixo é ilustrativo e não uma recomendação para produção: padrões de redirecionamento amplos podem permitir destinos não intencionais. Os rótulos variam de acordo com a versão do Keycloak.

As configurações de exemplo do cliente Keycloak mostram o ID do cliente web e os campos para URIs de redirecionamento e origens web válidas.
Utilize o URI de redirecionamento e o ID do cliente do modelo de domínio que corresponde à sua versão do oCIS; os valores exibidos são exemplos.

Mantenha o nome de host público do Keycloak estável. Se o TLS terminar em um proxy reverso, configure o nome de host público e os cabeçalhos de proxy confiáveis ​​desse proxy; caso contrário, os redirecionamentos podem usar o esquema ou host incorretos. Siga as orientações do Keycloak para proxy reverso . Substitua as credenciais de administrador de demonstração antes de expor o Keycloak.

3. Direcione oCIS para o mesmo emissor e cliente.

Adicione essas variáveis ​​ao serviço oCIS na sua configuração de implantação, preservando as demais configurações e segredos. O exemplo utiliza URLs fictícios e o ID do cliente de exemplo atual:

OCIS_URL=https://cloud.example.com
OCIS_OIDC_ISSUER=https://sso.example.com/realms/ocis
WEB_OIDC_CLIENT_ID=web
PROXY_OIDC_REWRITE_WELLKNOWN=true
OCIS_EXCLUDE_RUN_SERVICES=idp

OCIS_URLé o endereço público do oCIS; o ID do emissor e o ID do cliente devem corresponder exatamente ao Keycloak. A reescrita habilita o caminho de descoberta usado pelos clientes de desktop, Android e iOS. A exclusão idpinterrompe o provedor integrado em implantações de IdP externo; omita-a se sua configuração usar esse serviço intencionalmente.

O editor de configuração lista OCIS_URL, OCIS_OIDC_ISSUER, PROXY_OIDC_REWRITE_WELLKNOWN e OCIS_EXCLUDE_RUN_SERVICES.
Essas configurações do oCIS direcionam a autenticação para o Keycloak e encaminham a descoberta OIDC para o provedor externo.

Aplique as alterações com o processo normal de reinicialização da sua implantação. Com o Docker Compose, execute o comando docker compose up -da partir do diretório `compose` para recriar os serviços alterados e, em seguida, revise os logs do oCIS. Use certificados TLS confiáveis ​​em produção. O exemplo do ownCloud marca INSECURE=trueuma opção de certificado autoassinado local; remova-a ou defina-a como `false` em um servidor voltado para a internet. O ownCloud também recomenda não usar essa opção PROXY_OIDC_INSECUREem produção.

4. Decida como oCIS deve identificar os usuários.

Uma declaração (claim) é um campo de identidade OIDC, como sub` username`, `mail` preferred_usernameou email`userID`. O oCIS usa esse campo para encontrar uma conta. Para usuários existentes, mapeie-o para o atributo que eles já utilizam — nome de usuário, e-mail ou ID do usuário. Uma incompatibilidade pode resultar na mensagem "usuário não encontrado" após o Keycloak aceitar o login.

Para criar contas no primeiro login, defina-as PROXY_AUTOPROVISION_ACCOUNTS=truesomente quando necessário e após habilitar as gravações no backend de usuários do oCIS Graph. O identificador deve ser único, estável e nunca reatribuído. O ownCloud o identifica subcomo adequado; use o e-mail ou o nome de usuário preferido somente se não puder ser alterado. Mantenha as declarações de criação e de consulta alinhadas.

PROXY_AUTOPROVISION_ACCOUNTS=true
PROXY_AUTOPROVISION_CLAIM_USERNAME=sub
PROXY_USER_OIDC_CLAIM=sub
PROXY_USER_CS3_CLAIM=username

Confirme se o Keycloak retorna a declaração escolhida no token ou na resposta de informações do usuário. Com o provisionamento automático desativado, um novo usuário não é criado no login; com um backend Graph somente leitura, o provisionamento pode falhar. Adicione o mapeamento de grupo ou função somente após o login funcionar. Consulte a documentação do ownCloud 8.2 sobre proxy e provisionamento automático antes de habilitar o acesso de gravação ou alterar os mapeamentos de identidade.

Verifique o fluxo completo de login.

Abra o oCIS em uma janela anônima do navegador e faça login. Você deverá acessar o domínio do Keycloak, autenticar-se e retornar ao mesmo host do oCIS da conta esperada. Teste primeiro com uma conta existente. Se o provisionamento estiver habilitado, teste com um novo usuário aprovado e confirme se ele foi criado com o nome de usuário desejado. Saia da conta e repita o login.

Um formulário de login aparece ao lado de uma lista de arquivos na nuvem com as pastas Documentos, Fotos, Projetos e Compartilhadas.
Após a autenticação bem-sucedida, o navegador deverá retornar à interface de arquivos na nuvem.

Para descoberta em desktop ou dispositivos móveis, abra https://cloud.example.com/.well-known/openid-configuration; a reescrita deve expor as informações do provedor do Keycloak. Um loop de login indica uma incompatibilidade de host ou esquema de redirecionamento. Um usuário rejeitado após um login bem-sucedido indica uma declaração ausente ou uma incompatibilidade entre PROXY_USER_OIDC_CLAIMe PROXY_USER_CS3_CLAIM.

Deixar um comentário

Limpar o aviso do arquivo .htaccess do Apache ownCloud com segurança

Limpar o aviso do arquivo .htaccess do Apache ownCloud com segurança

Defina AllowOverride All apenas para a raiz da web do ownCloud, valide o vhost ativo do Apache e recarregue com segurança para restaurar as regras do .htaccess.

Configure a auditoria do ownCloud Enterprise e verifique os registros.

Ative o aplicativo Enterprise Auditing do ownCloud, direcione os eventos admin_audit para um arquivo de log protegido e confirme se as ações reais do usuário estão sendo registradas.

Conecte o ownCloud Infinite Scale ao Keycloak com OIDC.

Conecte o ownCloud Infinite Scale ao Keycloak com OIDC.

Alinhe as declarações do emissor de domínio, do cliente web e do usuário do Keycloak para permitir que o ownCloud Infinite Scale faça login de usuários de forma confiável nos clientes web e móveis.

Transfira arquivos do ownCloud para um novo proprietário sem perder o compartilhamento.

Transfira arquivos próprios e compartilhamentos de saída com o comando occ do ownCloud, entenda o que permanece nos arquivos salvos e verifique o acesso antes de excluir a conta antiga.

Acelere as consultas do ownCloud 10 gerenciando índices com segurança.

Saiba quando os índices do banco de dados ownCloud 10 precisam de atenção, como aplicar atualizações de esquema compatíveis com segurança e quando o ajuste de consultas ou uma alteração no banco de dados é a melhor solução.

Montar um compartilhamento SMB/CIFS no ownCloud sem um ponto de montagem Linux.

Conecte um compartilhamento de rede Windows ou Samba ao ownCloud por meio de armazenamento externo, verifique credenciais e solucione problemas de pastas inacessíveis com segurança.

Limpe com segurança as versões de arquivos do ownCloud usando o comando occ.

Limpe com segurança as versões de arquivos do ownCloud usando o comando occ.

Remova todas as versões de arquivos do ownCloud Server Classic armazenadas para uma conta ou para todos os usuários e diferencie uma exclusão completa da expiração baseada em retenção.

Conexão móvel do ownCloud recusada? Verifique o URL e a acessibilidade.

Conexão móvel do ownCloud recusada? Verifique o URL e a acessibilidade.

Rastreie uma recusa de conexão móvel do ownCloud verificando o URL do servidor, a rede do celular, o endpoint HTTPS e os logs do servidor na ordem correta.

Execute tarefas em segundo plano do ownCloud de forma confiável com um temporizador do Systemd.

Substitua a execução de tarefas sob demanda por um temporizador systemd que execute o comando occ system:cron compatível com o ownCloud a cada 15 minutos.

Restaurar a sincronização WebDAV do ownCloud encontrando a rota interrompida.

Rastreie a solicitação WebDAV através do Apache, Nginx ou um proxy reverso e, em seguida, confirme se a sincronização do ownCloud funciona com um teste PROPFIND autenticado.