Permitir que o usuário anônimo visualize apenas a lista de tarefas sem navegar no espaço de trabalho no Jenkins

15

Estamos executando um CI Jenkins. Geralmente gostaríamos de fornecer

  1. acesso total a usuários autenticados de um grupo específico
  2. acesso de leitura completa a usuários anônimos
  3. bloquear usuários anônimos para acessar determinados projetos (completamente)

Usamos o banco de dados de usuário / grupo Unix e a Estratégia de autorização de matriz baseada em projeto . Os pontos (1) e (2) funcionam bem, mas estamos tendo problemas para conseguir (3).

Nós tentamos:

  • em Global Security, removendo todos os direitos ao anônimo e concedendo-o em segurança baseada em projeto, mas depois disso todos os pedidos anônimos (até a página principal do Jenkins) produzem a página de login
  • na Segurança Global, adicionando as seguintes etapas aos seguintes direitos: Ver / Ler (não funcionou), Descobrir trabalho (não funcionou), Ler / Trabalhar (não funcionou), Ler Overal - este último parecia funcionar no entanto concedeu muitos direitos ao usuário anônimo e não conseguimos limitar o acesso ao projeto em particular.

tl; dr

queremos um Jenkins CI totalmente aberto (com leitura), com alguns projetos completamente ocultos / bloqueados para anonimato.

Wojtek
fonte

Respostas:

20

OK, então eu consegui fazer isso:

  • você precisa do plug-in de estratégia de autorização com base em funções
  • habilite essa estratégia de autenticação em Configure Global Security
  • em Gerenciar e Roles Atribuir / Gerenciar funções criar novo papel anônimo e autenticado para ambas globais e do projeto papéis
  • nas funções Globais concedem uma função anônima apenas para Geral / Leitura (isso acessará pelo menos a tela principal de jenkins do usuário anônimo com navegação e link para a página de login, não o prompt de login imediatamente)
  • em Função do projeto, adicione função anônima com o padrão regexp que corresponderá aos projetos que você deseja que os usuários anônimos acessem e, após adicionar essa função, conceda-o direito a Trabalho / Leitura e Trabalho / Descoberta
  • Navegue para Gerenciar e Roles Atribuir / Roles Atribuir e atribuir Anonymous grupo de usuários para anônimo papel (e os usuários autenticados para grupos específicos). SALVE 
Wojtek
fonte
Uma pegadinha relacionada é que a estratégia de função diferencia maiúsculas de minúsculas na correspondência de nomes de usuário. Eu havia inserido nomes de usuário em maiúsculas na página "Atribuir funções". Efetuei login com nome de usuário em minúsculas e, mesmo que meu nome de usuário seja exibido em maiúsculas, nenhuma função corresponde ao meu usuário. Minhas permissões permitidas voltaram para a de usuário anônimo. Se eu entrar com nome de usuário em maiúsculas, ele funcionará.
s_t_e_v_e
Enquanto essa resposta funciona, você já explicou o objetivo ou a configuração da função "autenticada".
Brad Wood
isso é apenas um atalho - pode ser "anônimo" e "privilegiado"; Eu usei "autenticado" porque o subconjunto de pessoas disponíveis para visualizar e editar essas tarefas ocultas específicas seria igual àquelas que realmente têm a conta.
Wojtek 30/05
Este vídeo me ajudou .. savjee.be/videos/get-started-with-jenkins/…
Anand Varkey Philips
2

Com o https://wiki.jenkins.io/display/JENKINS/Role+Strategy+Pluginplugin acima

então você NÃO precisa adicionar authenticatedfunção na página Gerenciar Funções .

Capturas de tela: Gerenciar funções e atribuir funções

Yanjiong Wang
fonte