View a markdown version of this page

为 DynamoDB Streams 启用 ABAC - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

为 DynamoDB Streams 启用 ABAC

对于大多数 Amazon Web Services 账户,DynamoDB Streams ABAC 默认处于启用状态。对于现有客户,Streams ABAC 默认处于禁用状态,您可以在审计策略后将其启用。使用 DynamoDB 控制台,您可以确认是否已为您的账户启用了 Streams ABAC。使用具有 dynamodb:GetAbacStatus 权限的角色打开 DynamoDB 控制台。然后,打开 DynamoDB 控制台的设置页面。

仅当您在当前 Amazon 区域中有 DynamoDB 表时,适用于 Streams 的基于属性的访问权限控制卡片才会显示在设置页面上。如果您有表,状态为开启(或没有卡片)表示 Streams ABAC 已启用;状态为关闭(如下图所示)表示未启用。如果区域中没有表,则卡片的缺失并不能指示状态。

DynamoDB 控制台设置页面,显示适用于 Streams 的基于属性的访问权限控制卡片,状态为关闭,表示该账户未启用 Streams ABAC。

要为您的账户启用 Streams ABAC,我们建议您首先按照在启用 Streams ABAC 之前审计策略一节中所述来审计您的策略。然后,在您的 IAM 策略中加入 Streams ABAC 所需的权限。最后,执行在控制台中启用 Streams ABAC 中介绍的步骤,以便在当前 Amazon 区域中为您的账户启用 Streams ABAC。启用 Streams ABAC 后,您可以在选择加入后的七个日历日内选择退出。

在启用 Streams ABAC 之前审计策略

在启用 Streams ABAC 之前,审计您的策略。确认您的账户策略中所有基于标签的条件均已按预期针对流资源进行设置。在启用 Streams ABAC 之前审计策略,有助于避免在启用后在 DynamoDB Streams 工作流程中出现意外的授权变更。

审计时,请查找符合以下条件的策略:

  • 在流 ARN 上使用 aws:ResourceTag 条件(格式:arn:aws:dynamodb:*:*:table/*/stream/*)

  • 对流资源使用 aws:RequestTag 或 aws:TagKeys 条件以及 dynamodb:TagResource 或 dynamodb:UntagResource 操作

  • 将通配符资源 ARN (arn:aws:dynamodb:*:*:*) 与基于标签的条件结合使用,这些条件可能会无意中应用于流

要查看将基于属性的条件与标签结合使用的示例,以及实施 ABAC 之前和之后的行为,请参阅将 ABAC 与 DynamoDB Streams 结合使用的示例。

启用 Streams ABAC 所需的 IAM 权限

您需要 dynamodb:UpdateAbacStatus 权限才能在当前区域中为您的账户启用 Streams ABAC。要确认是否为您的账户启用了 Streams ABAC,您还必须拥有 dynamodb:GetAbacStatus 权限。有了此权限,您就可以查看任何区域中账户的 Streams ABAC 状态。除了访问 DynamoDB 控制台所需的权限外,您还需要这些权限。

以下 IAM 策略授予在当前区域中为账户启用 Streams ABAC 并查看其状态的权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:UpdateAbacStatus", "dynamodb:GetAbacStatus" ], "Resource": "*" } ] }

在控制台中启用 Streams ABAC

  1. 登录 Amazon Web Services 管理控制台,并打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/。

  2. 从顶部导航窗格中,选择要为其启用 Streams ABAC 的区域。

  3. 在左侧导航窗格中,选择设置。

  4. 在设置页面上,执行以下操作:

    1. 在适用于 Streams 的基于属性的访问权限控制卡片中,选择启用。

    2. 在确认适用于 Streams 的基于属性的访问权限控制设置对话框中,选择启用以确认您的选择。

      这将为当前区域启用 Streams ABAC,适用于 Streams 的基于属性的访问权限控制卡片将显示状态为开启。

      如果您想在控制台上启用 Streams ABAC 后选择退出,则可以在选择加入后的七个日历日内选择退出。要选择退出,请在设置页面上的适用于 Streams 的基于属性的访问权限控制卡片中选择禁用。

      注意

      更新 Streams ABAC 的状态是一项异步操作。如果 DynamoDB 未立即评估策略中的标签,请等待几分钟后重试。标签评估变更是最终一致的。