使用 cdk-nag 規則套件檢查AWSCDK應用程式或 CloudFormation 範本的最佳實務 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 cdk-nag 規則套件檢查AWSCDK應用程式或 CloudFormation 範本的最佳實務

由 Arun Donti 建立

Summary

此模式說明如何使用 cdk-nag 公用程式,透過使用規則套件的組合來檢查AWS雲端開發套件 (AWSCDK) 應用程式是否有最佳實務。cdk-nag 是開放原始碼專案,以 cfn_nag 為設計來源。它會使用 AWS CDK Aspects 在評估套件中實作規則,例如AWS解決方案資料庫、健康保險可攜性和責任法案 (HIPAA),以及國家標準和技術研究所 (NIST) 800-53。您可以使用這些套件中的規則來檢查AWSCDK應用程式是否有最佳實務、根據最佳實務偵測和修復程式碼,以及隱藏您不想在評估中使用的規則。 

您也可以使用 cloudformation-include 模組,使用 cdk-nag 來檢查AWS CloudFormation 範本。

如需所有可用套件的資訊,請參閱 cdk-nag 儲存庫的規則區段。評估套件可用於:

先決條件和限制

先決條件

工具

  • AWS CDK – 雲端開發套件 (AWSCDK) 是一種軟體開發架構,用於在程式碼中定義雲端基礎設施,並透過 佈建雲端基礎設施AWS CloudFormation。

  • AWS CloudFormation – AWS CloudFormation 可協助您建立和設定AWS資源模型、快速一致地佈建資源,以及在整個生命週期中管理資源。您可以使用範本來描述您的資源及其相依性,而且您可以一起啟動並設定它們做為堆疊,而不是個別管理資源。您可以管理和佈建跨多個AWS帳戶和AWS區域的堆疊。 

史詩

任務描述所需的技能
了解 cdk-nag。

導覽至 cdk-nag GitHub 儲存庫並閱讀文件。

應用程式開發人員
在您的AWSCDK應用程式中安裝 cdk-nag 套件。

若要在AWSCDK應用程式中使用 cdk-nag,您必須先安裝它。cdk-nag 可從 PyPI NuGet、npm 和 Apache Maven 下載。如需可用版本和下載位置的最新資訊,請參閱 儲存庫中的讀我檔案

應用程式開發人員
選擇您的 NagPacks。

cdk-nag 有不同的規則套件,稱為 NagPacks。每個 都 NagPack 包含符合特定標準的規則。例如, AWS 解決方案 NagPack 包含一般最佳實務,而 NIST 800-53 修訂版 5 NagPack 可協助合規。您可以將多個 套用至 NagPacks 您的應用程式,並視需要新增和移除套件。如需可用套件的清單,請參閱 GitHub 儲存庫中的讀我檔案。如需每個套件中個別規則的資訊,請參閱 GitHub 儲存庫的規則區段

應用程式開發人員
將 cdk-nag 整合到您的AWSCDK應用程式。

您可以在應用程式整體層級將 cdk-nag 整合到您的應用程式,或將其整合到應用程式中的個別階段或堆疊。例如,若要將AWS解決方案和安全性整合HIPAA NagPacks 到應用程式整體層級的 AWS CDK v2 TypeScript 應用程式,您可以使用下列程式碼:

import { App, Aspects } from 'aws-cdk-lib'; import { CdkTestStack } from '../lib/cdk-test-stack'; import { AwsSolutionsChecks, HIPAASecurityChecks } from 'cdk-nag'; const app = new App(); new CdkTestStack(app, 'CdkNagDemo'); // Simple rule informational messages Aspects.of(app).add(new AwsSolutionsChecks()); // Additional explanations on the purpose of triggered rules Aspects.of(app).add(new HIPAASecurityChecks({ verbose: true }));
應用程式開發人員

相關資源