Kudu 服務概觀

Kudu 是 Azure App 服務 中某些功能背後的引擎,與原始檔控制型部署和其他部署方法相關,例如Dropbox和 OneDrive 同步處理。

存取您應用程式的 Kudu

每當您建立應用程式時,App Service 會為其建立受 HTTPS 保護的隨附應用程式。 此 Kudu 應用程式可透過下列 URL 存取:

  • 不在隔離層中的應用程式: https://<app-name>.scm.azurewebsites.net
  • 隔離層中的因特網面向應用程式 (App Service 環境):https://<app-name>.scm.<ase-name>.p.azurewebsites.net
  • 隔離層中的內部應用程式(App Service 環境 內部負載平衡):https://<app-name>.scm.<ase-name>.appserviceenvironment.net

如需詳細資訊,請參閱 存取 Kudu 服務。

Kudu 功能

Kudu 提供 App Service 應用程式的相關實用資訊,例如:

  • 應用程式設定
  • 連接字串
  • 環境變數
  • 伺服器變數
  • HTTP 標頭

它也提供如下的功能:

  • 在 Kudu 控制台中執行命令。
  • 下載 IIS 診斷傾印或 Docker 記錄。
  • 管理 IIS 進程和網站延伸模組。
  • 新增適用於 Windows 應用程式的部署 Webhook。
  • 允許使用 /ZipDeployZIP 部署 UI。
  • 產生 自定義部署腳本。
  • 允許使用 REST API 進行存取。

對於 Linux Kudu POST /api/command,不要假設分號連鎖指令會隱含解讀為 shell 語法。 偏好分別請求診斷指令。 不要將不受信任的輸入串接進指令字串;明確呼叫 shell 會增加解析和指令注入的風險。

HTTP 成功回應並不會建立遠端指令成功。 Output檢查 和 Error,並要求 的0有效ExitCode性以確認成功。

對於 Linux 應用程式,Kudu 也提供經過認證的容器存取代理,無需 SSH 伺服器或自訂映像檔內嵌的 SSH 密碼。 預覽 az webapp exec 指令會在主應用程式容器中開啟一個 shell,或在 --target kuduKudu 容器中開啟 。 這些是獨立的環境。 分離執行只針對主要的應用程式容器。 關於範例與限制,請參閱 開啟容器殼(SSH)並執行指令。

存取 Kudu 所需的 RBAC 許可權

若要使用 Microsoft Entra 驗證在瀏覽器中存取 Kudu,您必須在應用程式範圍內指派適當的內建或自定義角色。 指派的角色必須包含資源提供者作業的許可權 Microsoft.Web/sites/publish/Action 。 下表顯示包含此許可權的範例內建角色。

角色類型 內建角色範例
工作職能角色 網站參與者
Logic Apps 標準開發人員
特殊許可權系統管理員角色1 擁有者
參與者

1 特殊許可權系統管理員角色授與的許可權遠高於存取 Kudu 所需的許可權。 如果需要建立新的角色指派,請考慮是否可以改用具有較少存取權的作業函式角色。

若要深入瞭解如何建立角色指派,請參閱角色型訪問控制概觀。

更多資源

Kudu 是開放 原始碼專案。 其有 Kudu Wiki 的檔。