基礎架構程式碼 (IaC) 是 DevOps 實務中實現軟體開發靈活性很重要的一環,在這份報告當中,我們點出了 IaC 實務上的一些資安風險以及對應的最佳資安實務原則。

由於 IT 基礎架構所承受的要求以及持續整合/持續交付 (CI/CD) 流程的風險不斷升高,因此,一致而可擴充的自動化顯得日形重要。這就是「基礎架構程式碼」(Infrastructure as Code,簡稱 IaC) 所扮演的角色。IaC 是一種利用機器可解讀的檔案格式來配置、設定與管理基礎架構的實務方法。有別於手動設定企業內及雲端環境的作法,系統管理員和系統架構師可透過 IaC 來將上述工作 自動化。IaC 與基礎架構服務 (Infrastructure as as Service,簡稱 IaaS) 兩者絕配,而且也廣獲眾多企業採用,不僅可 加速開發及擴充雲端環境,又能降低成本。
IaC 在概念上類似撰寫腳本來將 IT 流程自動化,不過 IaC 採用描述性語言來實現更彈性的資源配置與部署 (也就是由軟體本身來負責啟動基礎架構變更),而且 IaC 對雲端運算與 DevOps 尤其重要。
IaC 工具大致可分成兩類:一種是協調工具,用來配置、組織與管理基礎架構元件 (如 CloudFormation 與 Terraform);另一種是組態管理工具,用來安裝、更新、管理基礎架構元件內所執行的軟體 (如 Ansible、Chef、Puppet 與 SaltStack)。這類工具可讓開發人員和雲端架構師消除一些容易出錯的手動流程,讓大規模的組態設定與管理作業得以簡化。
繼續閱讀