Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Route destination operations should require write permissions in the app's space

Aberta
#5,285 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
50/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
ruby

Direção de pesquisa

Comece pelas operações de destino de rota referenciadas em #5284: adicionar destino, substituir destinos, atualizar destino e excluir destino. Rastreie suas verificações de autorização e a cobertura de permissões existente e, em seguida, verifique se as quatro exigem space_developer ou space_supporter no espaço do app, com apenas admin como exceção e com as funções globais somente leitura negadas.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Issue

Currently, the permission model for route destination operations is inconsistent with respect to the app's space. The table below shows which roles in the app's space/org are sufficient (assuming the user already has space_developer in the route's space and the route has been explicitly shared with the app's space):

Role in app's space/org Add destination Replace destinations Update destination Delete destination
space_developer ✅ ✅ ✅ ✅
space_supporter ✅ ✅ ✅ ✅
space_manager ✅ ✅ ✅ ✅
space_auditor ✅ ✅ ✅ ✅
org_manager ✅ ✅ ✅ ✅
org_auditor ❌ ❌ ✅ ✅
org_billing_manager ❌ ❌ ✅ ✅
no role ❌ ❌ ✅ ✅
admin ✅ ✅ ✅ ✅
admin_read_only ✅ ✅ ✅ ✅
global_auditor ✅ ✅ ✅ ✅

Three problems stand out:

  1. Add/Replace: read-only roles (space_manager, space_auditor, org_manager) are sufficient to wire up routing to an app they cannot write to.
  2. Update/Delete: no role in the app's space is required at all — any user with write access to the route's space can modify or remove destinations regardless of which space the app lives in.
  3. admin_read_only and global_auditor: these read-only global roles can perform all four mutating operations, which contradicts their intended purpose.
Context

No response

Steps to Reproduce

see #5284

Expected Result

No response

Current Result

No response

Possible Fix

Proposed change: All four operations should require space_developer or space_supporter in the app's space. Only admin should be exempt as the global write role.
admin_read_only and global_auditor should be denied just like any other role without write access to the app's space.

Linguagem predominante
Ruby
Estrelas
207
Forks
373
Merge médio
2d 16h
PRs com merge (30d)
56

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de cloudfoundry/cloud_controller_ng

Todas as issues de cloudfoundry/cloud_controller_ng

Issues semelhantes

Mais issues de Ruby

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.