1

Swift AWS Mobile Hub Helperを使用してiOSアプリケーションを構築し、DynamoDBデータベースに接続しています。 Facebook SignInProviderを使用してログインした後、接続しようとしているテーブルの権限のある役割のための想定される役割を得ていますが、DynamoDBObjectMapperにloadメソッドを使用しようとするとエラーが表示されますDynamoDBのを::AWSMobileHubHelper DynamoDB AccessDeniedException

を実行するために許可されていません:GetItem関数は、リソース

に私は、モバイルハブページから新しいベースアプリをダウンロードし、他の変更を行っていない試みたが、新しいにそれを指すように、このような同じエラーが発生しました。私の同僚は、私たちのアプリのアンドロイド版を構築していると彼はデータベースに接続することができ、彼は彼が接続する方法に何も変更しなかったので、私はエラーの原因は不明です。

EDIT:私は表面的に割り当てられているフェデレーションされたアイデンティティプールを見ていました。私のデバイス(シミュレータ)を割り当てているアイデンティティIDは、私のデータセットコードが作成されています。

+0

私はmobileHubを使用していませんが、IAMの役割は必要ですか? –

+0

こんにちは、現在使用しているSDKのバージョンは何ですか? https://aws.amazon.com/mobile/sdk/から最新のSDKにアップグレードしてエラーが解消されないかどうか確認できますか? –

+0

私はちょうど彼らのウェブサイトの新しいバージョンをダウンロードし、バージョン番号(2.4.3)は私のバージョンと一致します。この基本バージョンを使用すると、デフォルトテーブルにエントリを取得できますが、これらのエントリを追加または変更することはできません。また、カスタムテーブルにアプリケーションをポイントすると、テーブルのエントリを取得または更新できません。 – Maniacbob

答えて

0

モバイルハブアプリケーションの各テーブルについて、ハブはIAMロールポリシーを作成し、ユーザーが想定するポリシーにそれを添付します。アプリの認証/非認証の役割を調べると、モバイルハブのプロジェクト名が表示されます。添付されたポリシーの一覧が表示されます。これらのポリシーの1つは、ハブで作成したテーブル用です。そのポリシーで拡張機能を使用したい場合、または別のテーブルにアクセスできるようにする場合。ポリシーを編集するか、新しいポリシーを作成する必要があります。

+0

ええ、私はロールに添付されたテーブルのポリシーを持っています。それは表向きにもかかわらず、私のアプリケーションは実際にawsで正しく認証されていないように見えます。データベース認可は、これが起こった最初の兆候に過ぎませんでした。 – Maniacbob