introduction to AWS Key Management Service
任务需求:演示开始使用 AWS KMS 所需的基本步骤:创建密钥、为密钥分配管理和使用权限、加密数据以及监控密钥的访问和使用情况。
目标:
创建加密密钥 使用 AWS CloudTrail 日志记录函数创建 Amazon Simple Storage Service (Amazon S3) 存储桶 使用加密密钥加密存储在 Amazon S3 存储桶中的数据 使用 CloudTrail 监控加密密钥使用情况 管理用户和角色的加密密钥
技术知识先决条件
对访问控制管理有一定的了解。 强烈建议使用 Google Chrome Web 浏览器完成本实验。如果您无法使用 Google Chrome,请在您的计算机上使用可以打开 gzip 压缩文件 (*.gz) 的实用程序。
实验手册
任务 1:创建 KMS 主密钥
在页面顶部的统一搜索栏中,搜索并选择
密钥管理服务
.在 Key Management Service 页面中,选择
创建密钥
.在 Configure key (配置密钥) 页面上,选择
Symmetric (对称)
选择
next
在 Add labels (添加标签) 页面上,配置
别名:
myFirstKey
描述:KMS Key for S3 data
选择
next
在 Define key usage permissions (定义密钥使用权限) 页面上,选择您登录 Console 时使用的用户或角色。这与您在上一步中选择的用户相同 Key Users (密钥用户) 是使用密钥加密和解密数据的用户或角色 你也可以输入
AWSLabsUser
-在搜索字段中查找并选择用户选择next
在 Define key usage permissions (定义密钥使用权限) 页面上,选择您登录 Console 时使用的用户或角色。这与您在上一步中选择的用户相同。
Key Users (密钥用户) 是使用密钥加密和解密数据的用户或角色。
选择
next
选择完成.
在 Customer managed keys (客户托管式密钥) 页面中,将列出新密钥 myFirstKey。将 Key ID 值复制到文本编辑器。该值位于 Key ID 列下。
稍后在实验室中,您在查看此 KMS 密钥的活动日志时使用 Key ID 值。
任务 2:配置 CloudTrail 以将日志存储在新的 S3 存储桶中
在页面顶部的统一搜索栏中,搜索并选择CloudTrail 云服务.
注意:如果出现以下任何消息,您可以放心地忽略它们: 用于创建组织跟踪的选项不适用于此 AWS 账户 AccessDeniedExceptions 您没有执行此操作的权限
在左侧导航窗格中,选择 Trails (跟踪)
选择
创建跟踪
在 Choose trail attributes (选择跟踪属性) 页面中,配置:
跟踪名称:
myTrail
. 跟踪日志存储桶和文件夹:mycloudtrailbucket编号
. 将 NUMBER 替换为随机数。 为日志文件 SSE-KMS 加密取消选择 Enabled。
选择下一个.
在 Choose log events (选择日志事件) 页面上,配置:
选择 管理事件 选择 Data events(数据事件) 选择 Insights events
在 Data events (数据事件) 部分中,选择切换到基本事件选择器
然后选择继续.
在 Insights events (见解事件) 部分中,选择
选择 API 调用速率 选择 API 错误率
选择
下一个
选择
创建跟踪
.
任务 3:将图像上传到 S3 存储桶并对其进行加密
在页面顶部的统一搜索栏中,搜索并选择
s3
选择 mycloudtrailbucket*。
从 Objects (对象) 选项卡中,选择
上传
.选择添加文件.
浏览并选择计算机上的图像文件。
在屏幕底部,展开 Properties (属性)。
在 Server-side encryption settings (服务器端加密设置) 部分中,选择
Specify an encryption key (指定加密密钥)
。对于 Encryption settings (加密设置),选择
Override bucket settings for default encryption(覆盖默认加密的存储桶设置)
。对于 Encryption type (加密类型),选择 Server-side encryption with AWS Key Management Service keys
(SSE-KMS)
(使用 AWS Key Management Service 密钥 (SSE-KMS) 进行服务器端加密)。对于 AWS KMS key (AWS KMS 密钥),选择
Choose from your AWS KMS keys
(从您的 AWS KMS 密钥中选择)。从 Available AWS KMS keys (可用 AWS KMS 密钥) 下拉菜单中,选择
myFirstKey
。滚动到屏幕底部,然后选择
上传
.在 Upload: 状态页面中,会显示一条消息,显示图像已成功上传。
选择
关闭
.
在 mycloudtrailbucket* 页面中,选择 Objects (对象) 选项卡。
在列出您上传的图像的行中,将 Last modified 时间戳记录到文本编辑器。稍后在实验中,您将使用 Last modified (上次修改时间) 时间戳查看 CloudTrail 日志。
任务 4:访问加密的映像
在 Objects (对象) 选项卡中,选择
映像名称
,然后选择打开
. 图像将在新选项卡/窗口中打开。 当您请求解密数据时,Amazon S3 和 AWS KMS 将执行以下操作。
Amazon S3 将加密的数据密钥发送到 AWS KMS AWS KMS 使用适当的主密钥解密密钥,并将明文密钥发送回 Amazon S3 Amazon S3 解密密文并尽快从内存中删除纯文本数据密钥
关闭显示图像的窗口/选项卡。
选择图像后,选择复制 URL,然后将 URL 粘贴到文本编辑器。 URL 应类似于 https://mycloudtrailbucket10619.s3-us-west-2.amazonaws.com/Eiffel.jpg
将您复制的 S3 对象 URL 粘贴到新的浏览器/窗口中。
按 Enter
键。
页面显示 Access Denied。这是因为,默认情况下不允许公共访问。
返回 AWS 管理控制台。
在 mycloudtrailbucket* 页面中,选择 Permissions (权限) 选项卡。
在 Block public access (bucket settings) (阻止公有访问 (存储桶设置) ) 部分中,选择编辑.
取消选择 Block all public access(阻止所有公有访问)。
选择
保存更改
然后:
进入
确认
选择确认
.
滚动到 Object Ownership (对象所有权) 部分,选择
编辑
.选择 ACLs enabled(已启用的 ACL)。
对于 Enabling ACLs opens off the bucket owner enforced setting for Object Ownership(对象所有权的存储桶拥有者强制执行设置),选择 -
I acknowledge that ACLs will be restored
(我确认 ACL 将被还原)。选择
保存更改
.在 Object (对象) 选项卡中,选择您的图像。
选择
行动
从下拉菜单中,选择 Make public using ACL。
选择
Make pubic
在 Make public: status 页面中,会显示一条消息,显示访问权限更改成功。
选择
关闭
导航到包含 S3 对象 URL 的浏览器选项卡/窗口。
刷新选项卡/窗口。
由于图像已加密,因此您无法使用公共链接查看它。您应该会看到一条消息,指出使用 AWS KMS 托管密钥指定服务器端加密的请求需要 AWS 签名版本 4。
关闭 S3 Object URL 选项卡/窗口
任务 5:使用 CloudTrail 日志监控 KMS 活动
在 mycloudtrailbucket* 页面中,选择
Objects (对象)
选项卡向下钻取 AWSLogs/ 文件夹,直到找到包含日志文件的文件夹 如果您没有看到任何日志文件,请每隔几秒钟选择一次刷新按钮,直到您看到日志文件。 日志文件具有 .json.gz 扩展名
您是否看到日志文件的 Last modified 时间戳晚于您下载的图像文件的时间戳?(在前面的步骤中,您将图像上传时间戳复制到文本编辑器,在确定要查看的日志文件时使用该时间戳)。
如果是,请继续执行下一步。 如果没有,请继续每隔几秒钟选择一次刷新按钮,直到有刷新按钮
选择在您上传的图像的 Last modified (上次修改时间) 之后具有最接近时间的日志文件。
选择
打开
.如果您看到弹出的安全警告,请确认您要打开该文件。如果没有,请继续执行下一步。
在日志文件中搜索以下内容
您复制到文本编辑器的加密密钥 ID 您上传的文件的名称。(您应该会在包含加密密钥 ID 的同一日志文件中看到该文件的名称)
任务 6:管理加密密钥
导航到浏览器选项卡/窗口 S3 服务。
在页面顶部的统一搜索栏中,搜索并选择
密钥管理服务
.选择
myFirstKey
这将打开一个页面,您可以在其中更改 KMS 设置。其中一个可配置设置是 Add 或 Remove - key administrators 和 key users。在 Key users (关键用户) 部分中,选择您登录时使用的用户或角色。
选择
删除
在 Key users (关键用户) 部分中,选择
add
然后:
搜索并选择您登录时使用的用户或角色,用户以字符 AWSLabsUser- 开头 选择
add
用户使用此密钥的权限将立即恢复