Amazon DevOps Guru 中的数据保护 - Amazon DevOps Guru

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

Amazon DevOps Guru 中的数据保护

AWS 分担责任模式分适用于 Amazon DevOps Guru 中的数据保护。如本模型所述 AWS ,负责保护运行所有内容的全球基础架构 AWS Cloud。您负责维护对托管在此基础架构上的内容的控制。您还负责您所使用的 AWS 服务 的安全配置和管理任务。有关数据隐私的更多信息,请参阅数据隐私FAQ有关欧洲数据保护的信息,请参阅责任AWS 共担模型和AWS安全GDPR博客上的博客文章

出于数据保护目的,我们建议您保护 AWS 账户 凭据并使用 AWS IAM Identity Center 或 AWS Identity and Access Management (IAM) 设置个人用户。这样,每个用户只获得履行其工作职责所需的权限。我们还建议您通过以下方式保护数据:

  • 对每个账户使用多重身份验证 (MFA)。

  • 使用SSL/TLS与 AWS 资源通信。我们需要 TLS 1.2,建议使用 TLS 1.3。

  • 使用API进行设置和用户活动记录 AWS CloudTrail。有关使用 CloudTrail 跟踪捕获 AWS 活动的信息,请参阅AWS CloudTrail 用户指南中的使用跟 CloudTrail 踪

  • 使用 AWS 加密解决方案以及其中的所有默认安全控件 AWS 服务。

  • 使用高级托管安全服务(例如 Amazon Macie),它有助于发现和保护存储在 Amazon S3 中的敏感数据。

  • 如果您在 AWS 通过命令行界面或访问时需要 FIPS 140-3 经过验证的加密模块API,请使用端点。FIPS有关可用FIPS端点的更多信息,请参阅联邦信息处理标准 (FIPS) 140-3

我们强烈建议您切勿将机密信息或敏感信息(如您客户的电子邮件地址)放入标签或自由格式文本字段(如名称字段)。这包括您 AWS 服务 使用控制台、、API或与 DevOps Guru 或其他人合作时。 AWS CLI AWS SDKs在用于名称的标签或自由格式文本字段中输入的任何数据都可能会用于计费或诊断日志。如果您URL向外部服务器提供,我们强烈建议您不要在中包含凭据信息,URL以验证您对该服务器的请求。

DevOpsGuru 中的数据加密

加密是 DevOps Guru 安全的重要组成部分。某些加密(例如,针对传输中的数据的加密)是默认提供的,无需您执行任何操作。其他加密(例如,针对静态数据的加密)可在创建项目或构建时进行配置。

  • 传输中的数据加密:客户与 Guru 之间以及 DevOps Guru 与其下游依赖关系之间 DevOps的所有通信都使用签名版本 4 签名流程进行保护TLS和身份验证。所有 DevOps Guru 端点都使用由管理的 AWS Private Certificate Authority证书。有关更多信息,请参阅签名版本 4 的签名过程什么是ACMPCA

  • 静态数据加密:对于 DevOps Guru 分析的所有 AWS 资源,亚马逊 CloudWatch 指标和数据、资源IDs和 AWS CloudTrail 事件均使用亚马逊 S3、亚马逊 DynamoDB 和 Amazon Kinesis 存储。如果使用 AWS CloudFormation 堆栈来定义分析的资源,则还会收集堆栈数据。 DevOpsGuru 使用亚马逊 S3、DynamoDB 和 Kinesis 的数据保留策略。存储在 Kinesis 中的数据最多可以保留一年,具体取决于所设置的策略。存储在 Amazon S3 和 DB 中的数据将存储一年。

    存储的数据使用亚马逊 S3、DynamoDB 和 Kinesis 的 data-at-rest加密功能进行加密。

    客户托管密钥: DevOpsGuru 支持加密客户内容和敏感元数据,例如使用客户托管密钥从日志中生成的 CloudWatch 日志异常。此功能为您提供了添加自我管理安全层的选项,以帮助您满足组织的合规性和监管要求。有关在 DevOps Guru 设置中启用客户托管密钥的信息,请参阅在 DevOps Guru 中更新加密设置

    由于您可以完全控制这层加密,因此可以执行以下任务:

    • 制定和维护关键策略

    • 制定和维护IAM政策和补助金

    • 启用和禁用密钥策略

    • 轮换加密材料

    • 添加标签

    • 创建密钥别名

    • 安排密钥删除

    有关更多信息,请参阅《 AWS Key Management Service 开发人员指南》中的客户托管密钥

    注意

    DevOpsGuru 使用 AWS 自有密钥自动启用静态加密,从而免费保护敏感元数据。但是,使用客户管理的密钥需要 AWS KMS 付费。有关定价的更多信息,请参阅定 AWS Key Management Service 价。

DevOpsGuru 如何使用补助金 AWS KMS

DevOpsGuru 需要获得授权才能使用您的客户托管密钥。

当您选择使用客户托管密钥启用加密时, DevOpsGuru 会通过向发送 CreateGrant 请求来 AWS KMS代表您创建授权。中的授权 AWS KMS 用于让 DevOps Guru 访问客户账户中的 AWS KMS 密钥。

DevOpsGuru 需要获得授权才能使用您的客户托管密钥进行以下内部操作:

  • 向发送 DescribeKey 请求, AWS KMS 以验证在创建跟踪器或地理围栏集合时输入的对称客户托管KMS密钥 ID 是否有效。

  • 向发送 GenerateDataKey 请求 AWS KMS 以生成由您的客户托管密钥加密的数据密钥。

  • 将 Decrypt 请求发送 AWS KMS 到以解密加密的数据密钥,以便它们可用于加密您的数据。

您可以随时撤销授予访问权限,或删除服务对客户托管密钥的访问权限。如果你这样做, DevOpsGuru 将无法访问由客户托管密钥加密的任何数据,这会影响依赖该数据的操作。例如,如果您尝试获取 DevOps Guru 无法访问的加密日志异常信息,则该操作将返回错误 AccessDeniedException 。

在 DevOps Guru 中监控您的加密密钥

当您将 AWS KMS 客户托管密钥与 DevOps Guru 资源一起使用时,您可以使用 AWS CloudTrail 或 CloudWatch 日志来跟踪 DevOps Guru 发送到的请求。 AWS KMS

创建客户托管密钥

您可以使用 AWS Management Console 或创建对称的客户托管密钥。 AWS KMS APIs

要创建对称客户托管密钥,请参阅创建对称加密密KMS钥。

密钥策略

密钥策略控制对客户托管密钥的访问。每个客户托管式密钥必须只有一个密钥政策,其中包含确定谁可以使用密钥以及如何使用密钥的声明。创建客户托管式密钥时,可以指定密钥政策。有关更多信息,请参阅《 AWS Key Management Service 开发人员指南》 AWS KMS中的身份验证和访问控制

要将您的客户托管密钥与您的 DevOps Guru 资源一起使用,密钥策略中必须允许以下API操作:

  • kms:CreateGrant – 添加客户托管密钥授权。授予对指定 AWS KMS 密钥的控制访问权限,从而允许访问授予 DevOps Guru 所需的操作。有关使用授权的更多信息,请参阅《 AWS Key Management Service 开发者指南》。

这允许 DevOps Guru 执行以下操作:

  • 调 GenerateDataKey 用生成加密的数据密钥并将其存储,因为数据密钥不会立即用于加密。

  • 调用 Decrypt 使用存储的加密数据密钥访问加密数据。

  • 设置终止委托人以允许该服务。 RetireGrant

  • 用于 kms:DescribeKey 提供客户托管的密钥详细信息,以便 DevOps Guru 验证密钥。

以下声明包括您可以为 DevOps Guru 添加的策略声明示例:

"Statement" : [ { "Sid" : "Allow access to principals authorized to use DevOps Guru", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "devops-guru.Region.amazonaws.com", "kms:CallerAccount" : "111122223333" } }, { "Sid": "Allow access for key administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:*" ], "Resource": "arn:aws:kms:region:111122223333:key/key_ID" }, { "Sid" : "Allow read-only access to key metadata to the account", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:Describe*", "kms:Get*", "kms:List*" ], "Resource" : "*" } ]

流量隐私

通过将 DevOps Guru 配置为使用接口VPC终端节点,可以提高资源分析和见解生成的安全性。为此,您不需要互联网网关、NAT设备或虚拟专用网关。尽管建议这样做 PrivateLink,但也无需进行配置。有关更多信息,请参阅 DevOpsGuru 和接口VPC端点 ()AWS PrivateLink。有关PrivateLink 和VPC终端节点的更多信息,请参阅AWS PrivateLink通过访问AWS服务 PrivateLink