AWS CDK CfnPatchBaseline,Microsoft 应用程序的批准规则
AWS CDK CfnPatchBaseline, Approval rules for Microsoft applications
我的目标是部署 CfnPatchBaseline,它使用 CDK 和 TypeScript 在 Windows 服务器上指定 SQL 的批准规则。
我已经使用 CDK 为 Windows 服务器实例成功创建了 CfnPatchBaseline。这意味着我能够控制 OS 层上的更新。
现在我也想控制应用层的更新
在 AWS 控制台(浏览器界面)中,我能够在补丁基准中指定 Microsoft 应用程序的批准规则,它工作得很好。问题是我不知道如何在CDK中复制同样的东西。
我尝试创建新的 patchFilter,以 PRODUCT_FAMILY 作为键,以 SQL Server 作为值
const patchFilterProductWindowsServerSQL = {
key: 'PRODUCT_FAMILY',
values: ['SQL Server']
};
但我收到以下错误:“无效的过滤器值:SQL 服务器的密钥:PRODUCT_FAMILY,有效值为:WINDOWS”.
我用来创建 Windows 服务器补丁基准的代码。
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 创建。屏幕截图中的规则是从控制台手动创建的。
此线程是此线程的跟进 -
我们还需要将 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: ['*']
}
]
}
};
我的目标是部署 CfnPatchBaseline,它使用 CDK 和 TypeScript 在 Windows 服务器上指定 SQL 的批准规则。
我已经使用 CDK 为 Windows 服务器实例成功创建了 CfnPatchBaseline。这意味着我能够控制 OS 层上的更新。
现在我也想控制应用层的更新
在 AWS 控制台(浏览器界面)中,我能够在补丁基准中指定 Microsoft 应用程序的批准规则,它工作得很好。问题是我不知道如何在CDK中复制同样的东西。
我尝试创建新的 patchFilter,以 PRODUCT_FAMILY 作为键,以 SQL Server 作为值
const patchFilterProductWindowsServerSQL = {
key: 'PRODUCT_FAMILY',
values: ['SQL Server']
};
但我收到以下错误:“无效的过滤器值:SQL 服务器的密钥:PRODUCT_FAMILY,有效值为:WINDOWS”.
我用来创建 Windows 服务器补丁基准的代码。
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 创建。屏幕截图中的规则是从控制台手动创建的。
此线程是此线程的跟进 -
我们还需要将 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: ['*']
}
]
}
};