6
我是AWS中的IAM的新手。而且,我希望將各種用戶的查詢限制爲只有主鍵與認證ID匹配的表項。要做到這一點,我創建的策略:AWS IAM - 使用條件
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAccessToOnlyItemsMatchingUserID",
"Effect": "Allow",
"Action": [
"dynamodb:GetItem",
"dynamodb:BatchGetItem",
"dynamodb:Query",
"dynamodb:PutItem",
"dynamodb:UpdateItem",
"dynamodb:DeleteItem",
"dynamodb:BatchWriteItem"
],
"Resource": [
"arn:aws:dynamodb:us-east-1:XXXXXXXXXXX:table/User"
],
"Condition": {
"ForAllValues:StringEquals": {
"dynamodb:LeadingKeys": [
"${cognito-identity.amazonaws.com:sub}"
]
}
}
}
]
}
我收到以下錯誤:
"__type": "com.amazon.coral.service#AccessDeniedException",
"Message": "User: arn:aws:sts::XXXXXXXXXXXXX:assumed-role/Achintest/BackplaneAssumeRoleSession is not authorized to perform: dynamodb:Query on resource: arn:aws:dynamodb:us-east-1:XXXXXXXXXXXXX:table/User"
有人能讓我知道我在做什麼錯誤嗎?
======== ======== UPDATE
我試着用政策SIM卡,我無法理解爲什麼如下圖所示PIC不LeadingKey查詢被允許。
,當我提供領先的關鍵,它說拒絕。見下面圖:
錯誤信息非常清楚。它聲明調用用戶(即'arn:aws:sts :: 049428796662:假設...')沒有權限在資源上調用進程/機制'dynamodb:Query':'arn:aws:dynamodb。 ..'。 – FDavidov
是的。但是,我的認證ID與表中的主鍵相同。那麼,爲什麼我得到這個錯誤,儘管我正確提供所有憑據? – achin
我不能給你一個具體的答案,但我的猜測是,這與憑證的正確性無關,它確實與服務器端的安全設置有關(這是一種瘋狂的猜測,對AWS不熟悉)。 – FDavidov