Using Data Encryption in AWS
一、任务背景
Infinidash Healthcare作为一家新的医疗服务初创公司,为提高组织安全性,需要应用加密技术,包括创建KMS密钥、在S3和DynamoDB中进行加密配置以及实现相关的访问控制等。
二、主要任务及步骤
创建KMS密钥(任务1)
在AWS管理控制台搜索并选择KMS,创建对称密钥,设置密钥材料源为KMS,区域为单区域密钥。
为密钥指定别名ImageAccessKey,描述为用于加密和解密客户医疗影像,添加标签(图像类型:核磁共振成像)。
定义密钥管理权限(附加到登录用户)和使用权限(附加到viewerInstanceRoleForMedicalImages角色),完成密钥创建后,复制其ARN并设置每年自动轮换。
启用S3服务器端加密(任务2)
搜索并选择S3存储桶(以corp - image - store - 开头),进入属性选项卡编辑默认加密。
选择服务器端加密为AWS Key Management Service密钥(SSE - KMS),粘贴KMS密钥ARN,确保桶密钥已启用,保存更改。
向安全存储桶中添加新对象(任务3)
使用AWS Fleet Manager的RDP或远程桌面客户端连接到Amazon EC2实例(下载PEM文件、获取ViewerInstanceSessionRDP值等进行连接)。
使用传输图像工具将新患者的X光图像传输到S3存储桶,确认图像以加密形式存储(查看对象属性),同时验证未加密的涂色比赛图像仍可查看。
配置基于属性的访问控制(任务4)
搜索并选择EC2,找到Image Viewer EC2 Instance,尝试修改其IAM角色(但取消操作),然后在IAM中查看viewerInstanceRoleForMedicalImages角色的权限策略(包含对加密和解密的条件限制)。
回到KMS,编辑ImageAccessKey的标签,将MRI替换为XRAY系列,使医疗技术人员能够解密X光图像,通过图像查看器工具验证可查看X光图像。
使用DynamoDB加密客户端在DynamoDB中加密数据库数据(任务5)
在PyCharm中打开SalesAnalytics.py文件,分步骤添加代码实现以下功能:
识别AWS区域并构建DynamoDB表(Table1),导入boto3、requests模块,实现创建表的函数,运行程序确认表在DynamoDB控制台中创建且加密方式为Owned by Amazon,向表中加载销售数据(导入csv模块)并验证。
创建Table2,使用DynamoDB Encryption SDK和KMS密钥加载客户端加密销售数据,创建新KMS密钥(DynamoDB_Direct_CMP_Key)并配置权限,粘贴其ARN到代码中,运行程序验证表中数据加密情况。
创建Table3,使用DynamoDB Encryption Client与Wrapped Materials Provider加载客户端加密数据,导入相关模块并实现从本地系统检索加密密钥的模拟函数,运行程序验证表中数据加密情况。
(可选 - 如果时间允许)使用AWS加密SDK(任务6)
查看祖母家食谱文件当前纯文本格式内容。
在PyCharm中添加代码,使用AWS Encryption SDK借助新创建的KMS密钥(AWS_Encryption_SDK_Key)加密食谱文件,配置密钥权限并粘贴ARN到代码中,运行程序后确认食谱文件变为加密二进制格式。
三、实验结束
返回AWS Management Console,选择AWSLabsUser并退出,选择End lab并确认结束实验。通过完成这些任务,实现了在多种场景下的加密管理和数据安全配置,提升了公司数据存储和访问的安全性。