AWS 密钥管理服务简介
该实验室提供了对AWS 密钥管理服务的基本了解和动手经验。它将演示入门密钥管理服务,创建密钥,为密钥分配管理和使用权限,加密数据以及监视密钥的访问和使用所需的基本步骤。为了使实验室按书面规定运行,请不要更改自动分配的区域。
AWS 密钥管理服务简介
©2020 Amazon Web 服务 ,Inc.及其分支机构。版权所有。未经Amazon Web 服务 ,Inc.事先书面许可,不得全部或部分复制或再分发此作品。禁止商业复制,借出或出售。
错误或纠正?给我们发电子邮件 [电子邮件 protected].
还有其他问题吗?与我们联系 //aws.amazon.com/contact-us/aws-training/
实验室概述
本实验向您介绍“ AWS 密钥管理服务入门”自定进度实验。它将使您对AWS 密钥管理服务有基本的了解。它将演示入门密钥管理服务,创建密钥,为密钥分配管理和使用权限,加密数据以及监视密钥的访问和使用所需的基本步骤。
涵盖的主题
在本实验结束时,您将能够:
- 创建一个加密密钥
- 使用CloudTrail日志记录功能创建S3存储桶
- 使用加密密钥对存储在S3存储桶中的数据进行加密
- 使用CloudTrail监视加密密钥的使用
- 管理用户和角色的加密密钥
先决条件
对访问控制管理有所了解。
强烈建议您使用Google Chrome浏览器完成此实验。如果您无法使用Google Chrome浏览器,则您的计算机上需要有一个实用程序,可以打开gzip压缩文件(* .gz)。
AWS 密钥管理服务(KMS)
AWS 密钥管理服务(KMS)是一项托管服务,可让您轻松创建和控制用于加密数据的加密密钥,并使用硬件安全模块(HSM)保护密钥的安全性。 AWS 密钥管理服务与其他几个AWS服务集成在一起,可帮助您保护通过这些服务存储的数据。 AWS 密钥管理服务还与AWS 云 Trail集成在一起,可为您提供所有密钥用法的日志,以帮助满足法规和合规性需求。
AWS 云 Trail
AWS 云 Trail是一项服务,可用于对您的AWS账户进行治理,合规性,运营审核和风险审核。借助CloudTrail,您可以记录,持续监控和保留与整个AWS基础架构中的操作相关的帐户活动。 云 Trail提供您的AWS账户活动的事件历史记录,包括通过AWS管理控制台,AWS SDK,命令行工具和其他AWS服务执行的操作。此事件历史记录简化了安全性分析,资源更改跟踪和故障排除。
亚马逊S3
当今的公司需要能够简单,安全地大规模收集,存储和分析数据的能力。 亚马逊S3 是对象存储,旨在从任何地方(网站和移动应用程序,公司应用程序)以及来自IoT传感器或设备的数据存储和检索任何数量的数据。它旨在提供99.999999999%的耐用性,并存储每个行业市场领导者使用的数百万种应用程序的数据。 S3提供了全面的安全性和合规性功能,甚至可以满足最严格的法规要求。它使客户可以灵活地管理数据以优化成本,访问控制和合规性。 S3是唯一具有就地查询功能的云存储解决方案,使您可以直接对S3中的静态数据运行强大的分析。 亚马逊S3 是目前最受支持的存储平台,拥有最大的ISV解决方案生态系统和系统集成商合作伙伴。
任务1:创建您的KMS主密钥
在此任务中,您将创建一个KMS主密钥。使用KMS主密钥,您可以轻松跨AWS服务以及您自己的应用程序加密数据。
-
在里面 AWS 管理控制台 ,在 服务 菜单,点击 密钥管理服务.
-
请点击 建立金钥 然后配置:
- 在 配置密钥 页面上,选择 对称的
- 请点击 下一个
- 在 添加标签 页面配置:
- 别名:
- 描述:
- 请点击 下一个
优良作法是在描述中描述加密密钥将与哪些服务关联。
- 在 定义关键管理权限 , 选择 您用来登录控制台的用户或角色。
该用户显示在页面顶部,区域的左侧。
- 请点击 下一个
关键管理员 是将管理对加密密钥的访问的用户或角色。
-
在 定义密钥使用权限 页面上,选择 您用来登录控制台的用户或角色。
-
请点击 下一个
关键用户 是使用密钥来加密和解密数据的用户或角色。
- 在 审查和编辑关键政策 页:
- 审查关键政策
- 请点击 完
- 复制以下密钥的ID: myFirstKey 到文本编辑器。
稍后,当您查看此KMS密钥的日志活动时,将使用密钥ID。
任务2:将CloudTrail配置为将日志存储在S3存储桶中
在此任务中,您将配置CloudTrail以将日志文件存储在新的S3存储桶中。
-
在 服务 菜单,点击 云 Trail.
-
如果您看到 现在就开始 按钮,单击它。如果不是,请继续下一步。
-
在左侧的导航窗格中,单击 步道 .
-
在里面 步道 部分,单击 创建足迹 然后配置:
- 足迹名称:
- 将足迹应用到所有区域: 没有
- 创建一个新的S3存储桶: 是
- S3存储桶*:
- 更换 数 有一个随机数
- 请点击 创造
任务3:将映像上传到S3存储桶并加密
在此任务中,您将图像文件上传到S3存储桶,并使用之前创建的加密密钥对其进行加密。您将使用在上一个任务中创建的S3存储桶来存储映像文件。
-
在 服务 菜单,点击 S3.
-
请点击 mycloudtrailbucket *.
-
请点击 Upload
这将带您到 选择文件 对话框。
- 在 (1)选择文件:
- 请点击 新增档案
- 浏览并选择计算机上的图像文件
- 请点击 下一个
这将带您到 (2)设置权限 对话框。
- 在 (2)设置权限 ,点击 下一个
这将带您到 (3)设置属性 对话框。
- 在 (3)设置属性, 配置:
- 加密: AWS KMS万能钥匙
- 选择一个键: myFirstKey
- 请点击 下一个
这将带您到 评论 对话框。
- 在 (4)复习 ,点击 上载
图像文件将被上传。
-
单击图像文件的名称。
-
在里面 概述标签 对于文件,记录 最后修改 时间到您的文本编辑器。
任务4:访问加密的映像
在此任务中,您将尝试通过AWS管理控制台和S3链接访问加密的映像。
- 在里面 总览 标签,点击 打开
图像在新的选项卡/窗口中打开。
当您请求解密数据时,Amazon S3和AWS KMS将执行以下操作。
- 亚马逊S3sends the encrypted data key to AWS KMS
- AWS KMS使用适当的主密钥解密密钥,然后将纯文本密钥发送回Amazon S3
- 亚马逊S3 解密密文并尽快从内存中删除纯文本数据密钥
-
关闭显示图像的窗口/选项卡。
-
复制S3 对象网址 页面底部的文本编辑器。
-
将您先前复制的S3对象URL粘贴到新的浏览器/窗口中。
-
按 输入 .
-
页面显示什么?
它应该显示 拒绝访问。这是因为,默认情况下,不允许公共访问。
-
在里面 S3管理控制台 ,在 总览 图片的标签,点击 公开
-
刷新先前打开的新标签页/窗口的屏幕。
-
你看到了什么?
由于图像是加密的,因此您无法使用公共链接查看它。您应该看到一条消息说 使用AWS KMS托管密钥指定服务器端加密的请求需要AWS Signature版本4。
如果要上载或访问通过SSE-KMS加密的对象,则需要使用AWS Signature版本4来提高安全性。签名版本4是将身份验证信息添加到AWS请求的过程。当您使用AWS命令行界面(AWS CLI)或一个AWS开发工具包向AWS发出请求时,这些工具会使用您在配置工具时指定的访问密钥为您自动签署请求。使用这些工具时,您无需自己学习如何对请求进行签名。有关此过程的更多信息,请阅读以下博客文章: 博客文章
- 关闭新/标签窗口。
任务5:使用CloudTrail日志监控KMS活动
在此任务中,您将访问CloudTrail日志文件并查看与加密操作有关的日志。
-
在里面 AWS 管理控制台, 点击 亚马逊S3 链接返回到S3根目录。
-
点击 mycloudtrailbucket *.
-
深入了解 AWS 日志 文件夹,直到到达包含日志文件的文件夹。
该路径应类似于: 亚马逊S3> AWS 日志 > 197167081626 > 云 Trail > us-west-2 > 2019 > 07 > 10
如果看不到任何日志文件,请单击 刷新 每隔几秒钟按一次,直到看到日志文件。
日志文件的扩展名为 * .json.gz
-
您看到谁的日志文件 最后修改 日期晚于您下载的图像文件的时间戳?________
-
如果没有日志文件,谁 最后修改 数据晚于上传的图像文件的时间戳,请继续单击 刷新 每几秒钟按一次,直到出现。
最多可能需要5分钟才能看到包含以下内容的日志文件: 最后修改 时间戳大于您上载的图像文件的时间戳。
-
单击列表中的最新日志文件。
-
在里面 总览 标签,点击 打开 .
-
如果看到弹出安全警告,请确认您要打开文件。如果不是,请继续下一步。
您的浏览器安全设置可能只是忽略弹出窗口。如果您没有看到任何正在打开的文件并且没有看到弹出警报,则应在浏览器的“设置”部分中启用弹出窗口。
如果您未使用Google Chrome或Firefox,则可能需要使用自己计算机上的本地实用程序下载并解压缩gz压缩文件。将.gz文件解压缩后,您将需要在文本编辑器中将其打开。
日志文件采用JSON格式,其中包含CloudTrail记录的每个API调用。根据使用的浏览器,日志文件可能看起来略有不同。
- 在您的日志文件中搜索以下内容:
- 复制到文本编辑器的加密密钥ID
- 您上传的文件的名称。 (您应该在包含加密密钥ID的同一日志文件中的文件名)
如果找不到上面的项目,请再等待五分钟,以显示下一个日志文件,然后打开该日志文件。第一个日志文件可能不包含您要查找的日志。
这是在Firefox中打开的日志文件。默认情况下,它以JSON格式显示日志文件,这是一种用于查看日志文件的非常不错的格式。
在此日志文件中,您可以看到以下内容:
- S3调用了一个请求
- eventSource是KMS
- 此事件生成了数据密钥
- Effile.jpg是已加密文件的名称
- 显示加密KeyID
任务6:管理加密密钥
在此任务中,您将管理用户和角色的加密密钥。
-
在 服务 菜单,点击 密钥管理服务.
-
请点击 myFirstKey.
在此页面上,您可以更改按键说明, 加 要么 去掉 密钥管理员和密钥用户,允许外部用户访问密钥并将密钥进行年度轮换。
-
在里面 关键用户 部分,选择 您用来登录的用户或角色。
-
点击 去掉
您已删除用户使用此密钥的权限。
- 在里面 关键用户 部分,点击 加 然后:
- 选择 您用来登录的用户或角色
- 请点击 加
这显示了如何控制哪些IAM用户或角色可以使用您创建的KMS密钥。相同的添加和删除步骤用于控制哪些IAM用户可以管理KMS密钥。
结束实验室
请按照以下步骤关闭控制台,结束实验并评估体验。
-
返回AWS管理控制台。
-
在导航栏上,单击 [电子邮件 protected]<AccountNumber>,然后单击 登出 .
-
请点击 结束实验室
-
请点击 好
-
(可选的):
- 选择适用的星数
- 输入评论
-
请点击 提交
- 1星=非常不满意
- 2星=不满意
- 3星=中立
- 4星=满意
- 5星=非常满意
如果您不想提供反馈,则可以关闭对话框。
结论
恭喜你!您现在知道如何:
- 创建一个加密密钥
- 使用CloudTrail日志记录功能创建了一个S3存储桶
- 加密并镜像并将其存储在S3存储桶中
- 使用AWS管理控制台查看加密的映像
- 使用CloudTrail监控加密密钥的使用
- 用户和角色的托管加密密钥
其他资源
有关反馈,建议或更正,请发送电子邮件至 [电子邮件 protected].