Warum kann ich eine KMS-Schlüsselrichtlinie in AWS KMS nicht lesen oder aktualisieren?
Letzte Aktualisierung: 26.08.2021
Ich möchte eine AWS KMS-Schlüsselrichtlinie in AWS Key Management Service (AWS KMS) aktualisieren. Ich habe überprüft, dass ich Administratorberechtigungen für meine AWS Identity and Access Management (IAM)-Identitäten (Benutzer, Gruppen und Rollen) habe, aber ich kann die KMS-Schlüsselrichtlinie nicht lesen oder aktualisieren.
Kurzbeschreibung
IAM-Hauptzugriffsberechtigte benötigen die API-Aktionsberechtigung GetKeyPolicy, um eine Schlüsselrichtlinie lesen zu können, und 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 Verwalten des Zugriffs auf AWS KMS-Schlüssel.
Die standardmäßige KMS-Schlüssel-IAM-Richtlinie enthält eine Anweisung ähnlich der folgenden:
{
"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. Wenn die Entitäten keine API-Aktionen wie GetKeyPolicy oder PutKeyPolicy ausführen können, selbst wenn Berechtigungen in ihren angehängten Richtlinien zulässig sind, hat sich die Anweisung „IAM-Benutzerberechtigungen aktivieren“ möglicherweise geändert.
Lösung
Überprüfen der Berechtigungen für IAM-Richtlinien
Stellen Sie sicher, dass Ihre IAM-Entitäten die Berechtigung haben, einen KMS-Schlüssel zu lesen und zu aktualisieren, ähnlich der folgenden IAM-Richtlinie:
{
"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/*"
}
]
}
Verwenden des CloudTrail-Ereignisverlaufs
1. Öffnen Sie die AWS CloudTrail-Konsole und wählen Sie dann Ereignisverlauf.
2. Wählen Sie die Dropdown-Liste Lookup-Attribute aus und wählen Sie dann Ereignisname.
3. Geben Sie im Suchfenster PutKeyPolicy ein.
4. Öffnen Sie das letzte PutKeyPolicy-Ereignis.
5. Kopieren Sie die Richtlinie im Ereignisdatensatz und fügen Sie sie in Ihren bevorzugten Texteditor ein.
6. Übertragen Sie die Richtlinie in ein lesbares Format.
7. Beachten Sie in der IAM-Richtlinie Sid „Zugriff für Schlüsseladministratoren zulassen“ die IAM-Identitätsadministratoren ähnlich den folgenden:
{
"Sid": "Allow access for Key Administrators",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111122223333:role/Administrator"
]
},
Schlüsseladministratoren können dann verwendet werden, um wieder Zugriff auf den Schlüssel zu erhalten.
Verwenden der Athena-Abfragen
Wenn das Ereignis des CloudTrail-Ereignisverlaufs mehr als 90 Tage zurückliegt, können Sie Amazon Athena verwenden, um 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 CloudTrail-Protokolle zu durchsuchen?
Ähnliche Informationen
War dieser Artikel hilfreich?
Benötigen Sie Hilfe zur Fakturierung oder technischen Support?