发布于: Mar 21, 2024

今天,AWS 宣布在 AWS CodeArtifact 中全面推出包组配置。客户现在可以定义包组并将包来源控制应用于这些组,从而增强安全性并防止软件供应链攻击。 

使用此功能,客户可以根据包格式、命名空间和名称在 CodeArtifact 域中定义包组。客户可以根据完整的包路径进行匹配,使用通配符匹配所有值,或者根据前缀进行匹配。例如,“/npm/myco/*”将匹配所有命名空间为“myco”的 npm 包。创建包组后,可以应用三个来源控制参数:Publish(允许包发布)、External Upstream(可以从外部存储库中保留包)和 Internal Upstream(可以从上游 CodeArtifact 存储库中保留包)。可以单独设置这三个参数以允许或阻止相应的操作。包组可以使用 AWS 管理控制台、CLI、SDK 和 CloudFormation 进行管理。

例如,使用 External Upstream = BLOCK、Internal Upstream = BLOCK 和 Publish = ALLOW 的来源控制创建包组。如果向 CodeArtifact 发出了发布与该组匹配的包的请求,则该请求将成功。如果发出了包下载请求,但该包已经不存在于 CodeArtifact 存储库中,则下载将由于上游存储库被阻止而失败。这可以防止私有包的版本从公共存储库导入,因为这些版本可能包含恶意代码。

CodeArtifact 包组配置已在所有 13 个 CodeArtifact 区域推出。要了解更多信息,请参阅 AWS CodeArtifact