Amazon Cognito認証を使用してAWS IoTに接続するアンドロイドアプリケーションを作成しています。私は正常にユーザーを認証することができ、私は資格情報を取得することができます。 これらの資格情報を使用して物件の影を更新すると、常に403禁止された例外が返されます。私は問題を解決するためのすべての方法を試しましたが、解決策は見つかりませんでした。Amazon Cognitoを使用してAWSにアクセスすることを禁じている
私のIAMポリシーは次のとおりです。エンドポイントを接続するための
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:GetThingShadow",
"iot:UpdateThingShadow",
],
"Resource": [
"arn:aws:iot:us-west-2:<my_account>:thing/mythingname"
]
}
]
}
のAndroidコード:事の影を更新
userSession= AppHelper.getCurrSession();
credentialsProvider=new CognitoCachingCredentialsProvider(getApplicationContext(),POOL_ID,REGIONS);
Map<String,String> logins=new HashMap<String, String>();
logins.put("cognito-idp.us-west-2.amazonaws.com/user_pool_id",userSession.getIdToken().getJWTToken());
credentialsProvider.setLogins(logins);
iotDataClient=new AWSIotDataClient(credentialsProvider);
iotDataClient.setEndpoint(ENDPOINT);
:
UpdateThingShadowRequest request=new UpdateThingShadowRequest();
request.setThingName(thingName);
ByteBuffer payloadBuffer=ByteBuffer.wrap(updateState.getBytes());
request.setPayload(payloadBuffer);
UpdateThingShadowResult result=iotDataClient.updateThingShadow(request);
この点で任意の助けいただければ幸いです。
このIAMポリシーには、認証済みロールまたは認証されていないロールが添付されていますか。ある場合は、どの認証プロバイダを使用していますか? –
私は認証されたロールを使用しています。プロバイダーとして、ユーザープールと統合されたIDプールを使用しています – Arun