Amazon S3 Glacier 访问控制 - Amazon S3 Glacier
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon S3 Glacier 访问控制

Amazon S3 Glacier (S3 Glacier) 文件库可以为其附加一个基于资源的文件库访问策略和一个文件库锁定策略。文件库锁定策略 是您可以锁定的文件库访问策略。通过使用文件库锁定策略,可帮助您实施法规和合规性要求。Amazon S3 Glacier 提供了一组用于管理文件库锁定策略的 API 操作,具体请参阅。通过使用 Amazon S3 Glacier API 锁定文件库

我们举例来说明文件库锁定策略,假设您需要先将存档保留一年,然后才能删除存档。要实施此要求,您可以创建一个文件库锁定策略,以便在存档保留时间达到 1 年之前拒绝用户删除存档的权限。在锁定一个策略之前,可以先测试该策略。锁定策略后,策略将是不可变的。有关锁定过程的更多信息,请参阅 Amazon S3 Glacier。如果您要管理可更改的其他用户权限,可以使用文件库访问策略(请参阅 Amazon S3 Glacier 访问控制)。

您可以使用 S3 冰川 APIAmazon开发工具包,AmazonCLI 或 S3 Glacier 控制台来创建和管理文件库锁定策略。有关基于文件库资源的策略允许的 S3 Glacier 操作的列表,请参阅。Amazon S3 Glacier API 权限:操作、资源和条件参考

示例 1:拒绝对保留时间不到 365 天的存档的删除权限

假定您需要符合法规要求,只能删除保留时间达到 1 年的存档。可通过实施以下文件库锁定策略来实施此要求。如果要删除的存档的保留时间不到 1 年,则该策略将拒绝对 examplevault 文件库执行 glacier:DeleteArchive 操作。该策略使用特定于 S3 冰川的条件键ArchiveAgeInDays以执行保留一年的要求。

{ "Version":"2012-10-17", "Statement":[ { "Sid": "deny-based-on-archive-age", "Principal": "*", "Effect": "Deny", "Action": "glacier:DeleteArchive", "Resource": [ "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault" ], "Condition": { "NumericLessThan" : { "glacier:ArchiveAgeInDays" : "365" } } } ] }

假定您实施了一个基于时间的保留规则,即允许在存档保留时间不到 1 年的情况下删除存档。同时,假定您需要对您的存档实施法定保留策略,以在法律调查期间无限期地禁止删除或修改操作。在这种情况下,法定保留优先于文件库锁定策略中指定的基于时间的保留规则。

为了实施这两个规则,以下示例策略包含两条语句:

  • 第一条语句拒绝任何人删除存档(锁定文件库)。可通过使用 LegalHold 标签执行此锁定。

  • 第二条语句授予在存档保留时间不到 365 天的情况下删除存档的权限。但是,如果满足第一条语句中的条件,即使在存档保留时间不到 365 天的情况下,任何人也无法删除存档。

{ "Version":"2012-10-17", "Statement":[ { "Sid": "lock-vault", "Principal": "*", "Effect": "Deny", "Action": [ "glacier:DeleteArchive" ], "Resource": [ "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault" ], "Condition": { "StringLike": { "glacier:ResourceTag/LegalHold": [ "true", "" ] } } }, { "Sid": "you-can-delete-archive-less-than-1-year-old", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Effect": "Allow", "Action": [ "glacier:DeleteArchive" ], "Resource": [ "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault" ], "Condition": { "NumericLessThan": { "glacier:ArchiveAgeInDays": "365" } } } ] }