Wie kann ich den AWS KMS-Schlüsselrichtlinienfehler „Die Richtlinie enthält eine Anweisung mit einem oder mehreren ungültigen Prinzipalen“ beheben?

Lesedauer: 3 Minute
0

Ich habe versucht, meine AWS Key Management Service (AWS KMS) -Schlüsselrichtlinie zu ändern. Ich habe jedoch in der AWS-Managementkonsole eine Fehlermeldung erhalten, die der folgenden ähnelt: „PutKeyPolicy-Anfrage ist fehlgeschlagen, MalformedPolicyDocumentException — Richtlinie enthält eine Anweisung mit einem oder mehreren ungültigen Prinzipalen.“

Kurzbeschreibung

Die PutKeyPolicy AWS KMS-API-Aufrufanforderung schlägt fehl, wenn die angegebene Schlüsselrichtlinie syntaktisch oder semantisch nicht korrekt ist. Die AWS KMS-Schlüsselrichtlinie enthält die ARN nicht. Stattdessen enthält die Schlüsselrichtlinie ein Prinzipal mit einer eindeutigen ID, die AIDACKCEVSQ6C2EXAMPLE ähnelt.

Lösung

JSON-Syntax

Vergewissern Sie sich, dass der Ressourcentyp des JSON-Richtliniendokuments gültig ist. Um JSON-Syntaxfehler zu beheben, fügen Sie das JSON-Richtliniendokument in ein JSON-Formatierungstool ein, z. B. den JSON Beautifier auf der JSON Beautifier-Website. Entfernen Sie alle unnötigen Zeichen und fügen Sie alle fehlenden Zeichen hinzu. Entfernen Sie doppelte JSON-Richtlinienelemente und SID-Werte.

Prinzipalelemente

Bestätigen Sie im Prinzipalelement der JSON-Richtlinie, dass die Identität von AWS Identity and Access Management (IAM) vorhanden ist und über eine gültige ARN verfügt.

Hinweis: In dem Teil der ARN, der den Ressourcentyp angibt, können Sie keinen Platzhalter verwenden.

Wenn Sie IAM-Identitäten erstellen, werden freundliche Namen wie Bob oder Developers verwendet. Aus Sicherheitsgründen wird diesen IAM-Identitäten auch eine eindeutige Kennung zugewiesen, z. B. AIDACKCEVSQ6C2EXAMPLE. Entfernen Sie verwaiste eindeutige IDs aus der Schlüsselrichtlinie. Weitere Informationen finden Sie unter Schlüsselrichtlinien in AWS KMS.

**Hinweis:**Wenn die AWS KMS-Schlüsselrichtlinie über Berechtigungen für ein anderes Konto oder einen anderen Prinzipal verfügt, ist die Schlüsselrichtlinie möglicherweise nicht gültig. Die Schlüsselrichtlinie gilt nur in der AWS-Region, die den AWS-KMS-Schlüssel enthält.

AWS-Dienste

Wenn ein AWS-Dienst als Prinzipal aufgeführt ist, stellen Sie sicher, dass AWS KMS den Dienst unterstützt. Der Prinzipal muss die IAM-Identität sein. Außerdem müssen Sie den kms:viaService-Bedingungsschlüssel für die AWS-Dienste verwenden, die die Anforderungen für die IAM-Identität stellen.

Da nicht alle AWS-Dienste direkt AWS KMS aufrufen, überprüfen Sie, ob der AWS-Dienst, den Sie verwenden, direkt AWS KMS aufruft. Beispielsweise ruft ein AWS-Dienst wie Amazon Elastic Compute Cloud (Amazon EC2) einen Prinzipal im Konto auf. AWS-Dienste, die AWS KMS direkt aufrufen, müssen den Dienst-Prinzipal im Prinzipal-Element haben.

Weitere Informationen finden Sie unter Dienste, die den kms:viaService-Bedingungsschlüssel unterstützen.

AWS-Region anmelden

Das Konto, mit dem Sie die AWS-KMS-Schlüssel teilen, muss sich innerhalb des Empfängerkontos für die AWS-Region anmelden. Andernfalls sind die KMS-Schlüssel in dieser Region nicht gültig.

Vergewissern Sie sich, dass die Region im Empfängerkonto aktiviert ist. Sie können auch einen anderen AWS-KMS-Schlüssel in einer Region teilen, die im AWS-Konto und im Empfängerkonto aktiviert ist. Weitere Informationen finden Sie unter Angeben, welche AWS-Regionen Ihr Konto verwenden kann.

Ähnliche Informationen

Änderung einer Schlüsselrichtlinie