託管身分對於 Azure 中的安全跨服務通訊至關重要。它們消除了管理秘密、金鑰或連接字串的需要,從而實現了應用程式元件的無縫整合。在本部落格中,我將示範如何使用託管識別碼將 Azure SQL 資料庫連接到在 Azure 應用程式服務上執行的 Python 後端。
微軟身份驗證庫
要使用 Entra 身分連接到 Azure 服務,您需要 Microsoft 驗證程式庫 (MSAL)。在此範例中,我使用的是 Python 庫,但不用擔心,每種主要程式語言都存在 MSAL。
這是一個連接到 Azure SQL 資料庫的簡單函數:
滿足這些先決條件後,您可以在程式碼中建立資料庫連線並執行查詢,而無需處理機密或連接字串。
示範 Python 後端
為了演示,我創建了一個簡單的 Python Flask API,它會傳回員工數據,例如姓名、職位和薪水。注意如何使用 get_db_connection() 函數開啟資料庫連線並查詢資料。
這種簡單的方法可確保您的後端使用託管身分與資料庫安全地互動。
Dockerfile
如果您要在 Docker 容器中部署應用程序,這裡是用於安裝 SQL Server 的 ODBC 驅動程式的 Dockerfile:
此設定可確保您的容器已準備好安全連線至 Azure SQL。
SQL Server 與資料庫部署
部署 Azure SQL 伺服器時,設定僅 Azure AD 驗證。這是託管身分的要求。以下是部署 SQL 伺服器和資料庫的 Bicep 範本:
此範本確保資料庫已安全配置並可供使用。
授予託管身分資料庫角色
要讓您的應用程式服務能夠在沒有機密的情況下存取資料庫,請將必要的資料庫角色指派給託管識別碼。您無法使用 Bicep 或 Terraform 執行此步驟。建立自訂腳本或透過 Azure 入口網站存取資料庫。
這些角色允許託管身分根據需要執行讀取、寫入和架構更改操作。
GitHub 上的公開模板
有關完整的程式碼,包括 CI/CD 集成,請查看 GitHub 上的公開模板。此儲存庫包含複製本部落格中所述的設定所需的一切。
拉佐克斯
/
帶有 sql 資料庫的快速啟動後端
用於測試新應用程式功能的輕量級後端環境。它包括從託管應用程式到管理資料持久性的所有內容,並整合 CI/CD 以方便測試和迭代。
使用 SQL 資料庫連線快速啟動後端
此用例涉及使用 Azure SQL 資料庫部署 Azure 應用程式服務,以提供用於測試新應用程式功能的輕量級後端環境。它包括從託管應用程式到管理資料持久性的所有內容,並整合 CI/CD 以方便測試和迭代。
目標
- 在 Azure 上部署可擴充且安全的 Web 後端,用於測試新的應用程式功能。
- 使用 Bicep 自動設定基礎架構。
- 整合應用程式的持續部署,以便頻繁測試和輕鬆更新。
組件概述
- Azure 應用程式服務 - 部署簡單的後端 API。
- Azure SQL 資料庫 - 設定 SQL 資料庫以實現持久性。
- Azure 容器註冊表(可選)- 儲存容器映像以進行版本控制(如果您使用的是容器化版本)。
- 持續整合/持續部署 (CI/CD) - 使用 GitHub Actions 自動部署。
使用託管身分可以簡化跨服務通信,並透過消除對機密的需求來增強安全性。強烈建議任何在 Azure 中建立安全且可擴展的應用程式的人使用此方法。
以上是使用託管識別在 Azure 中實現安全的跨服務通信的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python的靈活性體現在多範式支持和動態類型系統,易用性則源於語法簡潔和豐富的標準庫。 1.靈活性:支持面向對象、函數式和過程式編程,動態類型系統提高開發效率。 2.易用性:語法接近自然語言,標準庫涵蓋廣泛功能,簡化開發過程。

Python因其簡潔與強大而備受青睞,適用於從初學者到高級開發者的各種需求。其多功能性體現在:1)易學易用,語法簡單;2)豐富的庫和框架,如NumPy、Pandas等;3)跨平台支持,可在多種操作系統上運行;4)適合腳本和自動化任務,提升工作效率。

可以,在每天花費兩個小時的時間內學會Python。 1.制定合理的學習計劃,2.選擇合適的學習資源,3.通過實踐鞏固所學知識,這些步驟能幫助你在短時間內掌握Python。

Python適合快速開發和數據處理,而C 適合高性能和底層控制。 1)Python易用,語法簡潔,適用於數據科學和Web開發。 2)C 性能高,控制精確,常用於遊戲和系統編程。

學習Python所需時間因人而異,主要受之前的編程經驗、學習動機、學習資源和方法及學習節奏的影響。設定現實的學習目標並通過實踐項目學習效果最佳。

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器