What is Azure Functions?

Azure Functions 是託管在 Microsoft Azure 中的自動化開發人員工具。 這是一項完全受管的隨選服務,無需額外的技能和培訓即可使用該服務-您只需部署功能並執行工作即可。 函數使用無伺服器任務來自動回應事件;資料流或訊息佇列中的資料變更等觸發器可以從 Azure 產生智慧回應。

確保所有 Azure 公共資源都受到良好保護非常重要,尤其是在執行 Function Apps 時。 由於 Function App 的性質,具有強大的安全性至關重要,尤其是當 Function App 正在向本地資源推送或從地方資源提取數據時。

在本文中,我們將了解 Azure Function 是什麼及其運作原理,以及為什麼實施雲端原生安全對於 Function Apps 降低風險和改善企業雲端資安狀況至關重要。

申請示範 無伺服器優勢電子書

What is Azure Functions?

Azure 函式定義

Azure Functions 為開發人員提供了一個用於編寫和本機執行程式碼的雲端平台。 使用 Azure Serverless Functions 計算產品幾乎可以即時處理程式碼。 無需擔心使用 Azure Functions 進行基礎架構託管,也無需擁有自己的伺服器來測試程式碼。 最重要的是,僅在代碼運行時才會收取費用。

Azure Functions 可以直接在 Azure 入口網站中建立,也可以整合到您最喜歡的開發工具中,例如 Visual Studio、IntelliJ 或 PyCharm。 Azure 函數的生命週期較短,通常只會執行幾秒鐘或幾分鐘。 用戶只需創建功能應用程序,配置環境並運行工作。 Azure 雲端平台會處理其他所有事務,並讓您設定配額以掌握計費情況。

Azure 無伺服器函數提供使用者基於瀏覽器的介面,並支援最受歡迎的程式語言,包括 C#、Java、Python、PHP、Bash、PowerShell 等。

Azure Functions 巧妙地直接與 Twillo、Facebook 和 Twitter 等雲端原生第 3 方應用程式集成,並直接與 Azure 運算、資料庫和儲存服務等核心 Azure 服務集成。 這使用者能夠自動化任務並直接從函數輸出觸發多個工作。

Azure Functions 在無伺服器運算環境中執行,Microsoft 在底層提供了廣泛且高度可用的雲端基礎設施來運行 Function App。 無伺服器環境涵蓋多個全球區域的廣泛全球平台。 在無人值守的無伺服器工作負載中,安全性非常重要,而且 您正在執行的程式碼必須針對無伺服器工作負載進行安全。請隨時記住,保護雲端資產的安全是客戶的責任。

Azure Functions 的工作原理

Azure Functions 是由觸發器自動呼叫的事件驅動操作。 觸發器對於 Azure Functions 極為重要,因為它們可以由各種來源觸發器啟動。 觸發程序來自許多不同來源,例如資料來源、記錄檔和事件,並且必須有安全性才能將環境隔離到核准的來源至關重要。

例如,考慮一個 HTTP 請求 (HTTPTrigger):只有來自授權來源(例如 ERP 端點或特定網頁網址)時才應對其進行驗證。 觸發程序可以按個人化排程作為 cron 工作的一部分,或使用 TimeTrigger 在預先定義的時間進行排程。 

事件是流行的觸發器,可以從各種來源調用,例如 Azure 儲存隊列、Azure 事件網格和 EventHub。 觸發器也可以從訊息佇列運作;這可能是從線上網站訂單到對行銷電子郵件的智慧回應。

功能通常遵循非常簡單的可重複過程。 執行程式碼時,Azure Functions 會建立一個輸出綁定,用於執行工作流程中的下一個任務,而該任務又可能執行另一個任務。 使用的輸出綁定取決於所使用的 Azure Function 的類型,但最常見的輸出是 Webhook、警報和日誌記錄。

Azure 函數功能

Azure Functions 的無伺服器性質引進了 幾個關鍵功能 與基本 Azure 服務無縫集成,其中包括:

  • 自動事件回應: 對事件建立自動回應的能力對生產力有所改變。 Webhook 可觸發關鍵通知警報或驅動智能響應。
  • 以觸發為基礎的執行: 以觸發為基礎的執行可節省大量人力,並加速創新。 您可能不再需要管理員手動回應頻繁的事件和工作。
  • 平台無關主義者: Azure Functions 與雲端和平台無關,這意味著您可以向另一個雲端中的另一個服務觸發事件,並且它幾乎可以在包括容器在內的任何平台上運行。
  • 支援所有主要程式設計語言:函數為您的開發人員提供了用於建立、偵錯和部署程式碼的完整工具集,以及所有流行的程式語言,包括 C#、Java、Python 和 PowerShell,讓您的開發營運團隊感到滿意。
  • 與 Azure 服務集成:Azure Functions 本身與大部分 Azure 服務集成,包括 Azure Blob 儲存體、Azure Cosmos DB 和 Azure 虛擬機器。
  • 與第三方應用程式整合:通常會發現整合了 Azure Functions 來自動記錄警報通知、手機通知以及將資料推送到 Slack 和 Twillo 等工具。 

Azure Functions 的優勢

Azure Functions 在小型、中型和大型企業中廣泛採用,原因如下:

  • 速度:函數很快,通常只需幾秒鐘才能初始化,通常會在幾分鐘內完成執行,具體取決於任務的內容。 
  • 簡化:無需啟動服務器來測試您的代碼,因為無服務器架構為您做到這一點。 
  • 適用於 CI/CD: Azure Functions 在以下環境中運作良好 CI/CD 環境,可以編程以根據需要自動構建代碼。 Jenkins 集成良好,允許您觸發容器構建,部署代碼,構建 AMI, Kubernetes 集群,等等。 

測試:觸發器可以配置為針對建置的每個階段執行測試、建置任何關聯的 Azure 基礎架構並部署 Functions App。

如何保護 Azure Functions

保護 Azure Functions 的安全性非常重要,因為設定錯誤的 Function App 可能會造成很大的傷害。 跨 Azure 帳戶部署的 Function Apps 數量也可能會顯著增加,使其難以管理。 Check Point 與 Microsoft 合作提供 Check Point 的 CloudGuard 網路安全防護 套件可以動態保護、監視 Azure Functions 並與 Azure Functions 互動。

The Check Point CloudGuard 工作負載保護插件 將直接與 Azure Function App 互動。 該插件具有一些令人難以置信的功能,您所要做的就是 啟用 部署功能應用程序時的插件。 在部署過程中,CloudGuard工作負載會執行 主動 執行初始風險評估檢查安全風險,例如硬編碼憑證、函數格式化、空格等的程序。

接下來,將執行時間保護模組載入到函數中 – 函數自我保護 (FSP) 工具是 Check Point CloudGuard透過建立抽象層與函數互動的方式。 借助 FSP,您可以使用工作負載防火牆來保護輸入,該防火牆會掃描惡意負載、檢測異常行為並建立白名單以將函數行為中的預期偏差列入白名單。 

有關 Functions 的所有內容都可以在CloudGuard控制台上找到,這是一個單一的管理平台,可讓您全面了解有關 Azure Function App 的所有資訊。 圖表顯示了該功能涉及哪些服務,運行時保護將掃描所有工作負載並針對潛在風險發出警報,例如過於寬鬆的規則、安全脆弱性和意外行為。 控制台甚至為用戶提供建議的中介頁面,說明如何使用程式碼修復任何問題。

帶有Check Point的 AWS Lambda 安全性

對於任何使用 Amazon Web Services 的人來說,您都會很高興知道雲端工作負載保護平台 (CWPP) 也適用於 AWS Lambda (亞馬遜相當於 Azure Functions)。 所提供的保護是相同的,為客戶提供了對跨資料中心、AWS、Azure Stack、混合雲端和安全虛擬網路運行的功能的更好的可見性和安全控制。

AWS Lambda 和 Azure Functions 越來越受歡迎,這就是為什麼您不想在函數應用程式的安全性方面冒任何風險。 將 AWS 和 Azure 主控台內建的安全控制與 Check Point CloudGuard結合,以獲得最佳的安全抽象層。 保護程式碼並智慧監控所有無伺服器活動。

想要了解有關保護 Azure Function 或 AWS Lambda 的更多資訊? 安排演示 了解 CloudGuard 令人印象深刻的精細安全功能的實際應用,從部署到雲端的那一刻起就保護工作負載。

×
  反映意見
由於 Cookie 有其功能且可供我們用於資料分析和行銷等相關業務,本網站是有使用 Cookie 的。繼續瀏覽本網站即表示您同意我們使用 Cookie。若欲了解更多相關資訊,請參閱我們的 Cookie 聲明