我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
使用 ECR 复制在 ECR 存储库上配置静态 KMS 加密
简介
在这篇博客文章中,您将学习如何使用镜像复制功能在
在对合规性和监管问题敏感的环境中,客户通常希望尽可能启用加密。企业希望在传输和静态时保护其数据足迹,容器映像也不例外。
借助 亚马逊云科技 KMS 和 Amazon ECR 映像复制,我们可以
架构
对于跨区域复制,以下是我们的解决方案示意图:
下图显示了我们的跨区域和跨账户复制解决方案:
演练
Time to read | 5 mins |
Time to complete | 10 mins |
Cost to complete | ~$5 per month (for two Regions) |
Learning level | Intermediate (200) |
Services used | Amazon Elastic Container Registry (ECR) and 亚马逊云科技 Key Management Service (KMS) |
采用 亚马逊云科技 KMS 加密的亚马逊 ECR 跨区域复制
以下是在启用 亚马逊云科技 KMS 加密的两个不同区域的两个 Amazon ECR 存储库之间创建复制的示例。步骤的顺序至关重要。请不要乱序运行这些步骤。
在主区域创建 亚马逊云科技 KMS 密钥
- 在所需的主区域(例如,弗吉尼亚北部)打开 亚马逊云科技 KMS 控制台。
- 选择 “ 创建密钥 ” 。
- 选择 对称 密钥类型。
- 选择 “ 加密和解密密 钥用法”。
- 选择 “ 下一步 ” 。
- 输入您的 亚马逊云科技 KMS 密钥的 别名 (例如,“ECR KMS 密钥”)。
- 选择 “ 下一步 ” 。
- 在 定义密钥管理权限 字段中 , 选择 IAM 用户或角色。
- 选择 “ 下一步 ” 。
- 在 定义密钥使用权限 字段中,选择 IAM 用户和/或角色。
- 确保还选择了您的 IAM 用户或角色。这将是 Amazon ECR 加密和解密容器镜像所必需的。
- 选择 “ 下一步 ” 。
- 选择 “ 完成 ” 。
在主区域创建 Amazon ECR 存储库
- 在所需的主要区域(例如,弗吉尼亚北部)打开 Amazon ECR 控制台
- 选择 “ 开始 ” 。
- 选择 “隐 私 ” 作为可见性设置。
- 输入您的 存储库名称 (即 myrepo)。
- 在 “ 加密设置” 部分中,执行以下操作:
- 启用加密 。
- 选择 “ 自定义加密设置(高级) ” 。
- 选择 我们在上述步骤中刚刚创建的 密钥 。
- 选择 “ 创建存储库 ” 。
此时,您已经创建了一个启用了 亚马逊云科技 KMS 加密的 Amazon ECR 存储库。在启用 Amazon ECR 复制之前,让我们在辅助区域创建 Amazon ECR 存储库。
在第二个区域创建 亚马逊云科技 KMS 存储库
- 在所需的辅助区域(例如俄勒冈州)中打开 亚马逊云科技 KMS 控制台。
- 选择 “ 创建密钥 ” 。
- 选择 对称 密钥类型。
- 选择 “ 加密和解密密 钥用法”。
- 选择 “ 下一步 ” 。
- 输入您的 亚马逊云科技 KMS 密钥的 别名 (即 “ECR KMS 密钥”)。
- 选择 “ 下一步 ” 。
- 在 定义密钥管理权限 字段中,选择 IAM 用户或角色。
- 选择 “ 下一步 ” 。
- 在 定义密钥使用权限 字段中,选择 IAM 用户或角色。
- 确保还选择了您的 IAM 用户或角色。这将是 Amazon ECR 加密和解密容器镜像所必需的。
- 选择 “ 下一步 ” 。
- 选择 “ 完成 ” 。
在主区域创建 Amazon ECR 存储库
- 在所需的辅助区域(例如,俄勒冈州)打开 Amazon ECR 控制台。
- 选择 “ 开始 ” 。
- 为可见性设置选择 “ 私 人”。
- 输入您的 存储库名称 (例如,myrepo)。
- 指定与主区域 相同的 存储库名称非常重要。如果主区域和副本区域之间的存储库名称不匹配,则复制将失败。
- 在 “ 加密设置” 部分中,执行以下操作:
- 启用加密 。
- 选择 “ 自定义加密设置(高级) ” 。
- 选择 我们在前面的步骤中刚刚创建的 密钥 。
- 选择 “ 创建存储库 ” 。
如果您想将 Amazon ECR 存储库复制到其他区域,请在所需区域重复辅助区域的步骤。
最后,让我们启用 Amazon ECR 复制配置。
启用亚马逊 ECR 复制
- 在主要区域(例如,弗吉尼亚北部)打开 Amazon ECR 控制台。
- 在导航窗格中,选择 私有注册表 ,然后选择 复制配置并按编辑 。
- 选择 “ 添加规则 ” 。
- 为区域间的复制选择跨区域复制。
- 选择 “ 下一步 ” 。
- 选择您在辅助 Amazon ECR 存储库(例如俄勒冈州)中创建的 目标区域 。
- 选择 “ 下一步 ” 。
- 在 存储库筛选器中, 执行以下操作:
- 输入 存储库名称 (例如,myrepo)。它需要与您创建的存储库名称完全匹配。
- 选择 “ 添加 ” 。
- 选择 “ 下一步 ” 。
- 选择 “ 提交规则 ” 。
(可选)采用 亚马逊云科技 KMS 加密的 Amazon ECR 跨账户复制
(可选)如果您想启用跨账户复制,请按照上述所有步骤将辅助/目标区域复制到另一个 亚马逊云科技 账户,我们需要利用 Amazon ECR 复制来创建跨区域复制。此外,您需要在目标账户上创建 Amazon ECR 复制规则和权限。
(可选)启用跨账户复制规则
- 在主要区域(例如,弗吉尼亚北部)打开 Amazon ECR 控制台。
- 在导航窗格中,选择 私有注册表 ,然后选择 复制 。
- 选择 “ 添加规则 ” 。
- 为 账户间 的复制选择跨账户 复制。
- 选择 “ 下一步 ” 。
- 选择您创建辅助 Amazon ECR 存储库的目标账户。
- 选择您希 望 Amazon ECR 复制到辅助 亚马逊云科技 账户的 目标区域 。
- 选择 “ 下一步 ” 。
- 在 存储库筛选器 中 ,执行以下操作:
- 输入 存储库名称 (例如,myrepo)。它需要与您创建的存储库名称完全匹配。
- 选择 “ 添加 ” 。
- 选择 “ 下一步 ” 。
- 选择 “ 提交规则 ” 。
(可选)启用跨账户复制权限
- 使用其他 亚马逊云科技 账户在次要区域(例如俄勒冈州)打开 Amazon ECR 控制台。
- 在导航窗格中,选择 “ 私有注册表 ” ,然后选择 “ 权限 ” 。
- 在 “ 策略” 类型 中选择 “ 跨账户复制 策略”。
- 输入 账单 ID (例如,“跨账户复制策略”)。
- 在 账户 部分,输入主 Amazon ECR 存储库所在的 A WS 账号 。
- 选择 “ 保存对账单 ” 。
- 控制台将自动生成与以下内容类似的 JSON IAM 策略:
最后,您应该能够将映像推送到您的主账户 Amazon ECR 存储库,该映像将自动复制到您的辅助亚马逊 ECR 账户。
云端信息自动化
同样的解决方案可以通过部署 CloudFormation 基础设施即代码 (IaC) 模板来实现。这些带有说明的模板可以在我们的
该存储库包含两个解决方案:
- 跨区域复制(同一个账户)
- 跨区域和跨账户复制
结论
总之,我们已经描述了如何使用 亚马逊云科技 KMS 密钥为存储在 Amazon ECR 中的容器映像启用传输过程中的加密,以便在区域或账户之间传输图像。
我们已经审查了所涉及的组件以及它们如何协同工作以实现容器镜像的安全传输。此外,我们还成功实现了所述功能的自动化,使您能够在自己的区域和账户中快速启用服务。
如果您对这篇文章有反馈,请在下面的评论部分提交。如果你对这篇文章有疑问,请在 Contain
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。