apache / apache/cloudstack

Allow root admin to configure DNS servers on behalf of a specific user/domain and support project-scoped DNS servers

Aperta
#13,911 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
component:networking type:new-feature
Lingua principale
Java
Stelle
3.1k
Fork
1.4k
Merge medio
6g 19h
PR unite (30g)
32

Descrizione

### The required feature described as a wish

Currently, a DNS server can only be set up for the calling account/domain, there is no way for a root admin to configure one on behalf of a different account or domain, and no way for a DNS server to belong to a project.

As a root admin, I would like to be able to:

1. Set up a DNS server on behalf of a specific user/account
2. Set up a DNS server on behalf of a specific domain
3. Attach a DNS server to a project

Additional constraint:

4. If a DNS server was set up by root admin on behalf of a user/domain, that user/domain should not be able to modify its URL themselves. Only root admin (or whoever provisioned it) should be able to change it.

Motivation:

Asks 1 and 2 are primarily driven by the recent restriction that only root admin can configure a DNS server on a private/internal (RFC1918) address, domain admins and regular users can no longer do so directly (see [PR #13821](https://github.com/apache/cloudstack/pull/13821/commits/1545adde35dd68a90291687fc3f7cec23b1e13f6)). Without a way for root admin to provision such a server on behalf of another account/domain, that use case is lost entirely for non-root-admin users.

Ask 3 (project support) wasn't part of the initial scope for this feature. It's being tracked here as a follow-up enhancement rather than a gap in the original design.

Ask 4 follows directly from 1 and 2: if the owning user/domain could freely change the URL afterward, they could redirect an admin-provisioned DNS server anywhere they like, defeating the purpose of restricting private-address setup to root admin in the first place.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia esaminando il flusso di configurazione esistente del server DNS e la PR #13821, quindi traccia il modo in cui viene rappresentata la proprietà di account, domini, progetti e amministratori root. Il lavoro è completo quando gli amministratori root possono effettuare il provisioning di server DNS per utenti, domini o progetti, mentre gli utenti e i domini sottoposti a provisioning non possono modificare i propri URLs; le regole relative all'ambito e ai permessi dovrebbero essere coperte da test appropriati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
authorization, backend-api-design, cloud, networking
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.