结算AWS“无权”我使用AWS移动枢纽的iOS错误信息

问题描述:

。我无法访问我的应用程序中的一个dynamodb表(RemoteFileInfos)。我得到的错误信息是:结算AWS“无权”我使用AWS移动枢纽的iOS错误信息

2017-06-12 13:19:49.851462-0500 FormValet-R[3659:1789148] Error Domain=com.amazonaws.AWSServiceErrorDomain Code=6 "(null)" UserInfo={__type=com.amazon.coral.service#AccessDeniedException, Message=User: arn:aws:sts::999999999:assumed-role/[role name]/CognitoIdentityCredentials is not authorized to perform: dynamodb:UpdateItem on resource: [dynamodb table ARN]} 

写在我的应用程序中的其他表(用户和RemoteShareInfos)时,我没有得到这个错误。

这里是上面提到的嵌入认证的作用“nosqldatabase”政策([角色名):

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "dynamodb:BatchWriteItem", 
       "dynamodb:DeleteItem", 
       "dynamodb:PutItem", 
       "dynamodb:UpdateItem", 
       "dynamodb:BatchGetItem", 
       "dynamodb:DescribeTable", 
       "dynamodb:GetItem", 
       "dynamodb:ListTables", 
       "dynamodb:Query", 
       "dynamodb:Scan" 
      ], 
      "Resource": [ 
       "arn:aws:dynamodb:us-east-1:999999999:table/Users", 
       "arn:aws:dynamodb:us-east-1:999999999:table/Users/*", 
       "arn:aws:dynamodb:us-east-1:999999999:table/RemoteFileInfos", 
       "arn:aws:dynamodb:us-east-1:999999999:table/RemotFileInfos/*", 
       "arn:aws:dynamodb:us-east-1:999999999:table/RemoteShareInfos", 
       "arn:aws:dynamodb:us-east-1:999999999:table/RemoteShareInfos/*" 
      ] 
     } 
    ] 
} 

我注意到在我的角色ARN第三令牌是“IAM”(即“阿尔恩:aws:iam :: 99999999999 ...)而错误消息中的角色ARN具有“sts”的第三个标记(即“arn:aws:sts :: 99999999999 ...)。这可能是问题吗?

谢谢

+0

你确定了'99999999999'是您的帐号? –

+0

谢谢,丹尼尔。只是我不得不寻找的那种错误。 –

程序员错误。错误消息中的表名与实际的表名不一样。我拼错了AWSDynamoDBObjectModel子类中的表名。