DevSecOps,也稱為 安全 DevOps,是指在 DevOps 工作流程中,將軟體開發生命週期(SDLC)每個階段的安全整合進行實務。 AKS 上的 DevSecOps 將此方法應用於運行於 Azure Kubernetes Service 上的容器化應用程式,將自動化安全控制直接嵌入 CI/CD 管線與叢集操作中。 將安全性納入 DevOps 實務中,以:
- 讓您的應用程式與系統更安全,提供安全威脅的可視性,並防止漏洞進入已部署的環境。
- 提升開發與營運團隊的安全意識。
- 將自動化資安流程納入您的軟體開發生命週期(SDLC)。
- 透過在開發與設計階段早期發現安全問題,降低修復成本。
重點摘要
- Shift-left 安全性:在開發初期整合安全檢查,使用 IDE 外掛、預提交鉤子及安全程式碼標準,在程式碼進入生產環境前發現漏洞。
- 自動掃描:在CI管線中使用靜態應用程式安全測試(SAST)、軟體組合分析(SCA)及秘密掃描,自動偵測程式碼漏洞、不安全相依及暴露憑證。
- 原則強制執行:使用 Azure 原則 稽核 Azure Container Registry 組態。 若要對 AKS 進行准入強制執行,請使用適用於 AKS 的 Azure 原則 增益集,其可延伸 Gatekeeper。
- 持續監控:透過 Microsoft Defender for Containers 實施執行時威脅防護,使用 Azure 監視器 進行集中式日誌,並與 Microsoft Sentinel 整合 SIEM。
- 供應鏈安全:產生 SBOM、簽署容器映像檔,並僅從受信任的登錄檔部署,以維護工件完整性。
當你將 DevSecOps 套用到 Azure Kubernetes Service(AKS)時,每個組織角色都有特定的安全考量:
- 開發者會建立在 AKS 上執行的安全應用程式。
- 雲端工程師建立安全的 AKS 基礎設施。
- 營運團隊可能負責管理叢集或監控安全問題。
本文依照 DevOps 生命週期階段組織指引,並提供安全控管與最佳實務建議。 它涵蓋了持續整合與持續交付(CI/CD)管線的常見流程與工具,重點在於內建工具。
程序流程
下載此架構的 Visio 檔案 。
Note
本文提及 AKS 和 GitHub,但你可以將這些建議應用在任何容器編排或 CI/CD 平台上。 實作細節可能有所不同,但每個階段的大部分概念與實務仍然適用。
Microsoft Entra ID 被設定為 GitHub 的身份提供者。 設定多重驗證(MFA)以提供額外的認證安全性。
開發者使用 Visual Studio Code 或啟用安全擴充的Visual Studio,主動分析程式碼是否有安全漏洞。
開發者將應用程式程式碼提交到企業擁有且受管理的 GitHub Enterprise 倉庫。
GitHub Enterprise 會透過 GitHub 進階安全性整合自動安全性和相依性掃描。
拉取請求會觸發持續整合(CI)建置並透過 GitHub Actions 進行自動測試。
CI 建置工作流程透過 GitHub Actions 產生 Docker 容器映像並儲存在 Azure 容器登錄檔中。
你可以在 GitHub Actions 的持續交付(CD)工作流程中,為特定環境(例如生產環境)的部署添加人工審核。
GitHub Actions 啟用 CD 到 AKS。 使用 GitHub Advanced Security 偵測應用程式原始碼和設定檔中的秘密、憑證及其他敏感資訊。
Microsoft Defender 會掃描容器登錄、AKS 叢集及 Azure Key Vault 的安全漏洞。
當 GitHub Actions 將容器映像上傳到 Container Registry 時,Microsoft Defender for Containers 會掃描容器映像檔是否有已知的安全漏洞。
Defender for Containers 也能掃描你的 AKS 環境,並為你的 AKS 叢集提供執行時威脅防護。
Microsoft Defender for 金鑰保存庫 偵測到異常且可疑的存取 金鑰保存庫 帳戶的嘗試。
你可以將 Azure 原則 套用到 Container Registry,並用 AKS 強制執行政策合規。 Azure 原則 內建了容器登錄與 AKS 的安全政策。
金鑰保存庫 在執行時安全地注入秘密與憑證,且不會暴露給開發者。
AKS 網路原則引擎已設定為使用 Kubernetes 網路原則協助保護應用程式 Pod 之間的流量。 我們推薦 Azure CNI Powered by Cilium 作為網路政策引擎。 它提供基於 Berkeley 封包過濾器(eBPF)的擴展強制執行、第七層政策,以及完全限定網域名稱(FQDN)過濾。
你可以透過使用 Azure 監視器 來建立對 AKS 叢集的持續監控,收集 Prometheus 指標、容器日誌和 Kubernetes 事件。 使用 Azure 受控 Grafana 儀表板來視覺化,Log Analytics 則用於查詢式警報。
Azure 監視器 透過 Managed Prometheus 收集效能指標,並透過容器日誌收集應用程式與叢集日誌。
Log Analytics 工作區儲存診斷與應用日誌以執行日誌查詢。
使用 Microsoft Sentinel 作為集中式安全資訊與事件管理(SIEM),將 AKS 遙測數據與來自 適用於雲端的 Microsoft Defender、Microsoft Entra ID 及網路資源的訊號做關聯。 Microsoft Sentinel 提供整個 AKS 環境中安全事件的偵測、調查與自動回應。
像 Zed Attack Proxy(ZAP) 這類開源工具可以對網路應用程式和服務進行滲透測試。
適用於 DevOps 的 Defender 是一項在 適用於雲端的 Defender 中提供的服務,賦能資安團隊在多管線環境中管理 DevOps 安全,包括 GitHub 與 Azure DevOps。
小組成員概觀和責任
考慮透過團隊間分工來管理基於 Kubernetes 的解決方案部署中的 DevSecOps 複雜性。 本節描述開發人員、應用程式操作員(如站點可靠性工程師)、叢集操作員及安全團隊的角色與責任。
Developers
開發人員撰寫應用程式程式碼並將其提交至指定的儲存庫。 他們撰寫並執行腳本進行自動化測試,確保程式碼能如預期運作並與應用程式其他部分整合。 開發者也定義並編寫容器映像的建置,作為自動化流程的一部分。
應用程式作員(網站可靠性工程師)
利用容器與 Kubernetes 建置應用程式,可以簡化應用程式開發、部署與可擴展性。 但這些開發方法也會建立日益分散的環境,使系統管理複雜。
現場可靠性工程師打造解決方案,自動化團隊如何監控大型軟體系統。 它們作為開發團隊與集群操作團隊之間的橋樑。 他們協助建立並監控服務水準目標(SLO)及誤差預算。 站點可靠性工程師也協助管理應用程式部署及撰寫 Kubernetes 清單(YAML)檔案。
叢集運算子
叢集操作員負責配置和管理叢集基礎設施。 他們通常會使用基礎結構即程序代碼 (IaC) 最佳做法和架構,例如 GitOps 來佈建和維護其叢集。 他們使用像 Azure 監視器 管理服務(Pro Metheus)和 Azure 受控 Grafana 這類監控工具來監控整體叢集健康狀況。 他們負責叢集的修補、叢集升級、權限管理,以及基於角色的存取控制(RBAC)。 在 DevSecOps 團隊中,叢集營運者與安全團隊合作,建立安全標準,確保叢集符合這些要求。
安全團隊
安全團隊負責制定並執行安全標準。 有些團隊可能會建立並選擇 Azure 原則 定義,這些定義會在包含叢集的訂閱和資源群組中強制執行。 安全團隊監控安全問題,並與其他團隊合作,在整個 DevSecOps 流程中優先考量安全。
DevSecOps 生命週期階段
SDLC的每個階段都實施安全控管。 這些安全控制是 DevSecOps 與左移實務的核心。
下載此架構的 Visio 檔案 。
計劃階段
計畫階段通常自動化最少,但其安全性影響後續 DevOps 生命週期階段。 此階段牽涉到安全性、開發和作業小組之間的共同作業。 為確保你考量或減輕安全需求與安全問題,在此階段應納入安全利害關係人。
最佳實務:設計一個安全的應用程式平台
要建立安全的 AKS 託管工作負載,必須在系統的每一層都整合安全,從平台本身開始。 該平台可以包含叢集內部的元件,如執行時安全與政策代理,以及外部於 AKS 的元件,如網路防火牆和容器登錄。
最佳實務:將威脅建模納入你的流程
威脅模型化通常是牽涉到安全性和開發小組的手動活動。 你可以在系統中建模並找出威脅,以解決漏洞,然後再開發程式碼或做變更。 團隊會針對重大軟體變更、解決方案架構變更或安全事件進行威脅建模。
我們推薦 STRIDE 威脅模型。 此方法論從資料流程圖開始,並利用 STRIDE 助記法分類威脅:偽裝、篡改、否認、資訊揭露、拒絕服務及特權提升。 團隊利用這些分類來識別、減輕並驗證風險。 建模 工具 有助於記錄並視覺化系統元件、資料流及安全邊界。
將威脅建模整合進你的 SDLC 會增加流程負擔,並要求你維護最新的威脅模型。 然而,它在開發初期就針對安全性著手,降低了後續發現問題修復成本。
最佳實務:應用 Azure Well-Architected 框架
開發階段
向左轉 是 DevSecOps 思維的核心理念。 這個過程會從你將程式碼提交到倉庫並透過管線部署之前開始。 為了在開發生命週期早期解決安全問題,應採用安全編碼最佳實務,並在開發階段使用整合開發環境(IDE)工具與外掛進行程式碼分析。
最佳實務:強制執行安全編碼標準
運用既定的安全編碼最佳實務與檢查清單,幫助保護你的程式碼免受注入與不安全設計等常見漏洞侵害。 開放全球應用安全計畫(OWASP)基金會發布業界標準的安全編碼建議,撰寫程式碼時應採納這些建議。 這些指引在開發面向公眾的網頁應用程式或服務時尤其重要。
檢視針對你特定程式語言執行環境(如 Java 和 .NET)的安全編碼實務。
執行日誌標準,以保護敏感資訊不被洩漏到應用程式日誌中。 大多數流行的日誌框架,如 Apache Log4j 和 Apache log4net,都提供過濾器和外掛來掩蓋敏感資訊,如帳號或個人資料。
最佳實務:使用 IDE 工具與外掛自動化安全檢查
大多數熱門的 IDE,如 Visual Studio、VS Code、IntelliJ IDEA 和 Eclipse,都支援擴充功能,讓你能即時獲得回饋和建議,針對你在撰寫應用程式程式碼時引入的潛在安全問題。
SonarQube for IDE 是一款適用於大多數流行語言與開發環境的 IDE 外掛。 SonarQube for IDE 提供回饋並自動掃描你的程式碼,找出常見的程式錯誤及潛在的安全問題。
其他免費及商業外掛則專注於安全相關項目,例如 OWASP 十大常見漏洞。 Snyk 外掛也會掃描你的應用程式來源和外部相依,並在發現漏洞時提醒你。
Visual Studio 與 VS Code 的 靜態分析結果交換格式(SARIF) 外掛,讓您輕鬆查看熱門靜態應用安全測試(SAST)工具中的漏洞,與直接解讀原始 JSON 輸出結果相比。
最佳實務:對你的原始碼庫建立控制
建立一套分支方法論,以在整個企業中保持一致性。 像 Release flow 和 GitHub flow 這類方法論,都有結構化的指引,說明如何使用分支來支援團隊與平行開發。 這些方法可協助團隊建立程式碼認可和合併至 CI/CD 工作流程的標準和控制措施。
某些分支,例如主分支,是長久存在的分支,能保留應用程式原始碼的完整性。 在承諾或合併變更前,先為這些分支建立合併政策。 例如,您可以:
防止其他開發人員將程式碼直接提交到您的主分支。
建立同儕審查流程,並在合併變更到主分支前要求最低數量的核准。 透過 GitHub 設定並執行這些控制措施。 如果需要,使用 GitHub 來指定授權審核群組,適用於有門控環境。
使用 預提交鉤子 來檢查應用程式原始碼中的敏感資訊,當偵測到安全問題時阻止提交。
- 使用 GitHub 提供的內建預提交鉤子。 針對特定專案輕鬆配置。 例如,有些預建鉤子會掃描秘密、私鑰和憑證,若發現這些問題就封鎖提交。
在你的版本控制系統中建立 RBAC。
利用最小權限原則創造明確的角色。 CI/CD 管線在生產部署中發揮如同供應鏈的作用。
在您的組織內套用已建立的使用者或群組 角色 。 若要根據個人在 CI/CD 工作流程中的特定角色與功能來分組,可以建立像是管理員、開發者、安全管理員和操作員等角色。
啟用對工作流程 的稽核 ,為配置及 CI/CD 管線的其他變更增添透明度與可追溯性。
最佳實務:保護你的容器映像檔
使用輕量級且作業系統佔用量最小的映像檔,以降低整體攻擊面。 考慮像 Alpine 這類簡約的映像檔,或是僅包含應用程式及其相關執行時環境且不包含作業系統的無發行版映像。
建立容器時只使用受信任的基礎映像。 從你經常掃描的私人登錄檔中取得這些基礎映像檔。
使用開發工具在本機評估影像漏洞。 Trivy 是一款開源工具,能分析你容器映像中的安全漏洞。
阻止 root 使用者存取或設定圖片的上下文。 根據預設,容器會以 root 身分執行。
對於需要加強安全性的容器,可以考慮在您的 Kubernetes 叢集中使用 AppArmor 或 seccomp 設定檔,進一步強化執行容器的安全。
建置階段
在建置階段,開發人員會與站點可靠性工程師及資安團隊合作,將應用程式來源的自動掃描整合進他們的 CI 建置管線中。 團隊透過使用 CI/CD 平台的安全工具與擴充功能,配置管線以啟用安全實務。 這些做法包括 SAST、軟體組成分析(SCA)以及秘密掃描。
最佳實務:執行 SAST 以找出應用程式原始碼中的潛在漏洞
使用 GitHub Advanced Security 的掃描功能來掃描程式碼和 CodeQL。
程式碼掃描 是一項分析 GitHub 倉庫程式碼以找出安全漏洞與程式碼錯誤的功能。 它顯示了 GitHub Enterprise Cloud 中的問題。
如果程式代碼掃描在您的程式代碼中發現潛在的弱點或錯誤,GitHub 會在存放庫中顯示警示。
你可以設定分支規則來 進行必要的狀態檢查。 例如,你可以要求功能分支在合併新程式碼前必須與基礎分支保持最新。 這項要求確保你用最新的程式碼測試你的分支。
啟用 Copilot Autofix ,接收 AI 產生的程式碼掃描警示修正建議。 Copilot Autofix 直接在拉取請求中提出修復方案,幫助開發者快速解決安全問題。
使用 kube 分數 之類的工具來分析 Kubernetes 部署物件。 這個工具會分析你的 Kubernetes 物件定義中的靜態程式碼。 它會輸出一份建議清單,讓你的應用程式更安全且具韌性。
最佳實務:使用機密掃描來偵測意外提交的機密資訊
當你啟用儲存庫的 秘密掃描 時,GitHub 會掃描程式碼中與許多服務提供者使用的秘密相符的模式。
GitHub 會定期對倉庫中現有內容進行完整的 git 歷史掃描,並發送警示通知。
對於 Azure DevOps,適用於雲端的 Defender 使用秘密掃描來偵測原始碼和建置輸出中的憑證、秘密、證書及其他敏感內容。
你可以在 Microsoft 安全性 DevOps for Azure DevOps 擴充套件中執行秘密掃描。
最佳實務:使用 SCA 工具追蹤程式碼庫中的開源元件,並偵測相依中的漏洞
依賴性審查 讓你在將不安全的依賴引入環境前,先發現它們。 同時提供有關執照、受扶養人及受扶養年齡的資訊。 它在拉取請求的Files changed 標籤頁中透過詳細差異來顯示相依變更。
Dependabot 會掃描以偵測不安全的相依性,並在 GitHub Advisory 資料庫新增公告或倉庫相依關係圖改變時,發送警示給 Dependabot。
最佳實務:為你的容器影像產生 SBOM
軟體物料清單(SBOM)提供完整的容器映像組成元件、函式庫與相依性清單。 在 CI 建置時使用像 Microsoft sbom-tool 或 Syft 這類 SBOM 產生工具,產生 SPDX 或 CycloneDX 清單。
將 SBOM 附加到儲存在 容器登錄 處的容器映像檔,以實現供應鏈中下游的漏洞掃描與授權合規追蹤。
最佳實務:在部署前掃描 IaC 範本以偵測錯誤設定
在整個開發生命週期中主動監控雲端資源配置。
適用於 DevOps 的 Microsoft Defender 支援 GitHub 與 Azure DevOps 軟體庫,並能掃描 IaC 範本以識別 IaC 漏洞。
最佳實務:掃描容器登錄檔中的工作負載映像檔,以找出已知漏洞
Defender for Containers 會掃描容器登錄檔(Container Registry)和 Amazon 彈性容器登錄(ECR)中的容器,以通知您映像中已知的漏洞。
你可以啟用 Azure 原則 對儲存在容器登錄檔中的映像進行漏洞評估,並提供每個發現的詳細資訊。
最佳實務:在基礎映像更新時自動建立新映像檔
- 容器登錄任務在建立容器映像時會動態發現基礎映像相依關係。 當偵測到應用程式映像檔的更新時,你可以設定建置任務自動重建參考該基礎映像的應用程式映像檔。
最佳實務:使用 Container Registry、金鑰保存庫 和符號來數位簽署你的容器映像檔,並設定 AKS 叢集只允許驗證過的映像檔
金鑰保存庫 儲存 符號工具 所使用的簽名金鑰。 金鑰保存庫 外掛(azure-kv)會存取這些金鑰,以 簽署 並驗證容器映像及其他產物。 你可以使用 Azure CLI 指令將這些簽章附加到容器登錄檔映像檔上。
簽署容器確保部署來自可信來源,且產物在建立後不會被竄改。 已簽署的構件可確保其完整性和真實性,並在使用者將構件導入任意環境之前,有效避免潛在攻擊。
- Ratify 在部署到 Kubernetes 叢集前,驗證產物安全元資料並執行准入政策。 AKS Image Integrity 使用 Ratify 作為內建驗證工具,在 pod 進入叢集前驗證影像簽名與 SBOM 證明。
部署階段
在部署階段,開發者、應用程式操作員與叢集操作團隊共同合作,建立 CD 管線所需的正確安全控管。 這些控制措施有助於以安全且自動化的方式部署程式碼到生產環境。
最佳實務:控制部署管線的存取與工作流程
您可以藉由設定分支保護規則來保護重要的分支。 這些規則會定義共同作業者是否可以刪除或強制推送至分支。 它們也會設定推送到分支的規範,例如通過狀態檢查或線性提交歷史。
利用 部署環境 來設定保護規則與秘密。
最佳實務:安全部署憑證
OpenID Connect (OIDC) 可讓您的 GitHub Action 工作流程存取 Azure 中的資源,而不需要將 Azure 認證儲存為長期存在的 GitHub 秘密。
使用 GitOps 的拉取式 CI/CD 方法,將安全憑證轉移到你的 Kubernetes 叢集。 此方法透過移除外部CI工具中的憑證,降低安全性與風險面。 您也可以減少允許的輸入連線,並限制 Kubernetes 叢集的系統管理層級存取權。
最佳實務:執行 DAST 以找出你正在執行的應用程式中的漏洞
最佳實務:僅從受信任的登錄檔部署容器映像檔
使用 Defender for Containers 啟用 Kubernetes 的 Azure 原則 外掛。
設定 Azure 原則 for Kubernetes 限制容器映像部署至受信任的登錄檔。
運行階段
在此階段,執行營運監控與安全監控任務,主動監控、分析並警示潛在安全事件。 使用像 Azure 監視器 和 Microsoft Sentinel 這類生產環境可觀察工具來監控並確保符合企業安全標準。
最佳實務:使用 適用於雲端的 Defender 自動掃描並監控你的生產設定
執行持續掃描,以偵測應用程式中弱點狀態的變化,並實施修補及取代易受攻擊的影像流程。
實作作業系統的自動化設定監控。
請使用 適用於雲端的 Defender 的容器建議(在 運算與應用程式區)對你的 AKS 叢集進行基線掃描。 適用於雲端的 Defender 會在其儀表板中顯示任何設定問題或漏洞。
使用 適用於雲端的 Defender,並遵循其網路保護建議,協助 保護 AKS 叢集的網路資源。
針對儲存在 Container Registry 中的映像進行弱點評估。
- 啟用「容器防護程序」以在容器登錄中對運行映像執行持續掃描。
最佳實務:保持 Kubernetes 叢集更新
Kubernetes 經常釋出新版本。 維持生命週期管理策略,確保您的叢集持續受到支援並保持最新。 AKS 提供管理叢集升級的工具。 利用 AKS 的計畫維護功能來控制何時出現維護時段與升級。
經常升級 AKS 工作節點。 Azure 每週發布作業系統與執行時更新。 可透過無人值守模式自動套用更新,或透過 Azure CLI 手動執行以獲得更多控制。
最佳實務:使用 Azure 原則 來保護並管理你的 AKS 叢集
安裝 AKS 的 Azure 原則 外掛後,你可以將個別的政策定義或一組稱為 倡議 或 政策集的政策定義套用到叢集上。
在常見情境下,例如阻止特權容器執行或限制外部 IP 位址進入允許清單,使用 內建的 Azure 政策 。 您也可以針對特定使用案例建立自定義原則。
將政策定義套用到你的叢集,並確認 Azure 原則 是否強制執行這些指派。
使用 Gatekeeper 設定許可控制器,以根據指定的規則允許或拒絕部署。 Azure 原則會擴充 Gatekeeper。
使用 AKS 中的網路原則來保護工作負載 Pod 之間的流量。
- 使用 Azure CNI Powered by Cilium 作為網路政策引擎。 Cilium 採用基於 eBPF 的資料平面,並支援 Kubernetes 原生政策、第 7 層政策及 FQDN 過濾。
最佳實務:使用 Azure 監視器 進行持續監控與警示
使用 Azure 監視器 從 AKS 收集日誌和指標。 透過 Azure 監視器 管理服務收集 Prometheus 指標,在 Log Analytics 中查詢容器和平台日誌,並使用 Azure 受控 Grafana 儀表板視覺化呈現叢集健康狀況。
Azure 監視器 擴展至發布管道的持續監控。 利用監控資料來核准或回滾發布。 Azure 監視器 也會接收安全日誌和可疑活動的警示。
將你的 AKS 實例接入 Azure 監視器,並為叢集設定診斷設定。
欲了解更多資訊,請參閱 AKS 的 Azure 安全基準。
最佳實務:使用 適用於雲端的 Defender 進行主動威脅監控
適用於雲端的 Defender 提供 AKS 的節點層級(虛擬機器威脅)以及叢集工作負載的主動威脅監控。
使用 適用於 DevOps 的 Defender 以獲得對所有 CI/CD 管線的全面可視化。 它為安全與營運團隊提供集中式儀表板。 當你使用像 Azure DevOps 和 GitHub 這類多管線平台,或跨公有雲運行管線時,這種集中可視性尤其讓你受益良多。
Defender for 金鑰保存庫 偵測到異常且可疑的存取金鑰庫帳戶的嘗試,並可根據設定向管理員發送警示。
Defender for Containers 可以警示儲存在容器登錄庫中的容器映像中的漏洞。
最佳實務:啟用集中式日誌監控,並使用 SIEM 產品監控即時安全威脅
- 將 AKS 診斷日誌連接到 Microsoft Sentinel,以實現基於模式與規則的集中式安全監控。 Microsoft Sentinel 透過 資料連接器實現此存取。
最佳實務:啟用稽核日誌以監控生產叢集的活動
使用活動日誌監控 AKS 資源的操作,查看所有活動及其狀態。 確定誰對資源執行了哪些操作。
透過套用 CoreDNS 自訂配置圖中的文件設定,啟用 網域名稱系統(DNS)查詢記錄 。
監視嘗試存取已停用的憑證。
整合 AKS 的用戶驗證與 Microsoft Entra 識別碼。 建立 Microsoft Entra ID 的診斷設定,並將 稽核與登入日誌傳送至 Log Analytics 工作區。 在 Log Analytics 工作區中,設定安全事件警報,例如停用帳號的登入嘗試。
最佳實務:在您的 Azure 資源上啟用診斷功能
- 啟用 Azure 在所有工作負載資源的診斷功能,以存取提供詳細診斷與稽核資訊的平台日誌。 你可以將這些日誌匯入 Log Analytics 或像 Microsoft Sentinel 這類 SIEM 解決方案,用於安全監控與警示。
參與者
本文由 Microsoft 維護。 以下貢獻者撰寫了這篇文章。
主要作者:
- Adnan Khan |資深雲端解決方案架構師
其他貢獻者:
- Ayobami Ayodeji |Program Manager 2
- 艾哈邁德·巴姆 |資深雲端解決方案架構師
- 查德·基特爾 | 首席軟體工程師-Azure 模式與實踐
- John Poole |資深雲端解決方案架構師
- Bahram Rushenas |資深解決方案架構師
- Abed Sau |資深雲端解決方案架構師
若要查看非公開的 LinkedIn 個人檔案,請登入 LinkedIn。