DevDays Asia 2021 亞太技術年會 – Day 2
前言
第二天的技術年會,主題持續圍繞著打造一站式的企業生產力平台這個核心理念,除了分享更多的實際案例及 Hands-On-Labs,還提供 Power Platform 的多項服務串接實作。年會上另一項重點是雲端開發,許多場 Sessions 皆在分享低程式碼,甚至無程式碼的程式開發,可看出這將成為微軟未來一個重大的發展方向。最後一項活動焦點則著重在資安,微軟強調零信任基礎的重要性,這也是將來設計安全性的重大基礎之一。
Build differentiated SaaS apps with the Microsoft Cloud
議題主軸
因疫情改變了過往的商業模式和生活模式,加快數位轉型的需求,因此企業都需要軟體開發策略,提高競爭力。也意味著我們需要更多的開發者。
Microsoft Cloud
從過去五十年,單純程式開發,已轉變成必須結合更多雲端服務與 AI 應用。Microsoft Cloud 正在打造 Low-code 與 No-code 的可客製化開發環境,藉由連結器可連結超過 450 個不同的服務。
-
Microsoft Cloud 包含:
- Microsoft 365
- Teams
- Dynamic 365
- Customer Insights
- GitHub
- Power Platform
- Microsoft Azure
- Microsoft 365
Demo
Microsoft 提供五大面向的產業元件 Industry Clouds,以 FINASTRA 金融業者為例示範如何透過 Power Apps 整合舊系統,並將申請與授權流程自動化。開發完成後可嵌入整合在 Teams ,元件不僅可重複使用,也可以部署到 Azure API Management。
揭開 Metaverse 的虛實打造工業物聯網價值錬
Metaverse
-
What is Metaverse ?
- 兩個單字的結合: Meta (超越) + Universal (宇宙)
- 概念: Metaverse = 觀察 + 理解 + 預測
-
解決方案
-
功能
-
實踐技術
-
實際案例: 活躍於能源管理的應用場景
-
ENBRIDGE – 監控發電效率
- Azure IoT 監控
- Digital Twins 虛擬化
- 3D 呈現更直覺
-
台達電 – 能源監控解決方案
- Power BI 監控
- Azure AI 預測
-
-
Digital Twins
- Digital Twins 核心: 現實環境跟數據整合在虛擬環境呈現
- 多資料來源整合
-
串接數據分析
-
Azure Digital Twins Exploer 開發介面
- Twin Graph
- Graph Query
- Model Graph
- Twin Graph
-
台達 – DaltaGrid 產品運用案例
- 運用 Digital Twins 技術將數據虛擬化、視覺化
- DTDL 語法描述真實世界的環境及數據呈現
- 台達專家進入評估節能方案
- 套用 Azure AI 服務協助決策,並推薦節能方案
- 運用 Digital Twins 技術將數據虛擬化、視覺化
OT 與 IT 整合
- 整合挑戰
- 數據孤島
- 技術領域不同
- 跨部門
- 實際案例 – BMW
- Plug & Produce 統一管理及調配生產資產
- 不同廠房
- 不同車種製造模組
- 不同機台
- Plug & Produce 統一管理及調配生產資產
From code to compose
不用 Coding 的方式,而是透過 OMP 來套用既有模組,不用從頭開發
- Open Manufactturing Platform (OMP) – 既有程式碼模組
駭客入侵不講武德 – 雲端攻防實務
雲端共同責任模型
- 不同 Cloud Model 有不同的責任
- IaaS:基礎網路架構
- PaaS:訪問權限設定
- SaaS:資料安全
雲端資安關鍵要素
- 資安破口通常來自於錯誤的設定
- Azure Security Center 針對資安的整合監控平台,可以用來統一瀏覽資訊安全設定,並推薦建議配置。
攻擊者在雲端獵捕常見弱點
主要分為三個部分
-
Identity – 只啟用單因素驗證
- 攻擊
- 暴力破解
- 暗網流出密碼測試
- 常見帳密組合
- 防禦
- MFA 可解大部分威脅
- 強化 Cookie 保護
- SolarWinds 被攻擊案例 透過 Pass the Cookie 手法直接取得已登入頁面的 Cookie
- 白名單 IP
- 攻擊
-
Storage – 允許匿名存取、金鑰洩漏的公開儲存體
- 攻擊
- 掃描公開 Repository 是否藏有密碼或金鑰
- 搜尋開發人員常用檔案
- 直接從儲存空間服務或管理工具竊取
- 防禦
- 密碼、金鑰應存放在安全的地方
- Azure Key Vault
- 定期修改密碼及金鑰
- 使用比較安全的儲存空間服務或管理工具
- 密碼、金鑰應存放在安全的地方
- 攻擊
-
VM – 遠端服務漏洞與未加密磁碟
- 攻擊
- Port Scan
- 服務弱點掃描
- 預設或常用帳密嘗試
- 竊取為加密硬碟資料
- 防禦
- Azure Firewall
- Network Security Group (NSG)
- Azure Defender
- Azure Disk Encryption
- Azure Bastion
- Just-in-Time Access
- 攻擊
Microsoft Teams 整合 Azure DevOps 之實務應用
建立高度協同合作的環境
-
現代化協作團隊特性
-
協作軟體或平台
- Microsoft Teams – 即時溝通、開會
- Azure DevOps – 開發、交付、部屬
- Integration – 結合上述兩者
Microsoft Teams + Azure DevOps
-
Teams Apps 內建整合 Apps
- Azure Repos
- Azure DevOps
- Azure Boards
- Azure Pipeline
-
DevOps in Teams
-
Discussion
- 用不同的 Channel 分類訊息
- 使用 Teams App: Azure Board 分享看板內容
- 使用 Teams 搜尋功能探索過往討論紀錄
-
DevOps Status Connection
- 將 Azure Pipeline 狀態訊息傳回 Teams 發布
- 使用 Teams App: Azure Pipeline
- 透過 Bot 自動通知狀態
- 將 Pull Request 審核流程串上 Teams
- 使用 Teams App: Azure DevOps
- 整合看板跟 Dashboard 至 Teams 上
-
- Monitor & Alert
- Azure Monitor 紀錄 Infra 資訊
- 需監控 Software, DB, Infra
- 用 Teams Connector
- Message Card 自訂警報資訊
- Message Card 擴增彈性
- 總結
- 善用 Teams 連接器
- 提供一致性
- 減少開發成本
- 整合多種資訊
- 可客制化
- DevOps
- 著重改善系統性的流動
- 資訊的流動也是其中的一環
- Teams 是一個協力工作的生產力平台,不只是聊天軟體
- 善用 Teams 連接器
Microsoft Teams x Smart Work 打造你的企業智慧助理
What is SmartWork ?
用企業專屬的 AI 建置 Chatbot (aka 企業助理),並提供平台給使用者管理 Chatbot。
- 企業助理
- 業務助理
- 整合 ERP 平台回覆資訊
- HR 助理
- Q&A 問答機器人解決 HR 常見問題
- 透過對話完成請假加班流程
- IT Helpdesk
- Q&A 問答機器人解決 IT 常見問題
- 業務助理
Smartwork 快速建立 Teams 機器人的架構
- 使用 Azure Bot Service 建立機器人來串接 Teams
- 可透過 VPN 或 Azure Firewall 來確保資料傳輸的安全性
- Azure Bot Service 將機器打包成 App 可以透過 Teams App: App Studio 串接到 Teams
- Smartwork 平台可以用簡單的三個步驟建立聊天機器人
- 取得 Smartwork 訊息端點 URL
- 建立 Azure Bot Service 及 建立 Teams 頻道
- 將資料填入 Smartwork 平台
輕鬆套用 Microsoft Teams App Template 簡化企業內部流程
企業開發流程自動化並非難事,Microsoft 已將常見業務情境寫成 Teams App Template ,採 OpenSource 方式發佈在 Github ,並持續更新。不僅可直接部屬到雲端 ,還可自由擴充 ,強調隱私與安全性高 ,所有相關說明文件與 Microsoft Teams App Template 都可以在 Github 找到 :
-
部署準備與所需要的資源
-
Demo Campany Communicator App Template :
- 採用 Role base
- 圖片 URL 一定要是 https 開頭
- 傳送訊息方式: 頻道的貼文,或團隊成員、所有人、指定群組(名稱或是電子郵件) –> 先傳送到草稿提供確認 –> 傳送前預覽 –> 送出到 ChatBot
- 可查詢傳送紀錄,也可以匯出記錄到 OneDrive 提供下載
使用 Azure Logic App 開發低代碼 Web API 應用程式
Azure Logic Apps 是一套簡單易用的視覺化的開發設計工具。講者示範如何透過 Azure Logic App ,快速建立查詢台灣假期的 API 。內容包括 :
- Consumption Plan 可免費觸發程序 4000 次
- 儲存後即可產生 API 的獨立網址
- 回傳的資料,透過初始化變數和 剖析 JSON 方式取得
- 透過介面完成條件判斷和迴圈
- 內建上百種的 Connectors 串接各種服務
Azure Logic App 將程式碼視覺化,背後程式碼採 JSON 格式, 容易複製,適合需要低程式碼開發的使用者。
.NET 也能玩 Notebook -Let’s play
Microsoft 推出自家的 .NET Notebook,有 web-based 程式碼編輯器 Try.NET,以及 Visual Studio Code 擴充套件 .NET Interactive Notebook 兩種編輯環境。
-
支援三種開發工具:
- Jypyter Notebooks
- nteract
- Visual Studio Code
-
支援七種 Subkernel :
- C#
- F#
- PowerShell
- JavaScript、
- HTML、
- Markdown
- SQL。
-
.NET Interactive Notebook 提供兩種檔案格式 :
- .dib
- .ipynb
如何採用雲原生作法 Velero 備份還原你的 Kubernetes 叢集?
-
Kubernetes 災難還原計畫 DRP Plan
- 多區域部屬 Kubernetes 平台
- 程式部署採用CI/CD Pipeline
- 網路服務架構 L7 服務層做流量平衡負載
- Share storage 儲存同步
-
服務為主,平台為輔
- 以應用程式災難復原為主
- 跨雲部署相同服務變簡單
- 基礎架構及代碼
- Kubernetes 跨雲服務的核心主體
- 對外網路架構,如微服務雙活服務,必須寫成無狀態服務
-
三種微服務類型:
- 有狀態
- 無狀態
- 分散式
Kubernetes 備份還原
- 使用 VELERO 備份
-
須使用 Object Storage
-
依據 APP Type 進行備份
-
跨雲搬遷須注意:
- 每家 Kubernetes 資源不同
- 每家 Kubernetes 版本不同時,導致 API 會無法使用
- 最後要確認混合雲兩地連線是否都能連線
師法開源,自然轉型
-
談數位轉型應該如何進行?使用開源文化
- 應該探討先原有的文化經驗,再選擇適合的數位轉型工具,產生新的作業方式
-
以校園食材登錄平台為例,探討什麼是數位轉型?
- 校園食材登錄 APP 紀錄每個學校食材
- 當發生問題時即時下架食材
-
保險聯盟鍊
- 使用區塊鍊技術串聯各家保險紀錄
- 一家理賠簡化後續多家申請流程
-
企業內部轉型
- 多數認為自家轉型失敗 70%
- 數位轉型目標,應該為永續經營
- 開源是為具體的作法 :
- 先公開所有流程,就會有人先發現問題
- 開源文化就是相信眾人的智慧
- 不定義對,錯先公開再說
- 不只有程式碼,平等公開所有資訊,才能判斷需要怎樣的轉型
- 擴大參與的人數,不要集中在少數人身上
-
自然的數位轉型
- 開源的方式可突顯前輩的價值,承先啟後,減少阻力
- 打破彼得原理,有機會找到自己的適合的位置
- 開源相容於現有組織,不要另外設立新的組織,持續貢獻,就會擁有同等職位的話語權
- 從自己開始,,先公開資訊,讓其他人習慣這樣的改變
-
企業開源建立優勢
- 可從專案性的開源,建立產業領導優勢
- 開源社群人即公司才庫,對社群活耀有價值的人,對市場也有價值
-
公開倡議是最直接的行銷
-
結語 :用開源文化做數位轉型
-
拋磚引玉以身作則
在 Azure Functions 上以 JVM 語言實作 Serverless 服務
-
開發流程 :
- Develop
- Build/pack
- Deploy
- Scale UP 有四分之三時間化在維運
-
Serverless 由雲平台提供主機,並動態擴展機器資源
- 好處:
- 專注核心業務
- 不用管機器
- 自動按需求擴充
- 依運算時間付費
- 好處:
-
Azure Functions 示範 :
- 開發定期爬取指定 FB 紛絲團貼文
- 依照想要的格式存入資料庫 MySQl
- 可透過http request 讀取 JSON 資料
-
前置作業:
- 需安裝Azure CLI
- 登入 Azure 取得認證
- 安裝 Azure Functions Core Tools
- 安裝 Azure oolket for intellij
-
建立專案
-
轉換成 Kotlin Class
-
Trigger 種類使用
- Http
- Timer
-
Gradle Task 啟動本地測試
- 如果要本地測試 Timer 需安裝
- 改 local.settings.json 環境變數
端點資安管理的福音!Microsoft XDR 如何快速阻斷攻擊行為,同時如何降低資安運營負擔
透過 Microsoft 安全解決方案 Microsoft Defender( XDR ) ,提供企業的資安防護達到預防、偵測、身分識別、端點安全、應用程式以及信箱和數據保護,可達到快速對警訊反應與防護,降低誤判及找出核心問題。
-
網路安全和過去不同
- 過去地端建立一層一層的保護機制
- 多雲時代資源資料都在外部 ,WFH 設備都不在公司,資安防護邊界無法限制
-
以遇到 Hacker 攻擊的過程來說明 ,資安需要處理的步驟和遭遇的問題:
-
Microsoft Defender ( XDR ) 聯防機制
- 透過 Microsoft Defender ( XDR ) Unified Portal :
- 自動彙整分析,不用在費心查詢攻擊手法
- 設置 Alert 可:
- 明確的優先順序
- 觸發事件影響的設備用戶
- 線上開單詢問專家
- 圖形化調查報告
- 自定義查詢欄位
- 透過 Microsoft Defender ( XDR ) Unified Portal :
Azure Defender + Microsoft 365 Defender =Microsoft Defender (XDR)
-
完整 XDR 架構包括 :
- Azure Sentinel 用於智慧型安全性分析
- Microsoft 365 Defender 用於保護企業組織
- Azure Defender 用於保護混合式雲端工作負載
軟體工程師職涯、工程師招募及培訓的點點滴滴 – Build School 的分享
-
Build School
- 軟體工程師培育及媒合
- 場地
- 台北
- 新竹
- 活動
- DemoDay
- 媒合會
- 特點
- 高互動教學
- 分組模擬多人協同開發
- 高實作強度
- 高完成度成果展現
- 實際 Run Scrum
- 使用 Azure 部屬
- 導入 Azure DevOps
- 包括前端、後端、金流
- 時程 – 18~24 周
- 前三個月基本知識
- 後面時間針對專題開發及研究
打造一站式工作平台- Teams Platform 線上實作坊 (基礎實作坊)
需有 Microsoft 365 帳號才能進行 Hands-on-Labs
What is Power Automate?
- 新舊軟體之間的橋樑
-
DPA
-
DPA 是什麼?
- Digital Process Automation 數位自動化流程
-
DPA 可以做到甚麼 ?
-
-
Low-code
-
連接器
-
範本
-
執行狀態監控
Hand-on-Lab 情境一:回饋單管理 Demo
- 流程設計
- 填寫問卷
- 判斷是否有負面回饋
- 發送通知到 Teams
- 查看詳細內容
- 步驟大綱:
- 用 M365 Forms 建立新表單
- 設計問卷
- 設計 Power Automate 流程
- 設定條件判斷是否有負面回饋
- 傳送詳細回饋內容至 Teams
Hand-on-Lab 情境二:物料借用申請管理 Demo
- 流程設計
- 填寫問卷
- 啟動審核機制
- 單位審核
- 傳送審核結果
- 步驟大綱:
- 用 M365 Forms 建立新表單
- 設計問卷
- 設計 Power Automate 流程
- 設定條件添加審核機制
- 判斷審核通過或拒絕
- 將審核結果通知申請人
打造一站式工作平台- Teams Platform 線上實作坊 (進階實作坊)
需有 Microsoft 365 帳號並下載官方提供 Excel 清單才能進行 Hands-on-Labs
Before the Lab
-
內部應用程式或流程表單需求
-
用 Power Apps 完成低程式碼應用程式開發
Hands-on-Lab – 企業內電腦採購申請 App
- 應用程式需求
- 讓員工透過應用程式申請電腦採購
- 視覺化界面選購電腦
- 可勾選多台電腦進行比較
- 送出申請後送交主管審核
- 步驟大綱:
- Power Apps 設計
- 發行 App
- 串接到 Teams Apps
- 建立 Power Automate 範本
- 從 App 中按鈕送出申請
- Power Automate 編輯審核流程
面對資安事件,您應該跑在更前面!Microsoft零信任架構給企業全方位的資訊安全
零信任架構
-
建構零信任架構安全環境
- 傳統架構的安全模式
- 依賴防火牆
- 現代化架構
- 94% 企業已經在使用雲端架構
- 資安是個產業,網路攻擊跟資料竊取也是個產業
- 新的管理原則 – 零信任架構
- 明確地驗證
- 最低的特殊權限存取
- 隨時檢查現況
- 傳統架構的安全模式
-
零信任架構元件(六個面向):
- 身分識別
- 端點設備
- 應用程式
- 基礎架構
- 網路
- 資料
Microsoft 零信任架構
-
M365 E3
-
M365 E5
-
E3 VS E5
-
零信任基礎 Best Practice
- 零信任基礎訪問安全
-
微軟提供的安全性解決方案及產品
-
微軟提供多張安全性證照測驗
開發零信任應用程式、登入及存取異常偵測分析
What is Zero Trust
零信任模型會假設每個存取要求都有可能遭到外洩入侵
- 零信任準則包括:
- 確實驗證
- 最小存取原則
- 入侵假定
Microsoft Identity Platporm
-
微軟帳號身份平臺可以提供相當完整的控制機制,可偵測具風險的登入行為:
- 使用匿名 IP 位置
- 非典型移動
- 使用惡意軟體 IP 位置
- 非慣用登入行為
- 已知外洩的帳號
- 密碼噴灑 Password spray
- 可疑的瀏覽器
-
提供給開發者:
-
IT 需要做到:
- 限制對低風險權限的同意
- 設立帳號的保健與輪換政策
- 導入強認證與多因素驗證
- 阻擋舊式協定與 APIs
-
使用條件式存取 & MFA 用來保護帳號身分
- 訊號源檢查 : 檢查使用者位置、設備、應用程式、即時風險
- 確認每一次的存取動作:
- 允許存取
- 要求 MFA
- 限制存取
- 要求重設密碼
- 監控存取
如何開發零性任應用程式?
-
不要把帳號身分寫在程式碼中
- Certificate
- Secret
- Azure Key Vault
-
使用精細範圍設計的最小權限
- 最小權限原則 (PoLP ) 實踐
-
持續存取評估 CAE
- 自動偵測異常中斷 Session
-
使用 APP Role 指派使用者或群組
- PIM 特權帳號管理功能
-
應用程式發行者驗證
- 經過微軟驗證
更詳盡內容請參考 Microsoft 身分識別平台文件
結語
本日主題著眼於 Power Platform 與 Teams 之間的多項服務串接實作,以及 Azure Functions 與 Logic App 等 Low-Code 的示範,說明 Microsoft 資訊安全完整架構,以及如何開發零信任模型的應用程式,可以看出這些都是 Microsoft 未來優先發展的重要核心。
以上圖片來源為 DevDays Asia 2021 影片截圖