疑難排解 DynamoDB 資料表與索引的常見 ABAC 錯誤 - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

疑難排解 DynamoDB 資料表與索引的常見 ABAC 錯誤

本主題提供在 DynamoDB 資料表或索引中實作 ABAC 時,可能遇到的常見錯誤與問題的疑難排解建議。

服務特定條件金鑰不被視為有效的條件金鑰。若在政策中使用此類金鑰,將導致錯誤。若要解決此問題,請將服務特定條件金鑰替換為合適的條件金鑰,以在 DynamoDB 中實作 ABAC

例如,假設您在執行 PutItem 請求的內嵌政策中使用了 dynamodb:ResourceTag 條件金鑰。假設請求因 AccessDeniedException 而失敗。下列範例顯示包含 dynamodb:ResourceTag 條件金鑰的錯誤內嵌政策。

JSON
{ "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,如下例所示。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:PutItem" ], "Resource": "arn:aws:dynamodb:*:*:table/*", "Condition": { "StringEquals": { "aws:ResourceTag/Owner": "John" } } } ] }

如果您的帳戶已透過 啟用 ABAC 支援,您將無法透過 DynamoDB 主控台選擇退出 ABAC。若要停用,請聯絡 支援

僅當 only if 下列條件成立時,您才可自行停用 ABAC: