我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
手动批准 CDK 管道中的安全更改
在这篇文章中,我将向您展示如何在部署之前向 亚马逊云科技 云开发套件 (CDK) 管道添加手动批准以确认安全更改。使用此解决方案,当开发人员提交更改时,CDK Pipeline 会识别 IAM 权限变更,暂停执行,并在部署更改之前向安全工程师发送通知,要求其手动批准或拒绝更改。
简介
在我的职位上,我与许多对 亚马逊云科技 云开发套件 (CDK) 感到兴奋的客户进行了交谈。他们喜欢的一件事是,L2 结构经常生成 IAM 和其他安全策略。与手工编写这些策略相比,这可以节省大量时间和精力。大多数客户还告诉我,CDK生成的策略比他们手工生成的策略更安全。
但是,这些客户担心他们的安全工程团队不知道CDK生成的策略中有什么。过去,这些客户花费大量时间制定了一些 IAM 策略,供开发人员在其应用程序中使用。这些策略广为人知,但过于宽松,因为它们经常在许多应用程序中重复使用。
客户希望更多地了解 CDK 生成的政策。幸运的是,CDK 提供了一种
背景
在我谈论 confirmPermissionsBroadening 之前,让我回顾一下 CDK 是如何创建 IAM 策略的。以在
请注意,我不需要定义 IAM 角色或 Lambda 权限。我只是将对 Lambda 函数的引用传递给 API 网关(上面第 10 行)。CDK 了解我在做什么,并为我生成了权限。例如,CDK 生成了以下 Lambda 权限等。
请注意,CDK 生成了一个范围狭窄的策略,该策略允许特定 API(上面第 10 行)调用特定的 Lambda 函数(上面第 7 行)。此政策不能在其他地方重复使用。稍后在同一个研讨会中,我 使用 Lambda 函数和亚马逊 Dynam
与前面的示例一样,CDK 生成了范围狭窄的 IAM 策略。此策略允许 Lambda 函数对特定表格(下文第 14 行)执行某些操作(第 4-11 行)。
如你所见,CDK为我做了很多工作。此外,CDK正在为每种资源制定范围狭窄的政策,而不是在多个地方共享范围广泛的政策。
CDK 管道权限检查
现在我已经回顾了 CDK 如何生成策略,让我们讨论如何在持续部署管道中使用它。具体而言,我希望允许 CDK 生成策略,但我希望安全工程师使用正在进行的手动批准步骤来审查任何更改。当然,我不希望安全成为瓶颈,因此只有在添加安全声明或交通规则时我才需要批准。如果没有添加新的安全规则,则管道应跳过手动批准。
让我们继续以 CDK Workshop 为例。在
首先,我将从管道包中导入 conf
irmPermissionsBroadening
然后,我可以简单地使用 addPre 方法将 conf
irmPermissionsBroadening 添加 到 depl oySat
age 中,如下
所示。
在我提交并推动此更改后,一个名为
permissionCheck.
Confirm 的新手动批准步骤将添加到管道的部署阶段。将来,如果我推送添加更多规则的更改,则管道将在此处暂停并等待手动批准,如下面的屏幕截图所示。
图 1。流水线正在等待手动审查
当安全工程师单击 “审阅” 按钮时,她会看到以下对话框。在这里,她可以单击 URL 查看编译日志中记录的我请求的更改摘要。她还可以选择批准或拒绝更改,并在需要时添加评论。
图 2。带有编译日志链接的手动审阅对话框
当安全工程师点击评论网址时,她会看到以下安全更改摘要。
图 3。编译日志中的安全更改摘要
我想添加的最后一个功能是电子邮件通知,以便安全工程师知道何时有需要批准的内容。
为此,我创建了一个新的
配置通知后,安全工程师将在需要批准时收到一封电子邮件。她将有机会回顾我所做的安全更改并评估其影响。这使安全工程团队能够了解他们想要的 CDK 正在生成的策略。此外,如果更改未添加安全规则,则会跳过批准步骤,这样安全工程师就不会成为部署过程中的瓶颈。
结论
亚马逊云科技 云开发套件 (CDK) 可自动生成 IAM 和其他安全策略。这可以节省大量时间和精力,但安全工程团队希望了解CDK生成的策略。为了解决这个问题,CDK Pipelines 提供了 confirmPer
missionsBroadening 操作
。当您将 Conf
irmPermissionsBroadening
添加到您的 CI/CD 管道时,CDK 将等待手动批准,然后再部署包含新安全规则的更改。
作者简介:
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。