安全最佳实操 - AWS CodePipeline

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

安全最佳实操

主题

    CodePipeline 提供了许多安全功能,供您在制定和实施自己的安全策略时考虑。以下最佳实践是一般指导原则,并不代表完整安全解决方案。这些最佳实践可能不适合环境或不满足环境要求,请将其视为有用的考虑因素而不是惯例。

    您可以对连接到管道的源存储库使用加密和身份验证。以下是安全 CodePipeline 的最佳实践:

    • 如果要创建需要包含密钥(如令牌或密码)的管道或操作配置,请不要直接在操作配置中输入密钥,也不要输入管道级别或 AWS CloudFormation 配置中定义的变量的默认值,因为这些信息将显示在日志中。请使用 Secrets Manager 设置和存储密钥,然后在管道和操作配置中使用引用的密钥,如AWS Secrets Manager 用于跟踪数据库密码或第三方API密钥中所述。

    • 如果您创建使用 S3 源存储桶的管道,请 CodePipeline 通过管理为存储在 Amazon S3 中的项目配置服务器端加密 AWS KMS keys,如中所为存储在 Amazon S3 中的项目配置服务器端加密 CodePipeline述。

    • 如果您使用的是 Jenkins 操作提供程序,则在使用 Jenkins 构建提供程序进行管道的生成或测试操作时,请在实例上安装 Jenkins 并配置单独EC2的EC2实例配置文件。确保实例配置文件仅授予 Jenkins 执行项目任务所需的 AWS 权限,例如从 Amazon S3 检索文件。要了解如何为您的 Jenkins 实例配置文件创建角色,请参阅创建用于 Jenkins 集成的IAM角色中的步骤。