【问题标题】:AWS CDK CfnPatchBaseline, Approval rules for Microsoft applicationsAWS CDK CfnPatchBaseline,Microsoft 应用程序的批准规则
【发布时间】:2021-09-30 19:06:45
【问题描述】:

我的目标是部署 CfnPatchBaseline使用 CDK 和 TypeScript 在 Windows Server 上指定 SQL 的批准规则。

我已经使用 CDK 成功地为 Windows 服务器实例创建了 CfnPatchBaseline。这意味着我能够控制操作系统层的更新。

现在我也想控制应用层的更新。

在 AWS 控制台(浏览器界面)中,我可以在补丁基准中指定 Microsoft 应用程序的批准规则,它工作得很好。问题是我不知道如何在 CDK 中复制同样的东西。

我尝试创建新的 patchFilter,以 PRODUCT_FAMILY 作为键,SQL Server 作为值

const patchFilterProductWindowsServerSQL = {
            key: 'PRODUCT_FAMILY',
            values: ['SQL Server']
        };

但我收到以下错误:“无效筛选值:SQL Server for Key:PRODUCT_FAMILY,有效值为:WINDOWS”

我用于创建 Windows Server 补丁基准的代码。

const patchFilterProductWindowsServer = {
            key: 'PRODUCT',
            values: ['WindowsServer2019']
        };

const patchFilterClassificationWindowsServer = {
            key: 'CLASSIFICATION',
            values: [
                'CriticalUpdates',
                'SecurityUpdates',
                'Updates'
            ]
        };

const patchFilterSeverityWindowsServer = {
            key: 'MSRC_SEVERITY',
            values: [
                'Critical',
                'Important'
            ]
        };

const patchBaselinePatchFilterGroupWindowsServer = {
            patchFilters: [
                patchFilterProductWindowsServer,
                patchFilterClassificationWindowsServer,
                patchFilterSeverityWindowsServer
            ]
        };

const patchBaselineRuleHighWindowsServer = {
            approveAfterDays: 7,
            complianceLevel: "HIGH",
            patchFilterGroup: patchBaselinePatchFilterGroupWindowsServer
        };

const patchBaselineRuleGroupWindowsServer = {
            patchRules: [
                patchBaselineRuleHighWindowsServer
            ]
        };

const patchBaselineWinServer = new ssm.CfnPatchBaseline(this, "Windows-Server-CritImp-CDK", {
            name: "Windows-Server-CritImp-CDK",
            operatingSystem: "WINDOWS",
            patchGroups: "Windows-Server-CDK",
            approvalRules: patchBaselineRuleGroupWindowsServer
        });

我的批准规则的 AWS 控制台屏幕截图,我可以使用 CDK 创建,Microsoft 应用程序的批准规则,我无法使用 CDK 创建。屏幕截图中的规则是从控制台手动创建的。

这个帖子是这个帖子的后续 - AWS CDK PatchBaseline - TypeScript

【问题讨论】:

  • 您能从控制台发布一些您的补丁基线配置的屏幕截图吗?它将帮助我为自己创建 PB 并进行调查。
  • @Hcaertnit 当然,我已经更新了我的帖子,其中显示了我的批准规则(使用 CDK 创建)和 Microsoft 应用程序批准规则部分中所需的 SQL 规则。非常感谢您帮助我。

标签: typescript amazon-web-services aws-cdk aws-systems-manager


【解决方案1】:

我们还需要将 PATCH_SET 明确指定为“APPLICATION”。下面的代码完成了这项工作。

const patchBaselineRuleHighWindowsServerSQL = {
            approveAfterDays: 7,
            complianceLevel: "HIGH",
            patchFilterGroup: {
                patchFilters: [
                    {
                        key: 'PRODUCT_FAMILY',
                        values: ['SQL Server']
                    },
                    {
                        key: 'PATCH_SET',
                        values: ['APPLICATION']
                    },
                    {
                        key: 'MSRC_SEVERITY',
                        values: [
                            'Critical',
                            'Important'
                        ]
                    },
                    {
                        key: 'CLASSIFICATION',
                        values: [
                            'CriticalUpdates',
                            'SecurityUpdates'
                        ]
                    },
                    {
                        key: 'PRODUCT',
                        values: ['*']
                    }
                ]
            }
        };

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    • 2014-06-27
    • 2020-03-30
    相关资源
    最近更新 更多