Warum kann ich eine AWS-KMS-Schlüsselrichtlinie in AWS KMS nicht lesen oder aktualisieren?
Ich möchte eine AWS-KMS-Schlüsselrichtlinie im AWS Key Management Service (AWS KMS) aktualisieren. Ich habe bestätigt, dass ich Administratorberechtigungen für meine AWS Identity and Access Management (IAM)-Identitäten (Benutzer, Gruppen und Rollen) habe. Ich kann die KMS-Schlüsselrichtlinie jedoch nicht lesen oder aktualisieren.
Kurzbeschreibung
IAM-Prinzipale müssen über die API-Aktionsberechtigung GetKeyPolicy verfügen, um eine Schlüsselrichtlinie zu lesen, und über PutKeyPolicy, um eine Richtlinie zu aktualisieren. Diese Berechtigungen werden entweder direkt mit der Schlüsselrichtlinie oder einer Kombination aus Schlüssel- und IAM-Richtlinien erteilt. Weitere Informationen finden Sie unter AWS Key Management Service.
Die standardmäßige IAM-Richtlinie für den AWS-KMS-Schlüssel enthält eine ähnliche Anweisung wie diese:
{ "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }
Die IAM-Entitäten für das AWS-Konto 111122223333 können alle in der angehängten Richtlinie zulässigen AWS-KMS-Aktionen ausführen. Manchmal können Entitäten keine API-Aktionen wie GetKeyPolicy oder PutKeyPolicy ausführen, auch wenn ihre angehängten Richtlinien die Berechtigungen enthalten. Um diesen Fehler zu beheben, überprüfen Sie, ob die Anweisung „IAM-Nutzerbereichtigungen aktivieren“ geändert wurde.
Behebung
IAM-Richtlinienberechtigungen überprüfen
Stellen Sie sicher, dass Ihre IAM-Entitäten berechtigt sind, einen AWS-KMS-Schlüssel zu lesen und zu aktualisieren, der dieser IAM-Richtlinie ähnelt:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "arn:aws:kms:*:111122223333:key/*" } ] }
Den CloudTrail-Ereignisverlauf verwenden
- Öffnen Sie die AWS CloudTrail-Konsole und wählen Sie dann Ereignisverlauf.
- Wählen Sie die Dropdownliste Suchattribute und dann Ereignisname aus.
- Geben Sie im Suchfenster PutKeyPolicy ein.
- Öffnen Sie das letzte PutKeyPolicy-Ereignis.
- Kopieren Sie die Richtlinie im Ereignisdatensatz und fügen Sie sie in Ihren bevorzugten Texteditor ein.
- Zerlegen Sie die Richtlinie in ein lesbares Format.
- Beachten Sie in der IAM-Richtlinien-Sid „Zugriff für Schlüsseladministratoren zulassen“ die IAM-Identitätsadministratoren ähnlich wie im folgenden Beispiel:
{ "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/Administrator" ] },
Schlüsseladministratoren können dann verwendet werden, um den Zugriff auf den Schlüssel wiederzuerlangen.
Athena-Abfragen verwenden
Wenn das Ereignis mit dem CloudTrail-Ereignisverlauf 90 Tage zurückliegt, können Sie Amazon Athena verwenden, um die CloudTrail-Protokolle zu durchsuchen. Anweisungen finden Sie unter Verwenden der CloudTrail-Konsole zum Erstellen einer Athena-Tabelle für CloudTrail-Protokolle.
Weitere Informationen finden Sie unter Wie erstelle ich automatisch Tabellen in Athena, um die CloudTrail-Protokolle zu durchsuchen?
Ähnliche Informationen
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 5 Monaten
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr