AWS S3加密

在这里插入图片描述

Hello大家好。 在本课时我们将讨论S3加密相关的内容。

S3加密相关是认证考试的一个重要的主题考点,您需要了解亚马逊S3的几种不同类型的加密方式。|

首先是静态数据的加密,静态数据加密是指数据存储在亚马逊S3 数据中心的磁盘上时,对数据进行保护;这个很好理解,对存储在磁盘上静止的数据进行加密就是静态数据加密;

然后是传输过程中的数据加密,是指数据发往和离开Amazon S3时对数据进行加密保护。您可以使用安全套接字层/传输层安全性 (SSL/TLS) 或客户端加密来保护传输中的数据。

那对于静态数据加密,有几个不同的选项,我们一起来看一下。

在这里插入图片描述

首先大家要知道,这几种加密方式的不同之处主要取决于您选择如何管理加密密钥。

SSE-S3
首先,我们看下S3托管密钥的服务器端加密, 缩写为SSE-S3。

顾名思义这种方式密钥由亚马逊S3服务进行管理,每个对象均使用唯一密钥进行加密;然后作为额外的保护,将使用定期轮换的主密钥在加密这个唯一密钥本身。
使用256位高级加密标准AES-256来加密您的数据。

加密和解密的动作都是在S3进行的,当您的数据写入存储桶时,数据将会被加密;而当从存储桶读取数据时,数据将会被解密。但是这并不意味着数据会明文在网络中传输,因为我们在访问S3时是使用了证书通过HTTPS的方式,当数据通过网络传输时,其实是通过一个加密的隧道。但实际数据本身,一旦到达目的地仍然是明文的。

因此,如果我们有个客户端,客户端将一个对象上传到S3,S3将对其进行加密;然后当客户端从S3中读取该对象时,S3将对其进行解密。

SSE-KMS
第二种加密的选项是在AWS KMS中存储KMS密钥的服务器端加密,缩写为SSE-KMS。

这种方式密钥是由KMS服务进行管理的,KMS即亚马逊的密钥管理服务。您可以使用KMS的AWS托管密钥,或者您也可以创建客户托管密钥对数据进行加密。

加密和解密也是在存储桶上进行的,当客户端将数据写入S3,S3对该数据进行加密;当客户端读取数据时,S3对数据进行解密。

在这里插入图片描述

SSE-C
第三种加密的选项称为具有客户提供密钥的服务器端加密,缩写为SSE-C。

这种方式密钥是由客户也就是您进行管理,而不是存储在AWS上。但是加密和解密的动作仍然是在AWS上进行。这种方式提供给客户对于密钥更多的控制权。

以上三种是S3服务器端加密的3种选项。

客户端加密选项
那接下来的加密选项不是服务器端加密,而是客户端加密选项。

客户端加密意味着数据要在客户端完成加密,客户也就是您需要管理加密过程、加密密钥和密钥轮转等等;密钥不会存储在AWS上,你也可以使用KMS的CMK客户托管密钥,将其导出并使用。

客户端加密是在客户端进行,AWS对此一无所知,你自行在客户端加密数据,然后将其上传到S3,这样存储桶内存储的就是加密后的数据;

当您下载数据后,是在客户端侧进行解密。在AWS上无法解密这些数据,因为密钥是由您管理的,可能存储在您的数据中心的某个系统内。

在这里插入图片描述

默认加密配置
可以为S3存储桶配置默认加密,配置时可以选择我们想要使用的加密类型,就是前面讲的那些加密选项。

配置后,写入存储桶的所有新的对象将使用您指定的加密类型进行加密。

请注意,这里我重点提到了新的对象,之前在存储桶中已经存在的对象不会被加密。就是说当您启用了默认加密功能,如果您存储桶中在启用前已经存在的对象,他们将不会被加密。新的对象,也就是您启用默认加密后在上传的对象将会被加密。

这里提到的默认加密配置,是使用前面讨论的服务器端加密选项之一。

正如我前面讲到的,启用后S3将在您将对象上传到S3时进行加密,然后在您将其从S3中下载时对其进行解密。

在启用默认加密之前,存储桶中已经存在的对象的加密状态不会更改。

阻止上传未加密的对象

在这里插入图片描述

最后,我们来看下如何通过存储桶策略阻止上传未加密的对象。

我们看下这个策略的内容,首先,任何主体,对资源这里配置我们的存储桶的arn的putobject也就是上传对象的操作都是被拒绝的。存储桶ARN后面加上/*,代表我们放入存储桶中的所有对象。

然后注意condition配置,字符串不等于s3:x-amz-servrer-side-encryption的值为AES256。这个存储桶策略的意思是除非上传对象使用SSE-S3进行加密,才允许上传到这个指定的存储桶。如果您希望使用SSE-KMS,就可以用AWS:KMS替换这里的AES256。

然后下面这段策略,前面和上面内容一样,拒绝任何主体上传对象到我们指定的这个存储桶,然后condition配置,null对应s3:x-amz-server-side-encryption值为真。

这段策略的作用是在上传对象时,如果没有对其进行加密,那么就不允许进行上传。

这是一个PUT请求的例子,我们可以在这里看到服务器端加密标头值为AES256,因此这个对象将会被加密并允许上传到这个存储桶。

好的,以上就是本课时的内容,本课时我们讨论了S3加密的内容,感谢大家的观看,希望能够给大家带来帮助。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AWS S3(Simple Storage Service)是AWS提供的一项托管云存储服务,它可以存储和检索任意数量和类型的数据对象,例如文件、图像、视频、文档、数据库备份等,用户可以使用简单的API或AWS管理控制台来管理存储桶和对象。以下是AWS S3的详细说明: 1. 数据存储:AWS S3可以存储任意数量和类型的数据对象,每个对象最大可以达到5TB。用户可以按照需求选择不同的存储级别,例如标准、标准IA、智能分层等,以平衡成本和性能。 2. 数据保护:AWS S3提供多种数据保护功能,例如数据加密、访问控制、存储桶策略、版本控制、跨区域复制等,以保障数据的安全性和可用性。用户也可以根据需要自定义加密和访问控制等设置。 3. 数据检索:AWS S3可以根据不同的检索方式快速地检索和访问存储的数据对象,例如基于前缀、标签、时间戳等。用户也可以使用AWS S3 Select和AWS S3 Inventory等高级功能进行更复杂的数据分析和检索。 4. 数据管理:AWS S3提供多种数据管理功能,例如生命周期配置、存储桶日志、事件通知等,以帮助用户管理和优化存储的数据对象。用户可以根据需要自定义生命周期配置和事件通知等设置。 5. 数据传输:AWS S3可以在AWS内部和外部进行数据传输,例如使用AWS Direct Connect、AWS Snowball等服务进行快速数据传输。用户也可以使用AWS S3 Transfer Acceleration和AWS S3 Sync等高级功能进行更快、更可靠的数据传输。 总之,AWS S3是一项可靠、安全、高效、易用的托管云存储服务,它可以满足不同用户的数据存储和管理需求,例如数据备份、归档、分发、分析等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值