2017-06-12 21 views
0

iOS用のAWSモバイルハブを使用しています。私は、私のアプリでdynamodbテーブル(RemoteFileInfos)にアクセスするのに問題があります。私は取得していますエラーメッセージは次のとおりです。AWS '承認されていません'エラーメッセージをクリアする

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」であることに気づくすなわち「ARN :aws:iam :: 99999999999 ...)、エラーメッセージのRole ARNには "sts"という3番目のトークン(つまり、 "arn:aws:sts :: 99999999999 ...)があります。それが問題だろうか?

ありがとう

+0

アカウント番号は「99999999999」ですか? –

+0

ありがとう、ダニエル。私が探していただけのエラーです。 –

答えて

0

プログラマーエラーです。エラーメッセージのテーブル名は、実際のテーブル名と同じではありません。私は、AWSDynamoDBObjectModelサブクラスでテーブル名のスペルを間違えました。