Warum erhalte ich die Fehlermeldung „Invalid principal in policy“, wenn ich versuche, meine Amazon-S3-Bucket-Richtlinie zu aktualisieren?
Wenn ich versuche, meine Amazon Simple Storage Service (Amazon S3)-Bucket-Richtlinie hinzuzufügen oder zu bearbeiten, erhalte ich die Fehlermeldung „Invalid principal in policy“.
Behebung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Wenn deine Amazon-S3-Bucket-Richtlinie einen ungültigen Wert des Prinzipal-Elements enthält, erhältst du die Fehlermeldung „Invalid principal in policy“. Befolge diese Schritte zur Problembehandlung, um diesen Fehler zu beheben.
Stelle sicher, dass deine Bucket-Richtlinie unterstützte Werte für das Prinzipal-Element verwendet
Stelle sicher, dass du die folgenden unterstützten Werte für das Prinzipal-Element in deiner S3-Bucket-Richtlinie angibst:
- Der ARN eines AWS Identity and Access Management (IAM)-Benutzers oder einer IAM-Rolle
Hinweis: Um den ARN eines IAM-Benutzers zu ermitteln, führe den AWS-CLI-Befehl get-user aus. Führe den Befehl get-role aus, um den ARN einer IAM-Rolle zu ermitteln. - Eine AWS-Konto-ID oder AWS-Service-Prinzipale
- Der Platzhalter (*) zur Darstellung aller Benutzer
Hinweis: Allen authentifizierten und anonymen Benutzern wird Zugriff gewährt, wenn du das Platzhalterzeichen (*) als Prinzipal-Element verwendest.
Stelle sicher, dass der Prinzipalwert korrekt formatiert ist
Stelle sicher, dass die Prinzipal-Elemente in der Bucket-Richtlinie richtig formatiert sind. Wenn das Prinzipal-Element eine(n) Benutzer:in enthält, verwende das folgende Format:
"Principal": { "AWS": "arn:aws:iam::111111111111:user/user-name1" }
Hinweis: Ersetze user-name1 durch den Namen deines IAM-Benutzers.
Wenn das Prinzipal-Element mehr als eine(n) IAM-Benutzer:in oder eine IAM-Rolle enthält, verwende das folgende Format:
"Principal": { "AWS": [ "arn:aws:iam::111111111111:user/user-name1", "arn:aws:iam::111111111111:role/role-name1" ] }
Hinweis: Ersetze username1 durch den Namen deines IAM-Benutzers und role-name1 durch den Namen deiner IAM-Rolle.
Wenn das Prinzipal-Element alle Benutzer umfasst, verwende das folgende Format:
{ "Principal": "*" }
Hinweis: Es hat sich bewährt, im Prinzipal-Element eine ressourcenbasierten Richtlinie mit dem Effekt Zulassen keinen Platzhalter (*) zu verwenden. Verwende den Platzhalter (*) nur, um öffentlichen oder anonymen Zugriff zu gewähren. Gib im Prinzipal-Element die gewünschten Prinzipale, Services oder AWS-Konten an. Verwende dann das Bedingungs-Element, um den Zugriff einzuschränken.
Hinweis: Wenn du anonymen Zugriff gewährst, können alle auf den Bucket zugreifen. Wir empfehlen, keinen anonymen Schreibzugriff auf den S3-Bucket zu gewähren. Weitere Informationen findest du unter So funktioniert Amazon S3 mit IAM.
Stelle sicher, dass der/die IAM-Benutzer:in oder die IAM-Rolle nicht gelöscht wurde
Wenn du versuchst, die Bucket-Richtlinie mit einem eindeutigen Bezeichner als Prinzipal-Element zu speichern, erhältst du den Fehler „Invalid principal in policy“. Dies liegt daran, dass das Prinzipal-Element nur gültige IAM-ARNs unterstützt. Um diesen Fehler zu beheben, musst du alle eindeutigen Bezeichner aus dem Prinzipal-Element entfernen.
Wenn deine Bucket-Richtlinie IAM-Benutzer oder -Rollen im Prinzipal-Element enthält, stelle sicher, dass die IAM-Identitäten nicht gelöscht werden. Um die gelöschten IAM-Benutzer und -Rollen in deiner Bucket-Richtlinie zu identifizieren, gib die eindeutigen Bezeichner anstelle der vollständigen ARNs im Prinzipal-Element an.
Beispiel:
"Principal": { "AWS": [ "arn:aws:iam::111111111111:user/user-name1", "AIDAJQABLZS4A3QDU576Q", "arn:aws:iam::111111111111:user/user-name2" ] }
Hinweis: Ersetze username1 und user-name2 durch die Namen deiner IAM-Benutzer.
Stelle sicher, dass für das Konto des IAM-Prinzipals eine Region aktiviert ist
Wenn du eine S3-Bucket-Richtlinie anwendest, überprüft AWS, ob die erforderlichen AWS-Regionen im Konto des IAM-Prinzipals verfügbar sind. Der Bucket befindet sich möglicherweise in einer AWS-Region, die AWS standardmäßig nicht aktiviert. Vergewissere dich in diesem Fall, dass du die Region im Konto des IAM-Prinzipals aktiviert hast. Aktiviere in einem kontoübergreifenden Szenario die AWS-Region für beide AWS-Konten. Weitere Informationen findest du unter AWS-Regionen in deinem Konto aktivieren oder deaktivieren.
IAM Access Analyzer verwenden, um den Bucket-Zugriff zu validieren
Verwende AWS Identity and Access Management Access Analyzer, um den Zugriff auf die S3-Buckets zu überprüfen, bevor du Berechtigungen bereitstellst. Du kannst die S3-Bucket-Richtlinien überprüfen, die dir Ressourcen von einem anderen AWS-Konto gewähren.
Du kannst IAM Access Analyzer auch verwenden, um AWS-CloudTrail-Ereignisse zu analysieren und auf der Grundlage dieser Aktivität eine IAM-Richtlinie zu generieren. Weitere Informationen findest du unter Generierung von IAM-Access-Analyzer-Richtlinien.
Informationen zur Aktivierung von IAM Access Analyzer findest du unter Erste Schritte mit AWS Identity and Access Management Access Analyzer.
Hinweis: AWS berechnet dir jede ungenutzte Zugriffsanalyse, die du pro Monat erstellst. Weitere Informationen findest du unter Preise für IAM Access Analyzer.
Informationen zur Fehlerbehebung bei IAM-Access-Analyzer-Berechtigungen findest du unter Wie löse ich Berechtigungsprobleme mit Richtlinien, die von IAM Access Analyzer generiert wurden?
- Themen
- Storage
- Sprache
- Deutsch
Ähnliche Videos


Relevanter Inhalt
AWS OFFICIALAktualisiert vor 5 Monaten
AWS OFFICIALAktualisiert vor 7 Monaten