Scan 작업을 호출 할 때 (AccessDeniedException)을 해결하는 방법 : 사용자 : arn : aws : sts ...가 수행 할 권한이 없습니다 : dynamodb : Scan on resource .. "?

로물로 필류

Elastic Beanstalk 및 Flask를 사용하여 Instagram과 유사한 애플리케이션을 AWS에 배포하려고합니다. eb deploy 명령을 사용한 후 DynamoDB 테이블에 액세스 할 필요가없는 애플리케이션 기본 페이지에 액세스 할 수 있습니다. 로그인을 시도하면 애플리케이션이 DynamoDB 테이블에 액세스하여 사진의 좋아요 수와 같은 데이터를 검색해야하지만

500 내부 서버 오류

그리고 내 eb 로그 는이 오류를 반환합니다.

ClientError :> Scan 작업을 호출 할 때 오류가 발생했습니다 (AccessDeniedException). : 리소스 스캔 : arn : aws : dynamodb : us-east-> 1 : 013051511429 : table / cloudgram

IAM 구성이 잘못 되었기 때문이라고 생각합니다. EC2 인스턴스 (i-04959 ..)에 해당하는 사용자에게 DynamoDB 테이블에서 스캔을 수행 할 권한이 없다고합니다.

나는 이것을 다음과 같이 시도했다 : https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html

다음은 aws-elasticbeanstalk-ec2-role에 첨부 한 정책입니다.

  • AmazonRDSFullAccess
  • AmazonS3FullAccess
  • AWSLambdaDynamoDBExecutionRole
  • AWSElasticBeanstalkWebTier
  • AWSElasticBeanstalkMulticontainerDocker
  • AWSElasticBeanstalkWorkerTier

나는 사용하고있다 : Python 2.7 Flask 1.0.2

jarmod

제공 한 정책 AWSLambdaDynamoDBExecutionRole은 DynamoDB 스트림에 대한 것입니다. 테이블에 대한 액세스를 허용하지 않습니다.

이를 해결하는 한 가지 방법은 AmazonDynamoDBFullAccess정책 을 추가하는 것입니다.하지만 더 좋은 방법은 필요한 작업 만 허용하고 필요한 리소스 (DynamoDB 테이블) 만 허용하는 IAM 정책을 생성하는 것입니다. 여기에 그 예가 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관