【问题标题】:How to move object from Amazon S3 to Glacier with Vault Locked enabled?如何在启用 Vault Locked 的情况下将对象从 Amazon S3 移动到 Glacier?
【发布时间】:2019-09-23 17:28:02
【问题描述】:

我正在寻找一种解决方案,用于在启用 Vault Lock 的情况下将 Amazon S3 对象移动到 Glacier(如此处所述 https://aws.amazon.com/blogs/aws/glacier-vault-lock/)。如果可能的话,我想使用亚马逊内置的工具(生命周期管理或其他)。

我找不到任何说明或选项来执行此操作。 S3 似乎只允许将对象移动到 Glacier 存储类。但这并不能提供数据完整性,也不能防止数据丢失。

我知道我可以通过程序来做到这一点。它将下载 S3 对象并通过各自的 REST API 将其移动到 Glacier。对于这个简单的任务,这种方法似乎太复杂了。

【问题讨论】:

    标签: amazon-s3 data-integrity amazon-glacier


    【解决方案1】:

    这样想象:

    • Glacier 是 AWS 的一项服务。

    • S3 是 AWS 的一项服务。

    • 但 S3 也是 Glacier 服务的客户

    当您将 S3 中的对象迁移到 Glacier 存储类时,S3 使用 S3 拥有的 AWS 账户将该对象存储在 Glacier 中。

    S3 中使用 GLACIER 存储类的对象不在“您的”Glacier 保险库中,而是在 S3 拥有的保险库中。

    这与外部可观察的证据一致:

    • 您无法从 Glacier 控制台查看保管库中的这些 S3 对象。

    • 您无需授予 S3 任何 IAM 权限即可访问 Glacier(相比之下,您确实必须授予 S3 向 SQS、SNS 或 Lambda 发布事件通知的权限)

    • Glacier 不会向您收取 Glacier 存储类对象的费用 - S3 会。

    因此,您要完成的工作完全不同。您希望使用 您的 策略将一些档案存储在 您的 Glacier 保险库中,而这些内容目前只是“恰好”存储在 S3 中。

    从 S3 下载,然后上传到 Glacier 是解决方案。

    但这并不能提供数据完整性,也不能防止数据丢失。

    上传到 Glacier 时可以确保有效负载的完整性,因为树形哈希算法有效地防止了损坏的上传。

    从 S3 下载,除非对象使用 SSE-C 存储,如果使用单部分上传,则 ETag 是存储对象的 MD5 哈希,或者是串联二进制编码 MD5 的十六进制编码 MD5 哈希零件的哈希值,后跟- 和零件数。理想情况下,当上传到 S3 时,您会在对象元数据中存储更好的哈希(例如 sha256),例如x-amz-meta-content-sha256.

    防御数据丢失 -- 是的,Glacier 确实提供了更多功能,但 S3 在这里并非完全没有能力:具有匹配 DENY 操作的存储桶策略将始终覆盖 any 冲突 @ 987654327@ 操作,无论是在存储桶策略还是任何其他 IAM 策略(例如角色、用户)中。

    【讨论】:

    • 您的解释很好,很好地解释了幕后发生的事情。评论“但这并不能提供数据完整性,也不能防止数据丢失。”是关于 S3 Glacier 存储类的。我同意我可以安全地从 S3 下载对象并上传到我的 Glacier Vault。我只是希望亚马逊有解决这个案子的办法。
    • @JoosepSimm 究竟是哪种情况的解决方案? S3 中的对象版本控制可防止意外覆盖/删除。 S3 存储桶策略可以防止故意覆盖。 S3 验证上传时的Content-MD5 和/或x-amz-content-sha255,以确保上传被拒绝,而不是存储,如果上传没有完整传输。一旦存储在 S3 中,在任何存储类中,对象及其元数据(包括时间戳)都是不可变的。 S3 控制台似乎允许编辑元数据,但实际上并非如此——这实际上是为现有对象创建了一个新副本,并带有一个新的时间戳。
    • 我需要保护文件免遭故意删除 - 例如,当主帐户被敌对方接管时。据我了解,可以从 S3 中删除旧版本。如果它受安全策略保护,则可以更改策略然后删除旧版本。冰川中的保险库锁具有这种保护。
    • 如果主(根)帐户被盗用,你是对的......基本上除了锁定的保险库之外,一切都处于危险之中。有点不相关,我有一个从 S3 到 Google Cloud Storage (GCS) 的同步过程,它将 S3 中的所有内容复制到 GCS。启用此功能的凭据的配置和存储方式使得破坏一个系统可能会向您泄露我的数据,但要完全消灭我(不寒而栗),您必须破坏两个平台。关于根妥协,另见alestic.com/2014/09/aws-root-password
    猜你喜欢
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2019-10-05
    • 2023-03-03
    相关资源
    最近更新 更多