The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

現有的 Azure 用戶如何快速與我們建立微軟合作夥伴連結

我們公司是微軟金級合作夥伴(Gold Certified Partner),每當有客戶跟我們購買 Azure 或 Microsoft 365 的時候,我們多少都會提供一些免費的技術支援,提供一些設定上的協助。如果是直接跟我們購買訂閱(Subscription)的客戶,通常不太需要特別設定建立合作夥伴連結,但是你如果原本就有訂閱,後來才找我們購買的人,就可能會沒有設定到,此時就需要特別與我們建立合作夥伴連結。這篇文章我將說明建立合作夥伴連結的三種方式。

... 繼續閱讀 ...

使用 Azure Developer CLI 改善 Azure 開發人員的整體開發體驗 (DX)

Azure Developer CLI (azd) 是一套以開發者為中心思考的命令列工具,專門用來建立可以部署到 Azure 的雲端應用程式。他提供一組命令可以幫助你在開發專案時,可以在專案範本、設定 CI/CD、整合開發工具(IDE)之間擁有一致的開發體驗,而且可以大幅降低 Azure 部署的進入門檻。這套工具還在預覽階段,專案範本很少,不過感覺很有發展潛力,今天這篇文章,我就來帶大家走一遍這套工具的使用過程。

... 繼續閱讀 ...

如何透過 PowerShell 自動寫入執行檔路徑到 PATH 使用者環境變數

今天看到微軟推出 Azure Developer CLI 工具 (預覽版) 的消息,便立即安裝起來玩看看,而在安裝的過程中有發現他有用 PowerShell 寫入 PATH 環境變數,我就把安裝程式解析了一下,發現有一段 Code Snippet 相當實用,以後寫安裝程式的時候就可以直接沿用了。

... 繼續閱讀 ...

使用 Postman 來操作 Azure REST APIs 最簡單的設定方法

有些時候 Azure CLIAzure Portal 都無法完成特定操作時,就需要靠 Azure REST API 來完成一些沒有 UI 的操作,這種操作通常都不太常見,也通常不需要自動化,所以臨時想要執行特定操作時,快速的設定就變的很重要。這篇文章我將介紹一個非常簡單的方法取得 Bearer Token,幫助你更快的完成 Azure REST API 呼叫。

... 繼續閱讀 ...

如何強制刪除含有自訂域名的 Azure Front Door 服務資源

最近幫客戶導入 Azure Front Door 負載平衡器與 WAF 服務,在進行一連串的測試之後,發現想刪除測試用的 Front Door 服務卻無法刪除。原因是 Azure Front Door 當有設定 自訂域名 (Custom Domain) 的時候,預設會需要事先設定自訂域名的 DNS CNAME 紀錄,然而在刪除 Front Door 資源的時候,卻需要先刪除該 CNAME 紀錄才能刪除該資源,有點不太方便。因為 DNS 註冊在客戶端,且申請刪除 CNAME 紀錄需要好幾天時間,所以便研究了一下如何在不解除 CNAME 記錄的情況下刪除 Azure Front Door 資源。

... 繼續閱讀 ...

如何以 Guest 身份將 Azure 的 Service Principal (服務主體) 加入角色指派

最近加入到一個客戶的 Azure 訂用帳戶設定 CI/CD,在做這件事情之前,當然是先建立好 Service Principal (服務主體),然後才進行角色指派,讓該服務主體擁有必要的權限才能進行部署。不過建立完成後才發現,我忘記將 Storage account (儲存體帳號) 的 Storage Blob Data Contributor 角色指派給我建立好的 Service Principal (服務主體),以致於我無法透過 AzCopy 複製檔案進 Blob 容器中。最悲劇的地方,就是我的 Guest 身份竟然無法讀取 Service Principal (服務主體) 的任何資訊,導致我無法順利指派角色,這篇文章我就來說說我的最終解法!

... 繼續閱讀 ...

變更 Azure App Service 的時區設定需注意 Windows 與 Linux 平台的差異

當你在 Azure 使用 App Service 部署網站時,預設的時區是設定在 UTC 時間,當你的網站不需要處理跨時區的問題時,最簡單的解法,當然就是調整系統設定,讓你的程式可以直接讀取到台灣時區的時間 (UTC+8),原本我們都設定的好好的,但上周突然決定要改用以 Linux 為主的 App Service Plan,這才發現時區設定失效了,查詢後才發現原來設定不同!這篇文章我將說明如何正確的調整 App Service 的時區設定。

... 繼續閱讀 ...

資訊安全筆記:盤點 Azure 訂用帳戶與角色指派的方法

在 Azure 所有 使用者 (User) 與 服務 (Service) 都代表著一個 主體 (Principal),而 Azure 的 RBAC (以角色為主的存取控制) 主要就是針對 主體 (Principal) 來進行角色指派 (授權),因此我們可以對 使用者主體 (User Principal) 或 服務主體 (Service Principal) 設定在不同資源所擁有的角色。本篇文章我打算來分享幾個方法,教你如何在特定 訂用帳戶 (Subscription) 下查出有哪些主體被設定了哪些角色,以及特定主體已經被授權到了哪些訂用帳戶哪些資源哪些角色,藉此用來盤點是否有不當授權的狀況。

... 繼續閱讀 ...

在 Azure 實現 GitOps 的起手式:使用 Bicep 部署 Web 應用程式

我經常需要在 Azure 手動建立許多測試站台,雖然說設定上並沒有很複雜,但是時間一久,累積出將近百來個 Web App 也是蠻難維護的,而且 組態漂移 (Configuration Drift) 的問題也會日趨嚴重,久而久之就不知道服務到底是怎樣設定出來的了。近幾年很夯的 GitOps 觀念興起,讓你可以使用 Git 管理基礎架構的所有設定,用應用程式開發的流程來管理維運的基礎架構,提升基礎架構的可維護性。本篇文章我就簡介一下 Azure 專用的 Bicep 語言,教你如何利用 Bicep 實現 Azure 雲端平台的 GitOps 架構。

... 繼續閱讀 ...

如何正確的授權 Azure SQL Database 資料庫權限給開發人員

我們公司許多開發測試用的資料庫都直接使用開在 Azure SQL Database 中,然而如果錯誤的授權可能會導致權限過大,甚至有可能刪除資料庫本身。本篇文章我打算分享幾個建立 SQL Server 登入與資料庫使用者的過程,幫助管理者更加正確的授權給開發人員與應用程式。

... 繼續閱讀 ...

存取 Azure Container Registry (ACR) 的多種認證授權方法

Azure Container Registry (ACR) 是 Azure 雲端平台非常重要的基礎建設,不但可以用來儲存 Docker Images,也可以用來儲存 Helm Charts 在上面。除此之外,企業所需的身份認證授權功能也相當完整,但只要扯到認證授權,事情就會複雜許多。這篇文章我將深入探討 ACR 各種不同的認證授權方法,幫助企業導入 ACR 使用。

... 繼續閱讀 ...

如何強制關閉 Azure Web Apps 內建支援的 PHP 執行環境

前幾天有個朋友告知部署在 Azure Web App 的網站被駭客入侵,可能被植入木馬後門之類的程式,我上去查看之後發現,果然被寫入了一個編碼過的 PHP 程式,確認為後門程式。明明是一台只有跑 ASP.NET 的網站,隨便被植入一個 PHP 檔案,竟然也能被執行。而且還沒有關閉的管道,連 Azure Portal 都無法設定關閉。本篇文章將分享強制關閉 PHP 的方法,如果有人也將網站跑在 Azure Web App 網站上,建議花點時間設定一下。

... 繼續閱讀 ...