New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
Wie verwende ich Platzhalter mit einem Prinzipal-Element und expliziter Ablehnung in einer Amazon S3-Bucket-Richtlinie?
Ich möchte Platzhalter mit einem Prinzipal-Element und einer expliziten Ablehnung in einer Amazon Simple Storage Service (Amazon S3)-Bucket-Richtlinie verwenden.
Kurzbeschreibung
Um zu verhindern, dass bestimmte AWS Identity and Access Management (IAM)-Entitäten auf Ihre Amazon S3-Buckets zugreifen, legen Sie in einer Bucket-Richtlinie bestimmte Berechtigungen fest. Die Bucket-Richtlinie muss ein notPrincipal-Element und eine explizite Ablehnung verwenden. Weitere Informationen finden Sie unter Verwenden von NotPrincipal mit Deny.
Da Amazon S3 jedoch keine Platzhalter mit dem NotPrincipal-Element unterstützt, müssen Sie Principal als Zielentität in jedem Anweisungsblock verwenden. Jeder Anweisungsblock muss auch die Bedingung für jeden Zulaufblock enthalten.
Behebung
Stellen Sie zunächst sicher, dass Sie über die folgenden Ressourcen verfügen:
- Ein S3-Bucket
- Eine IAM-Rolle
- Eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance mit einer IAM-Rolle, oder Sie können zu einer IAM-Rolle wechseln
- Die eindeutige ID für die IAM-Entität, oder Sie können einen IAM-API-Aufruf ausführen, um die eindeutige ID abzurufen
Im folgenden Beispiel werden Platzhalter in aws:userid verwendet, um alle Namen einzuschließen, die der aufrufende Prozess übergibt. Dazu gehören beispielsweise Platzhalter für eine Anwendungs-, Dienst- oder Instanz-ID, wenn Benutzer Aufrufe tätigen, um temporäre Anmeldeinformationen abzurufen. Weitere Informationen finden Sie unter Informationen anfordern, die Sie für Richtlinienvariablen verwenden können. Um eine Aussperrung zu verhindern, umfasst dieses Beispiel den Root-Benutzer des AWS-Kontos.
**Hinweis:**Stellen Sie sicher, dass Sie die Beispielnamen durch Ihre eigenen Rollen-IDs und Bucket-Namen ersetzen.
Hier ist die vollständige Beispielrichtlinie. Beachten Sie die StringNotLike-Bedingung im Deny-Block:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/s3-access-role" ] }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::awsexamplebucket1" }, { "Sid": "", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/s3-access-role" ] }, "Action": [ "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::awsexamplebucket1/*" }, { "Sid": "", "Effect": "Deny", "Principal": "*", "Action": [ "s3:ListBucket", "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1/*", "arn:aws:s3:::awsexamplebucket1" ], "Condition": { "StringNotLike": { "aws:userid": [ "AROAID2GEXAMPLEROLEID:*", "444455556666" ] } } } ] }
Zusammenhängende Informationen
So beschränken Sie den Zugriff auf Amazon S3-Buckets auf eine bestimmte IAM-Rolle
Ähnliche Videos


Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 3 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor einem Jahr