

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

# 安全最佳实践
<a name="security-best-practices"></a>



**Topics**

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

您可以对连接到管道的源存储库使用加密和身份验证。以下是安全 CodePipeline 的最佳实践：
+ 如果要创建需要包含密钥（如令牌或密码）的管道或操作配置，请不要直接在操作配置中输入密钥，也不要输入管道级别或 CloudFormation 配置中定义的变量的默认值，因为这些信息将显示在日志中。请使用 Secrets Manager 设置和存储密钥，然后在管道和操作配置中使用引用的密钥，如[AWS Secrets Manager 用于跟踪数据库密码或第三方 API 密钥](parameter-store-encryption.md)中所述。
+ 如果您创建使用 S3 源存储桶的管道，请 CodePipeline 通过管理为存储在 Amazon S3 中的项目配置服务器端加密 AWS KMS keys，如中所[为存储在 Amazon S3 中的项目配置服务器端加密 CodePipeline](S3-artifact-encryption.md)述。
+ 如果您使用 Jenkins 操作提供程序，则当您将 Jenkins 构建提供程序用于管道的构建或测试操作时，应在 EC2 实例上安装 Jenkins 并配置单独的 EC2 实例配置文件。确保实例配置文件仅授予 Jenkins 执行项目任务所需的 AWS 权限，例如从 Amazon S3 检索文件。要了解如何为您的 Jenkins 实例配置文件创建角色，请参阅[创建 IAM 角色以用于 Jenkins 集成](tutorials-four-stage-pipeline.md#tutorials-four-stage-pipeline-prerequisites-jenkins-iam-role)中的步骤。