Warum kann ich eine AWS-KMS-Schlüsselrichtlinie in AWS KMS nicht lesen oder aktualisieren?

Lesedauer: 3 Minute
0

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

  1. Öffnen Sie die AWS CloudTrail-Konsole und wählen Sie dann Ereignisverlauf.
  2. Wählen Sie die Dropdownliste Suchattribute und dann Ereignisname aus.
  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. Zerlegen Sie die Richtlinie in ein lesbares Format.
  7. 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

Sichere Zugangsschlüssel

AWS-KMS-Konzepte

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr