5

iOS で AWS を使用しようとして、2 日間立ち往生しています。ここからサンプル プロジェクトをダウンロードしました: https://github.com/awslabs/aws-sdk-ios-samples

手順が言ったとおりに実行しました。cocoapods を使用してすべてのライブラリをリンクしました。

また、バケットを作成し、以下に示すように、コード内で変更するために ID を取得する方法の手順に従いました。

AWSCognitoCredentialsProvider *credentialsProvider = [AWSCognitoCredentialsProvider
                                                      credentialsWithRegionType:AWSRegionUSEast1
                                                      accountId:AWSAccountID
                                                      identityPoolId:CognitoPoolID
                                                      unauthRoleArn:CognitoRoleUnauth
                                                      authRoleArn:nil];

基本的に、いくつかの画像/ファイルをアップロードしようとすると (Amazon の S3 Storage Service を使用する例では、エラーが発生します:

2014-09-04 15:11:57.475 S3TransferManagerSample[5437:400b] AWSiOSSDKv2 [Error] AWSCredentialsProvider.m
  line:356 | __40-[AWSCognitoCredentialsProvider refresh]_block_invoke299 | Unable to refresh. 
  Error is [Error Domain=com.amazonaws.AWSSTSErrorDomain Code=0 "The operation couldn’t be completed. (com.amazonaws.AWSSTSErrorDomain error 0.)" 
   UserInfo=0x14d17770 {Type=Sender, Message=Not authorized to perform sts:AssumeRoleWithWebIdentity, __text=(
"\n    ",
"\n    ",
"\n    ",
"\n  "
), Code=AccessDenied}]

明確にするために、私はすでにロールを作成し、policy:AdministratorAccess を付与し、Role ARN を使用して

unauthRoleArn:CognitoRoleUnauth   

ドキュメントを読みましたが、どこにも問題が見つからないようです。役割と役割に与えられたポリシーに関係があると感じています。

開始方法やこの問題の解決方法に関するヒントをいただければ幸いです。

ありがとうございます。質問の詳細が必要な場合は、お気軽にコメントしてください。質問が少し長くなったので、さらに詳しく説明します。

4

1 に答える 1