Runtime-Abdeckung und Fehlerbehebung für Amazon EKS-Cluster - Amazon GuardDuty

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Runtime-Abdeckung und Fehlerbehebung für Amazon EKS-Cluster

Nachdem Sie Runtime Monitoring aktiviert und den GuardDuty Security Agent (Add-on) für EKS entweder manuell oder über die automatische Agentenkonfiguration installiert haben, können Sie mit der Bewertung der Abdeckung Ihrer EKS-Cluster beginnen.

Überprüfen der Abdeckungsstatistiken

Die Abdeckungsstatistiken für die EKS-Cluster, die Ihren eigenen Konten oder Ihren Mitgliedskonten zugeordnet sind, geben den Prozentsatz der fehlerfreien EKS-Cluster an allen EKS-Clustern in der ausgewählten AWS-Region an. Die folgende Gleichung stellt dies wie folgt dar:

(Fehlerfreie Cluster/Alle Cluster)*100

Wählen Sie eine der Zugriffsmethoden, um die Abdeckungsstatistiken für Ihre Konten einzusehen.

Console
  • Melden Sie sich bei der an AWS Management Console und öffnen Sie die GuardDuty Konsole unter https://console.aws.amazon.com/guardduty/.

  • Wählen Sie im Navigationsbereich Runtime Monitoring aus.

  • Wählen Sie die Registerkarte Laufzeitabdeckung von EKS-Clustern.

  • Auf der Registerkarte Laufzeitabdeckung von EKS-Clustern können Sie die Abdeckungsstatistiken einsehen, die nach dem Abdeckungsstatus aggregiert sind, der in der Cluster-Listentabelle verfügbar ist.

    • Sie können die Tabelle mit der Cluster-Liste nach den folgenden Spalten filtern:

      • Cluster name

      • Konto-ID

      • Agentenverwaltungs-Typ

      • Abdeckungsstatus

      • Add-On-Version

  • Wenn einer Ihrer EKS-Cluster den Abdeckungsstatus Fehlerhaft hat, kann die Spalte Problem zusätzliche Informationen über den Grund für den Status Fehlerhaft enthalten.

API/CLI
  • Führen Sie die ListCoverageAPI mit Ihrer eigenen gültigen Detektor-ID, Region und Ihrem Service-Endpunkt aus. Mit dieser API können Sie die Cluster-Liste filtern und sortieren.

    • Sie können das Beispiel filter-criteria ändern mit einer der folgenden Optionen für CriterionKey:

      • ACCOUNT_ID

      • CLUSTER_NAME

      • RESOURCE_TYPE

      • COVERAGE_STATUS

      • ADDON_VERSION

      • MANAGEMENT_TYPE

    • Sie können das Beispiel AttributeName in sort-criteria ändern mit einer der folgenden Optionen:

      • ACCOUNT_ID

      • CLUSTER_NAME

      • COVERAGE_STATUS

      • ISSUE

      • ADDON_VERSION

      • UPDATED_AT

    • Sie können die ändern max-results (bis zu 50).

    • Informationen zu den Einstellungen detectorId für Ihr Konto und Ihre aktuelle Region finden Sie auf der Seite „Einstellungen“ in der https://console.aws.amazon.com/guardduty/Konsole oder führen Sie den ListDetectorsAPI.

    aws guardduty --region us-east-1 list-coverage --detector-id 12abc34d567e8fa901bc2d34e56789f0 --sort-criteria '{"AttributeName": "EKS_CLUSTER_NAME", "OrderBy": "DESC"}' --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"111122223333"}}] }' --max-results 5
  • Führen Sie die GetCoverageStatisticsAPI aus, um aggregierte Statistiken zur Abdeckung abzurufen, die statisticsType auf dem basieren.

    • Sie können das Beispiel statisticsType zu einer der folgenden Optionen ändern:

      • COUNT_BY_COVERAGE_STATUS – Stellt Abdeckungsstatistiken für EKS-Cluster dar, aggregiert nach Abdeckungs-Status.

      • COUNT_BY_RESOURCE_TYPE— Statistiken zur Abdeckung, aggregiert auf der Grundlage des AWS Ressourcentyps in der Liste.

      • Sie können das Beispiel filter-criteria im Befehl ändern. Sie können die folgenden Optionen für CriterionKey verwenden:

        • ACCOUNT_ID

        • CLUSTER_NAME

        • RESOURCE_TYPE

        • COVERAGE_STATUS

        • ADDON_VERSION

        • MANAGEMENT_TYPE

    • Informationen zu den Einstellungen detectorId für Ihr Konto und Ihre aktuelle Region finden Sie auf der Seite Einstellungen in der https://console.aws.amazon.com/guardduty/Konsole oder führen Sie den ListDetectorsAPI.

    aws guardduty --region us-east-1 get-coverage-statistics --detector-id 12abc34d567e8fa901bc2d34e56789f0 --statistics-type COUNT_BY_COVERAGE_STATUS --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"123456789012"}}] }'

Wenn der Abdeckungsstatus Ihres EKS-Clusters Fehlerhaft ist, finden Sie weitere Informationen unter Behebung von Problemen mit der Amazon EKS-Runtime-Abdeckung.

Änderung des Deckungsstatus mit EventBridge Benachrichtigungen

Der Abdeckungsstatus eines EKS-Clusters in Ihrem Konto wird möglicherweise als Fehlerhaft angezeigt. Um zu erkennen, wann der Abdeckungsstatus Fehlerhaft wird, empfehlen wir Ihnen, den Abdeckungsstatus regelmäßig zu überwachen und Fehler zu beheben, falls der Status Fehlerhaft ist. Alternativ können Sie eine EventBridge Amazon-Regel erstellen, die Sie benachrichtigt, wenn sich der Deckungsstatus von einem Unhealthy auf Healthy oder einem anderen Wert ändert. GuardDuty Veröffentlicht dies standardmäßig im EventBridge Bus für Ihr Konto.

Beispiel für ein Benachrichtigungsschema

In einer EventBridge Regel können Sie die vordefinierten Beispielereignisse und Ereignismuster verwenden, um eine Benachrichtigung über den Versicherungsstatus zu erhalten. Weitere Informationen zum Erstellen einer EventBridge Regel finden Sie unter Regel erstellen im EventBridge Amazon-Benutzerhandbuch.

Darüber hinaus können Sie mithilfe des folgenden Beispiel-Benachrichtigungsschemas ein benutzerdefiniertes Ereignismuster erstellen. Achten Sie darauf, die Werte für Ihr Konto zu ersetzen. Um benachrichtigt zu werden, wenn sich der Abdeckungsstatus Ihres Amazon EKS-Clusters von Healthy zu ändertUnhealthy, detail-type sollte dies der Fall seinGuardDuty Runtime Protection Unhealthy. Um benachrichtigt zu werden, wenn sich der Deckungsstatus von Unhealthy auf ändertHealthy, ersetzen Sie den Wert von detail-type durchGuardDuty Runtime Protection Healthy.

{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "AWS-Konto ID", "time": "event timestamp (string)", "region": "AWS-Region", "resources": [ ], "detail": { "schemaVersion": "1.0", "resourceAccountId": "string", "currentStatus": "string", "previousStatus": "string", "resourceDetails": { "resourceType": "EKS", "eksClusterDetails": { "clusterName": "string", "availableNodes": "string", "desiredNodes": "string", "addonVersion": "string" } }, "issue": "string", "lastUpdatedAt": "timestamp" } }

Behebung von Problemen mit der Amazon EKS-Runtime-Abdeckung

Wenn der Deckungsstatus für Ihren EKS-Cluster lautetUnhealthy, können Sie den entsprechenden Fehler entweder in der Spalte Problem in der GuardDuty Konsole oder mithilfe des CoverageResourceDatentyps anzeigen.

Wenn Sie mit Einschluss- oder Ausschluss-Tags arbeiten, um Ihre EKS-Cluster selektiv zu überwachen, kann es einige Zeit dauern, bis die Tags synchronisiert sind. Dies kann sich auf den Abdeckungsstatus des zugehörigen EKS-Clusters auswirken. Sie können erneut versuchen, das entsprechende Tag (Einschluss oder Ausschluss) zu entfernen und hinzuzufügen. Weitere Informationen finden Sie unter Markieren Ihrer Amazon-EKS-Ressourcen im Amazon-EKS-Entwicklerhandbuch.

Die Struktur eines Abdeckungsproblems ist Issue type:Extra information. In der Regel verfügen die Probleme über optionale Zusatzinformationen, die eine spezifische Ausnahme oder eine Beschreibung des Problems enthalten können. Basierend auf zusätzlichen Informationen enthalten die folgenden Tabellen die empfohlenen Schritte zur Behebung von Deckungsproblemen für Ihre EKS-Cluster.

Art des Problems (Präfix)

Zusatzinformation

Empfohlene Schritte zur Fehlerbehebung

Die Erstellung des Addons ist fehlgeschlagen

Das Addon aws-guardduty-agent ist mit der aktuellen Clusterversion des Clusters nicht kompatibel. ClusterName Das angegebene Add-On wird nicht unterstützt.

Stellen Sie sicher, dass Sie eine der Kubernetes-Versionen verwenden, die die Bereitstellung des aws-guardduty-agent-EKS-Add-Ons unterstützen. Weitere Informationen finden Sie unter Kubernetes-Versionen, die vom Security Agent unterstützt werden GuardDuty . Informationen zur Aktualisierung Ihrer Kubernetes-Version finden Sie unter Aktualisieren einer Amazon-EKS-Cluster-Kubernetes-Version.

Die Erstellung des Addons ist fehlgeschlagen

Die Aktualisierung des Addons ist fehlgeschlagen

Der Status des Addons ist fehlerhaft

Problem mit dem EKS-Add-On – AddonIssueCode: AddonIssueMessage

Informationen zu empfohlenen Schritten für einen bestimmten Problemcode eines Add-ons finden Sie unter. Troubleshooting steps for Addon creation/updatation error with Addon issue code

Eine Liste der Addon-Problemcodes, die bei diesem Problem auftreten können, finden Sie unter AddonIssue.

VPC-Endpunkterstellung ist fehlgeschlagen

VPC-Endpunkterstellung wird für gemeinsam genutzte VPC nicht unterstützt vpcId

Runtime Monitoring unterstützt jetzt die Verwendung einer gemeinsam genutzten VPC innerhalb einer Organisation. Stellen Sie sicher, dass Ihre Konten alle Voraussetzungen erfüllen. Weitere Informationen finden Sie unter Voraussetzungen für die Verwendung von Shared VPC.

Nur bei Verwendung einer gemeinsam genutzten VPC mit automatisierter Agentenkonfiguration

111122223333Für die Besitzerkonto-ID für gemeinsam genutzte VPC vpcId ist weder Runtime Monitoring noch automatische Agentenkonfiguration oder beides aktiviert.

Das gemeinsame VPC-Besitzerkonto muss Runtime Monitoring und automatische Agentenkonfiguration für mindestens einen Ressourcentyp (Amazon EKS oder Amazon ECS (AWS Fargate)) aktivieren. Weitere Informationen finden Sie unter Spezifische Voraussetzungen für Runtime Monitoring GuardDuty .

Um privates DNS zu aktivieren, müssen beide enableDnsSupport enableDnsHostnames VPC-Attribute auf true for gesetzt sein vpcId (Service: Ec2, Statuscode: 400, Anforderungs-ID:). a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Sie müssen jedoch sicherstellen, dass die folgenden VPC-Attribute auf true festgelegt sind: enableDnsSupport und enableDnsHostnames. Weitere Informationen finden Sie unter DNS-Attribute in Ihrer VPC.

Wenn Sie die Amazon VPC Console unter verwenden, https://console.aws.amazon.com/vpc/um die Amazon VPC zu erstellen, stellen Sie sicher, dass Sie sowohl DNS-Hostnamen aktivieren als auch DNS-Auflösung aktivieren auswählen. Weitere Informationen finden Sie unter VPC-Konfigurationsoptionen.

Fehler beim Löschen eines gemeinsamen VPC-Endpunkts

Das Löschen eines gemeinsamen VPC-Endpunkts ist für Konto-ID111122223333, gemeinsame VPC vpcId und Besitzerkonto-ID nicht zulässig. 555555555555

Mögliche Schritte:
  • Die Deaktivierung des Runtime Monitoring-Status des gemeinsam genutzten VPC-Teilnehmerkontos hat keine Auswirkungen auf die gemeinsame VPC-Endpunktrichtlinie und die Sicherheitsgruppe, die im Besitzerkonto vorhanden ist.

    Um den gemeinsamen VPC-Endpunkt und die Sicherheitsgruppe zu löschen, müssen Sie Runtime Monitoring oder den Status der automatisierten Agentenkonfiguration im gemeinsam genutzten VPC-Besitzerkonto deaktivieren.

  • Das gemeinsame VPC-Teilnehmerkonto kann den gemeinsamen VPC-Endpunkt und die Sicherheitsgruppe, die im gemeinsamen VPC-Besitzerkonto gehostet werden, nicht löschen.

Lokale EKS-Cluster

EKS-Add-Ons werden auf lokalen Outpost-Clustern nicht unterstützt.

Nicht umsetzbar.

Weitere Informationen finden Sie unter Amazon EKS on AWS Outposts.

Die Aktivierungsberechtigung für die EKS-Laufzeit-Überwachung wurde nicht erteilt

(kann zusätzliche Informationen anzeigen oder auch nicht)

  1. Wenn die zusätzlichen Informationen für dieses Problem verfügbar sind, beheben Sie die Ursache und folgen Sie dem nächsten Schritt.

  2. Schalten Sie die EKS-Laufzeit-Überwachung aus und dann wieder ein. Stellen Sie sicher, dass der GuardDuty Agent ebenfalls bereitgestellt wird, sei es automatisch GuardDuty oder manuell.

Die Bereitstellung der Ressourcen zur Aktivierung der EKS-Laufzeit-Überwachung wird ausgeführt

(kann zusätzliche Informationen anzeigen oder auch nicht)

Nicht umsetzbar.

Nachdem Sie die EKS-Laufzeit-Überwachung aktiviert haben, kann der Abdeckungsstatus Unhealthy bleiben, bis der Schritt der Ressourcenbereitstellung abgeschlossen ist. Der Abdeckungsstatus wird regelmäßig überwacht und aktualisiert.

Andere (jedes andere Problem)

Fehler aufgrund eines Autorisierungsfehlers

Schalten Sie die EKS-Laufzeit-Überwachung aus und dann wieder ein. Stellen Sie sicher, dass der GuardDuty Agent ebenfalls bereitgestellt wird, entweder automatisch GuardDuty oder manuell.

Fehler bei der Erstellung oder Aktualisierung des Addons

Fehlerbehebungsschritte

Problem mit dem EKS-Addon -InsufficientNumberOfReplicas: Das Add-on ist fehlerhaft, da es nicht über die gewünschte Anzahl von Replikaten verfügt.

  • Mithilfe der Problemmeldung können Sie die Ursache identifizieren und beheben. Sie können damit beginnen, Ihren Cluster zu beschreiben. Verwenden Sie dies beispielsweise, kubectl describe podsum die Hauptursache für den Pod-Ausfall zu ermitteln.

    Nachdem Sie die Ursache behoben haben, wiederholen Sie den Schritt (Erstellung oder Aktualisierung des Add-ons).

  • Wenn das Problem weiterhin besteht, überprüfen Sie, ob der VPC-Endpunkt für Ihren Amazon EKS-Cluster korrekt konfiguriert ist. Weitere Informationen finden Sie unter Validierung der VPC-Endpunktkonfiguration.

EKS Addon Issue —AdmissionRequestDenied: Der Zugangswebhook "validate.kyverno.svc-fail" hat die Anfrage verweigert: Richtlinie DaemonSet/amazon-guardduty/aws-guardduty-agent wegen Ressourcenverletzung:::... restrict-image-registries autogen-validate-registries

  1. Der Amazon EKS-Cluster oder der Sicherheitsadministrator müssen die Sicherheitsrichtlinie überprüfen, die das Addon-Update blockiert.

  2. Sie müssen entweder den Controller (webhook) deaktivieren oder den Controller die Anfragen von Amazon EKS annehmen lassen.

Problem mit dem EKS-Addon ConfigurationConflict — Beim Versuch, sich zu bewerben, wurden Konflikte festgestellt. Wird aufgrund des Konfliktlösungsmodus nicht fortgesetzt. Conflicts: DaemonSet.apps aws-guardduty-agent - .spec.template.spec.containers[name="aws-guardduty-agent"].image

Wenn Sie das Addon erstellen oder aktualisieren, geben Sie das OVERWRITE Konfliktlösungskennzeichen an. Dadurch werden möglicherweise alle Änderungen überschrieben, die mithilfe der Kubernetes-API direkt an den zugehörigen Ressourcen in Kubernetes vorgenommen wurden.

Sie können zuerst ein Amazon EKS-Add-on aus einem Cluster entfernen und dann erneut installieren.

Problem mit dem EKS-Addon - AccessDenied: priorityclasses.scheduling.k8s.io "aws-guardduty-agent.priorityclass" is forbidden: User "eks:addon-manager" cannot patch resource "priorityclasses" in API group "scheduling.k8s.io" at the cluster scope

Sie müssen die fehlende Berechtigung eks:addon-cluster-admin ClusterRoleBinding manuell hinzufügen. Fügen Sie Folgendes yaml hinzueks:addon-cluster-admin:

--- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eks:addon-cluster-admin subjects: - kind: User name: eks:addon-manager apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io ---

Sie können dies jetzt mit yaml dem folgenden Befehl auf Ihren Amazon EKS-Cluster anwenden:

kubectl apply -f eks-addon-cluster-admin.yaml

AddonUpdationFailed: EKSAddon Problem - AccessDenied: namespaces\"amazon-guardduty\"isforbidden:User\"eks:addon-manager\"cannotpatchresource\"namespaces\"inAPIgroup\"\"inthenamespace\"amazon-guardduty\"

Problem mit dem EKS-Addon - AccessDenied: admission webhook "validation.gatekeeper.sh" denied the request: [all-namespace-must-have-label-owner] All namespaces must have an `owner` label

Sie müssen entweder den Controller deaktivieren oder den Controller die Anfragen vom Amazon EKS-Cluster annehmen lassen.

Bevor Sie das Add-on erstellen oder aktualisieren, können Sie auch einen GuardDuty Namespace erstellen und ihn als owner kennzeichnen.

Problem mit dem EKS-Addon - AccessDenied: admission webhook "validation.gatekeeper.sh" denied the request: [all-namespace-must-have-label-owner] All namespaces must have an `owner` label

Sie müssen entweder den Controller deaktivieren oder den Controller die Anfragen vom Amazon EKS-Cluster annehmen lassen.

Bevor Sie das Add-on erstellen oder aktualisieren, können Sie auch einen GuardDuty Namespace erstellen und ihn als owner kennzeichnen.

Problem mit dem EKS-Addon - AccessDenied: admission webhook "validation.gatekeeper.sh" denied the request: [allowed-container-registries] container <aws-guardduty-agent> has an invalid image registry

Fügen Sie die Image-Registrierung für GuardDuty allowed-container-registries in Ihrem Admission Controller hinzu. Weitere Informationen finden Sie im ECR-Repository für EKS v1.8.1-eks-build.2 in. GuardDutyHosting-Agent für Amazon ECR Repositorys