本主题为您在 DynamoDB 表或索引中实施 ABAC 时可能遇到的常见错误和问题提供故障排除建议。
服务特定的条件键不被视为有效的条件键。如果您在策略中使用了此类键,则会导致错误。要修复此问题,必须将服务特定的条件键替换为适当的用于在 DynamoDB 中实施 ABAC 的条件键。
例如,假设您在执行 PutItem 请求的内联策略中使用了 dynamodb:ResourceTag
条件键。想象一下,请求失败并引发 AccessDeniedException
。以下示例显示了带有 dynamodb:ResourceTag
条件键的错误内联策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:PutItem"
],
"Resource": "arn:aws:dynamodb:*:*:table/*",
"Condition": {
"StringEquals": {
"dynamodb:ResourceTag/Owner": "John"
}
}
}
]
}
要修复此问题,请将 dynamodb:ResourceTag
条件键替换为 aws:ResourceTag
,如以下示例所示。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:PutItem"
],
"Resource": "arn:aws:dynamodb:*:*:table/*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/Owner": "John"
}
}
}
]
}
如果通过 支持 为账户启用了 ABAC,将无法通过 DynamoDB 控制台选择退出 ABAC。要选择退出,请联系 支持
仅当 满足以下条件时,才能自行选择退出 ABAC:
-
您使用的是通过 DynamoDB 控制台选择加入的自助服务方式。
-
您将在选择加入后的七个日历日内选择退出。