兼顧資安與合規需求 IaC 助攻國泰金控踏穩上雲之路
國泰金控數位數據暨科技發展中心雲端技術架構師顏勝豪在「2021 AWS Industry Week」中指出,為在多種環境中部署應用程式,企業可利用容器化技術,將 Image 放到 ECS 或 EKS 上,讓程式可立即在雲端平台上運行。然而金融業是高度監理的特許行業,故國泰上雲首重資安與合規性議題。
「雲端轉型面臨很多新課題,以資安面為例,如資料加密、金鑰管理、Log 集中收集、雲端服務控管等機制,」顏勝豪說,國泰採用混合雲架構,確保傳輸通路過程走的是專線、避免流量流到網路,並以資料中心延伸到雲端平台方向進行雲端架構設計,能做到完善隔離機制。更重要的是透過自動化部署做到雲地之間 CI/CD 機制設計,避免 Console 人為操作失誤造成金鑰外洩風險。
為此國泰決定採用 IaC(Infrastructure as Code)自動化部署雲服務,確保每次部署品質都是一致的。
除上述外好處,IaC 還可帶來其他效益。首先是速度與安全性,使用同一份 IaC Code,可以透過 One Click 方式瞬間把複雜雲端環境部署出來。同時也能使用 IaC Pre-Check 機制達到安全控管要求,且享有版本控管功能。在金融相關環境都會設計 SIT、UAT、Production 等環境,可利用同一份 IaC Code 部署三種環境,以確保不會因人為操作錯誤導致環境不一致。在檢核作業和合規方面,則可透 IaC Policy as a Code 來執行。
此外,IaC 經由版本控制後,更易於追蹤每次版本發佈時中間環境的差異,這稽核及軌跡問題對金融業至關重要,在 IaC 每次部署過程,均會記錄版本差異與部署結果,可滿足稽核需求。
利用 Policy as a Code,善加管控持續變動的 Policy
國泰金控數位數據暨科技發展中心雲端 DevOps 工程師吳柏緯指出,IaC 重點在於高度自動化,但在自動化前提下,如何確保 Code 有足夠安全性?國泰使用 Policy as a Code 概念去執行此項目,好處是 IaC 一樣可透過 Git 管控機制針對 Policy 做版控,隨著雲端環境不斷增長,加上雲端法規持續與時俱進,國泰也會善用版控機制,妥善管理不斷增長或需要新增修改的 Policy。
其次國泰還整合 CI/CD。為確保自動化的安全性,將 Policy 做為代碼化後,可進一步整合 CI/CD 流程,以減少部署前人工確認;以往部署一台 VM,或做網路防火牆設定,都要透過第三個人驗證設定有無問題,如今透過自動化機制可減少很多部署時間,達到開發與佈版的快速要求。
再來更重要的是 Pre-Check 機制,以往在環境部署出去後,只能做 Post-Check 確保部署出去的 VM 規格有沒問題,防火牆的 Port 有沒有開錯,透過 Pre-Check 機制可減少事後檢查的時間成本,加上前面版控及自動化,確保藉由一些 Log 機制來達到事後檢核效果。
國泰使用 AWS CloudFormation Guard,是基於使用 AWS CloudFormation 之部署經驗,及使用 CDK 做 IaC 自動化後累積的心得。國泰採多雲策略,會利用 Terraform 做為 IaC 方案,Terraform 本身也提供 Policy as a Code 方案 Sentinel,相較之下,AWS CloudFormation Guard 是一個開源產品,而 CloudFormation Guard 主要針對 YAML 或 JSON 檔案形式,來進行 Policy 檢查,Sentinel 只針對 Terraform 有提供的 Provider,用他們官方開發的 HCL 語言來做合規性檢查,最大差異就在於此。
顏勝豪表示,國泰是在前年啟動集團上雲計畫,開始先導入IaC技術去管理雲端環境,一開始的概念是希望人去寫 Code,然後用 Code 去管理雲端環境,因未來大量系統上雲後,要管理的叢集規模很大,已無法透過人工管理,故積極使用 IaC 技術去管理雲端環境。但過程中額外發現一個好處,將雲部署方式代碼化後,很容易做到 Security as a Code、Policy as a Code 和 Compliance as a Code,更能協助金融業建置一個能高度符合資安控管和合規性的雲端環境。