1

Amazon의 두 제품이 잘 통합 될 것이라고 생각할 것입니다. 아마존은 자신의 서비스에 대한 적절한 문서화를 가지고 있다고 생각할 것입니다. 둘 다 끔찍한 잘못입니다.Alexa 계정 Cognito와 연결

Alexa와 연결하고 AWS Cognito를 내 oauth 제공 업체로 사용하는 계정을 사용하고 있습니다. 나는 성공적으로 내 계정을 성공적으로 연결할 수 있으며, 이후의 모든 알렉사 호출과 함께 다시 액세스 토큰을 받았다. 이제 뭐?

필자의 alexa lambda 함수에서 dynamo, lambda 및 iot와 같은 다른 AWS 서비스에 액세스 할 수 있어야합니다. 다음과 같이 쉽게 생각할 수 있습니다.

var accessToken = event.session.user.accessToken; 
var params = { 
    IdentityPoolId: "{identity_pool_id}", 
    Logins : { 
     'cognito-idp.us-east-1.amazonaws.com/{user_pool_id}' : accessToken 
    } 
}; 

AWS.config.region = 'us-east-1'; 
AWS.config.credentials = new AWS.CognitoIdentityCredentials(params); 
    AWS.config.credentials.get(function(err) { 
    if (err) { 
     console.log(err); 
    } else { 
     console.log('success'); 
     console.log("Cognito Identity Id: " + AWS.config.credentials.identityId); 
    } 
}); 

물론 간단하지는 않습니다. 누구든지 나를 도울 수 있습니까?

+0

을 할당해야합니다. 혹시 해결책을 찾았습니까? – Panda

답변

0

IAM에서 만든 "역할"에 적절한 "정책"을 지정해야합니다. 모든 AWS 서비스는 정책 기반 액세스 권한에서 작동하며 역할에 대한 IAM 역할에 명시 적으로 첨부되어 해당 사용자 역할을 대신하여 기본 서비스에 액세스하고 실행할 수 있어야합니다.

요약에서 당신은 등 "IOT", "DynamoDB의", "람다"관련 IAM에서 정책이 같은 문제가 발생