Bei der Bereitstellung in Elastic Beanstalk von S3 wird die Meldung „Sie haben keine Berechtigung“ angezeigt – wer ist „Sie“?

Bei der Bereitstellung in Elastic Beanstalk von S3 wird die Meldung „Sie haben keine Berechtigung“ angezeigt – wer ist „Sie“?

Ich teste AWS und Elastic Beanstalk und lasse auf Beanstalk eine manuell hochgeladene Version laufen.

Wenn ich versuche, die Version über die Befehlszeile zu aktualisieren, gibt die Befehlszeile „OK“ zurück, aber Beanstalk zeigt ein Fehlerereignis an.

[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 ~]$

Service:Amazon S3, Meldung: Sie haben keine Berechtigung, die Aktion „s3:ListBucket“ auszuführen. Überprüfen Sie, ob Ihre S3-Richtlinien und Ihre ACLs das Ausführen dieser Aktionen zulassen.

Wer genau hat keine Berechtigung?

Ich habe der Integritätsberechtigungsrolle meiner Beanstalk-Umgebung aws-elasticbeanstalk-service-roleeine Richtlinie zugeordnet, die den Zugriff auf S3 gewährt (ich verwende die gleiche Richtlinie für den Benutzer, der den Build auf S3 hochgeladen hat, und dort hat es funktioniert).

{
    "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/*"
        }
    ]
}

Die Instanzprofilrolle des Beanstalk-Umgebungsservers ist, aws-elasticbeanstalk-ec2-rolean die auch die oben genannte Richtlinie angehängt ist.

Ich habe CloudTrail eingeschaltet. Es zeigt den UpdateEnvironmentAnruf an, aber danach keine S3-Anrufe mehr. Ich bin nicht sicher, ob CloudTrail fehlgeschlagene Anrufe anzeigt oder nicht.

In S3 habe ich die Protokollierung für den Build-Bucket aktiviert, aber es wurde nichts protokolliert.

Was vermisse ich?

Antwort1

Du bist, wer auch immer aws iam get-user(mitkein Benutzername) sagt, dass Sie es sind.

verwandte Informationen