跳至主要内容

AWS 解决方案库

在 AWS 上安全访问外部软件包存储库的指南

概览

本指南可帮助组织为其数据科学家提供外部软件包存储库访问权限,同时保持信息安全(infosec)合规性。数据科学家通常必须安装位于公共存储库中的开源软件包,但这会带来安全风险。通过使用 AWS 上的自动业务流程管道,组织可以确保所有公共软件包在进入数据科学家的专用 Jupyter Notebook 环境之前都经过全面的安全扫描。无缝集成的 InfoSec 治理控件可确保顺畅且无中断的数据科学工作流程体验。通过本指南,组织可以在赋予数据科学家灵活性和维持强有力的安全措施以实现运营协调之间取得平衡。

工作原理

这些技术细节包含一张架构图,用于说明如何有效使用本解决方案。该架构图展示了关键组件及其相互作用,并逐步概述了架构的结构和功能。

Well-Architected 支柱

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

本指南使用支持亚马逊 CloudWatch 或 AWS Cloud Trail 日志记录的 AWS 托管服务,用于事件和事件响应。您可以通过控制台或命令行界面查看 CodePipel ine 的实现状态,也可以单独监视每个 CodeBuild 项目。自动部署脚本监控 AWS CloudFormation 堆栈状态,让部署本指南的用户可以看到该状态。此外,CloudTrail 将对 CodeArtifac t 的所有 API 调用捕获为事件,包括来自包管理器客户端的调用。

阅读卓越运营白皮书

本指南使用亚马逊 VPC 网络和 VPC 终端节点来建立私有数据边界。密钥管理器安全地存储敏感凭证,例如 GitHub PAT 和电子邮件,GitHub PAT 对私有存储库 webhook 进行身份验证。cfn-nag 工具会验证 CloudFormation 模板,以确保 IAM 规则和安全组不会过于宽松,访问日志和加密已启用,并且没有密码文字。此外,CodePipel ine为其资产使用由 AWS密钥管理系统 (AWS KMS) 加密的加密亚马逊S3 工件存储库。CodeArtifact 包使用 SHA256 哈希值发布,该哈希值由调用者计算并在请求中提供。

阅读安全白皮书

本指南使用原生提供高可用性和弹性的 AWS 托管服务。例如,SageMaker 提供低延迟、高吞吐量和高度冗余的网络。本指南旨在部署在一个 AWS 区域中,但您可以轻松调整其基础设施即代码,以在辅助灾难恢复区域中启动相同的堆栈。为了提供更高的可用性,AWS Lambda 在多个可用区 (AZ) 运行您的函数,这样,在单个可用区服务中断的情况下,它仍然可以处理事件。为了提供弹性,CodePipeline CodeBuild 可以自动或手动重试失败的阶段操作。此外,CloudFormat ion模板使您能够快速启动资源堆栈的新版本,并且您可以使用 CloudTrail和Cloud Watch 访问有关资源配置和错误的堆栈日志。最后,当重大事件发生时,Amazon QuickSight 将向您的账户管理员发送电子邮件。

阅读可靠性白皮书

本指南使用更高抽象度的 AWS 托管服务,之所以选择这些服务,原因在于其运营优势。例如,这些服务根据 VPC 端点配额限制,原生提供至少 40 Gbps 的可突发吞吐量。对于使用的任何服务,使用亚马逊简单电子邮件服务 (Amazon SES) 的最低请求配额(可以增加)为每天 200 封电子邮件。在该级别上,该指南扩展到了 1,000 个 CodePipeline 实现。它还集成了各种第三方源代码存储库,例如 GitHub,您只需将第三方安全扫描软件作为自定义 CodeBuild 项目插入自动化管道即可。此外,您可以使用 SageMaker Studio 系统终端在本地和远程存储库之间提取、编辑和推送文件副本。或者,您也可以从本地系统终端或另一个笔记本环境执行 Git 命令。

阅读性能效率白皮书

本指南在同一区域提供服务,以降低数据传输费用。作为托管的无服务器服务,它们可以降低您的维护开销和基础设施成本。此外,这些服务遵循按需付费模式,效率高,不需要长时间运行,并且可以在不使用时缩减。亚马逊 VPC 中的 NAT 网关按处理后的数据数据库收费,支持 5 Gbps 的带宽,并可自动扩展到 100 Gbps。Amazon VPC 中的互联网网关横向扩展、冗余且高度可用,没有带宽限制。每个 VPC 端点为每个可用区提供高达 10 Gbps 的带宽和高达 40 Gbps 的突发带宽支持。此外,CodePipeline CodeBuild 项目的实现为每次运行提供了一个唯一的实例,没有报告的并发限制。此外,密钥管理器每秒支持 10,000 个 DescribeSecret 和 GetSecretValue API 请求。最后,SageMaker Studio允许您自动关闭空闲资源,而 CloudFormat ion允许您根据需要创建和删除堆栈,从而避免静态配置成本。

阅读成本优化白皮书

指南中使用的 AWS 托管服务可根据需求扩展,并且是无服务器的,因此无需静态配置。例如,CodePipeline CodeBuil d 和 Lambda 都利用云的弹性来动态扩展基础设施,使云资源的供应与需求相匹配,避免容量过度配置。此外,CloudFormation 支持取消堆栈配置,这样您就可以终止不再需要的资源。通过减少过度配置的计算和存储资源,您可以将工作负载对环境的影响降至最低。

阅读可持续发展白皮书

实施资源

示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。
GitHub 上的开放示例代码

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

找到今天要查找的内容了吗?

请提供您的意见,以便我们改进网页内容的质量。