apache / apache/cloudstack

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

オープン
#13,911 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
component:networking type:new-feature
主要言語
Java
スター
3.1k
フォーク
1.4k
平均マージ
6日 19時間
マージ済み PR(30日)
32

説明

### 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.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、既存の DNS サーバー設定フローと PR #13821 を確認し、アカウント、ドメイン、プロジェクト、root 管理者の所有関係がどのように表現されているかを追跡します。root 管理者がユーザー、ドメイン、またはプロジェクトに DNS サーバーをプロビジョニングでき、プロビジョニングされたユーザーとドメインが URL を変更できない状態になれば完了です。スコープと権限のルールは、適切なテストでカバーする必要があります。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
authorization, backend-api-design, cloud, networking
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。