S3에서 Elastic Beanstalk에 배포하면 "권한이 없습니다"라는 메시지가 나타납니다. "귀하"는 누구입니까?

S3에서 Elastic Beanstalk에 배포하면 "권한이 없습니다"라는 메시지가 나타납니다. "귀하"는 누구입니까?

저는 AWS와 Elastic Beanstalk를 테스트하고 있으며 수동으로 업로드된 버전을 Beanstalk에서 실행하고 있습니다.

명령줄을 통해 버전을 업데이트하려고 하면 명령줄에서는 ok가 반환되지만 Beanstalk에서는 오류 이벤트가 표시됩니다.

[ec2-user@ip-172-31-35-38 ~]$ /usr/bin/aws elasticbeanstalk update-environment --environment-name play-app-test --version-label play-app-1051 --region us-east-1
True    play-app play-app-test.elasticbeanstalk.com       2015-09-27T04:05:25.486Z        2015-09-27T06:07:28.031Z                .....us-east-1.elb.amazonaws.com   e-jk8fyjd3dt    play-app-test    Grey    64bit Amazon Linux 2015.03 v2.play-app-1051Node.js
TIER    WebServer       Standard
[ec2-user@ip-172-31-35-38 ~]$

서비스:Amazon S3, 메시지:'s3:ListBucket' 작업을 수행할 권한이 없습니다. S3 정책과 ACL이 이러한 작업을 수행할 수 있도록 허용하는지 확인하십시오.

허가를 받지 못한 사람은 정확히 누구입니까?

내 Beanstalk 환경의 상태 권한 역할은 aws-elasticbeanstalk-service-roleS3에 대한 액세스 권한을 부여하는 정책을 연결한 것입니다(S3에 빌드를 업로드한 사용자에 대해 동일한 정책을 사용하고 그곳에서 작동했습니다).

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::play-app-builds"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": "arn:aws:s3:::play-app-builds/*"
        }
    ]
}

Beanstalk 환경 서버의 인스턴스 프로파일 역할 aws-elasticbeanstalk-ec2-role에도 위의 정책이 첨부되어 있습니다.

CloudTrail을 켰습니다. 통화는 표시되지만 UpdateEnvironment그 이후에는 S3 통화가 표시되지 않습니다. CloudTrail에 실패한 호출이 표시되는지 여부는 확실하지 않습니다.

S3 내에서 빌드 버킷에 대한 로깅을 켰지만 아무것도 기록되지 않았습니다.

내가 무엇을 놓치고 있나요?

답변1

당신은 누구든지 aws iam get-user(함께사용자 이름 없음) 그렇다고 하더군요.

관련 정보