对于大多数 AWS 账户,ABAC 在默认情况下处于启用状态。使用 DynamoDB 控制台
如果您未看到基于属性的访问权限控制卡片,或者该卡片的状态显示为打开,则表示为您的账户启用了 ABAC。但是,如果您看到基于属性的访问权限控制卡片的状态为关闭(如下图所示),则表示未为您的账户启用 ABAC。

对于那些在基于身份的策略或其它策略中指定的基于标签的条件仍需要审计的 AWS 账户,尚未启用 ABAC。如果未为您的账户启用 ABAC,则会评估策略中用于对 DynamoDB 表或索引执行操作的基于标签的条件,就好像您的资源或 API 请求不存在任何标签一样。为您的账户启用 ABAC 后,将根据附加到您的表或 API 请求的标签,来评估您账户的策略中基于标签的条件。
要为您的账户启用 ABAC,我们建议您首先按照策略审计一节中所述来审计您的策略。然后,在您的 IAM 策略中包含 ABAC 所需的权限。最后,执行在控制台中启用 ABAC 中介绍的步骤,以便在当前区域中为您的账户启用 ABAC。启用 ABAC 后,可以在选择加入后接下来的七个日历日内选择退出。
在启用 ABAC 之前审计策略
在为您的账户启用 ABAC 之前,请审计您的策略,以确认您账户的策略中可能存在的基于标签的条件已按预期设置。在启用 ABAC 后,审计您的策略将有助于避免因 DynamoDB 工作流程的授权变更而出现意外。要查看将基于属性的条件与标签结合使用的示例,以及实施 ABAC 之前和之后的行为,请参阅将 ABAC 与 DynamoDB 表和索引结合使用的示例。
启用 ABAC 所需的 IAM 权限
您需要 dynamodb:UpdateAbacStatus
权限才能在当前区域中为您的账户启用 ABAC。要确认是否为您的账户启用了 ABAC,您还必须拥有 dynamodb:GetAbacStatus
权限。有了此权限,您就可以查看任何区域中账户的 ABAC 状态。除了访问 DynamoDB 控制台所需的权限外,您还需要这些权限。
以下 IAM 策略授予在当前区域中为账户启用 ABAC 和查看其状态的权限。
{
"version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:UpdateAbacStatus",
"dynamodb:GetAbacStatus"
],
"Resource": "*"
}
]
}
在控制台中启用 ABAC
登录 AWS Management Console,并打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/
。 -
从顶部导航窗格中,选择要为其启用 ABAC 的区域。
-
在左侧导航窗格中,选择设置。
-
在设置页面上,执行以下操作:
-
在基于属性的访问权限控制卡片中,选择启用。
-
在确认基于属性的访问权限控制设置框中,选择启用以确认您的选择。
这将为当前区域启用 ABAC,并且基于属性的访问权限控制卡片将显示状态打开。
如果您想在控制台上启用 ABAC 后选择退出,可以在选择加入后的七个日历日内选择退出。要选择退出,请在设置页面上的基于属性的访问权限控制卡片中选择禁用。
注意
更新 ABAC 的状态是一项异步操作。如果未立即评估策略中的标签,则可能需要等待一些时间,因为应用更改是最终一致的。
-