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.
Datenbank-Prüfungsprotokollierung
Amazon-Redshift-Protokolle stellen Informationen zu Verbindungen und Benutzeraktivitäten in Ihrer Datenbank bereit. Diese Protokolle helfen Ihnen, die Datenbank zu Sicherheits- und Fehlerbehebungszwecken zu überwachen. Dieser Prozess wird häufig als Datenbankprüfung bezeichnet. Die Protokolle können an folgenden Orten gespeichert werden:
-
Amazon-S3-Buckets – Diese bieten Benutzern, die für die Überwachung der Aktivitäten in der Datenbank verantwortlich sind, Zugriff mit Datensicherheitsfunktionen.
-
Amazon CloudWatch — Mithilfe der integrierten Funktionen, z. B. Visualisierungsfunktionen und Einstellungsaktionen CloudWatch, können Sie Daten zur Auditprotokollierung anzeigen.
Anmerkung
SYS_CONNECTION_LOG sammelt Verbindungsprotokolldaten für Amazon Redshift Serverless. Beachten Sie, dass Audit-Logging-Daten für Amazon Redshift Serverless nicht an Protokolldateien gesendet werden können, sondern nur an. CloudWatch
Amazon-Redshift-Protokolle
Amazon Redshift protokolliert Informationen in den folgenden Protokolldateien:
-
Verbindungsprotokoll – Protokolliert Authentifizierungsversuche, Verbindungen und Verbindungstrennungen.
-
Benutzerprotokoll – Protokolliert Informationen über Änderungen an Datenbankbenutzerdefinitionen.
-
Benutzeraktivitätenprotokoll – Protokolliert jede Abfrage vor ihrer Ausführung in der Datenbank.
Die Verbindungs- und Benutzerprotokolle sind vor allem aus Zwecken der Sicherheit nützlich. Mit dem Verbindungsprotokoll können Sie Informationen über die Benutzer, die sich mit der Datenbank verbinden, und die zugehörigen Verbindungsinformationen überwachen. Diese Informationen können ihre IP-Adresse beim Stellen der Anfrage, die Art der verwendeten Authentifizierung und vieles mehr sein. Sie können das Benutzerprotokoll verwenden, um Änderungen der Definitionen von Datenbankbenutzern zu überwachen.
Das Benutzeraktivitätsprotokoll ist vor allem aus Zwecken der Fehlerbehebung nützlich. Es verfolgt Informationen über die Arten von Abfragen nach, die von Benutzern und vom System in der Datenbank ausgeführt werden.
Das Verbindungsprotokoll und das Benutzerprotokoll korrespondieren mit Informationen, die in den Systemtabellen in Ihrer Datenbank gespeichert sind. Sie können dieselben Informationen auch über die Systemtabellen erhalten. Die Protokolldateien bieten jedoch einen einfacheren Mechanismus für Abruf und Prüfung. Die Protokolldateien sind von Amazon-S3-Berechtigungen anstatt Datenbankberechtigungen abhängig, um Abfragen für die Tabellen ausführen zu können. Zusätzlich reduzieren Sie die Auswirkungen von Interaktionen auf die Datenbank, da Sie die Informationen in Protokolldateien anzeigen, statt Abfragen für die Systemtabellen auszuführen.
Anmerkung
Protokolldateien sind nicht so aktuell wie die Systemprotokolltabellen STL_USERLOG und STL_CONNECTION_LOG. Datensätze, die älter sind als, aber nicht einschließlich, der letzte Datensatz, der in Protokolldateien kopiert wurde.
Anmerkung
Für Amazon Redshift Serverless sammelt SYS_CONNECTION_LOG Verbindungsprotokolldaten. Wenn Sie Auditprotokollierungsdaten für Amazon Redshift Serverless sammeln, können diese nicht an Protokolldateien gesendet werden, sondern nur an. CloudWatch
Verbindungsprotokoll
Protokolliert Authentifizierungsversuche sowie Verbindungen und Verbindungstrennungen. Die folgende Tabelle beschreibt die Informationen im Verbindungsprotokoll. Weitere Informationen zu diesen Feldern finden Sie unter STL_CONNECTION_LOG im Datenbankentwicklerhandbuch zu Amazon Redshift. Weitere Informationen zu gesammelten Verbindungsprotokolldaten für Amazon Redshift Serverless finden Sie unter SYS_CONNECTION_LOG.
Spaltenname | Beschreibung |
---|---|
event | Verbindungs- oder Authentifizierungsereignis. |
recordtime | Uhrzeit, zu der das Ereignis aufgetreten ist. |
remotehost | Name oder IP-Adresse des Remote-Hosts. |
remoteport | Portnummer für den Remote-Host. |
pid | Die mit der Anweisung verbundene Prozess-ID. |
dbname | Datenbankname. |
username | Benutzername. |
authmethod | Authentifizierungsmethode. |
duration | Dauer der Verbindung in Mikrosekunden. |
sslversion | Secure Sockets Layer (SSL)-Version. |
sslcipher | SSL-Verschlüsselungsverfahren. |
mtu | Maximum Transmission Unit (MTU). |
sslcompression | SSL-Kompressionstyp. |
sslexpansion | SSL-Expansionstyp. |
iamauthguid | Die AWS Identity and Access Management (IAM-) Authentifizierungs-ID für die Anfrage. AWS CloudTrail Dies ist die Kennung für den GetClusterCredentialsAPI-Aufruf zur Erstellung der Anmeldeinformationen, die für eine bestimmte Verbindung verwendet werden. |
application_name | Der ursprüngliche oder aktualisierte Name der Anwendung für eine Sitzung. |
os_version | Die Version des Betriebssystems, das sich auf dem Clientcomputer befindet, der eine Verbindung zu Ihrem Amazon-Redshift-Cluster herstellt. |
driver_version | Die Version des ODBC- oder JDBC-Treibers, die von Ihren SQL-Client-Tools von Drittanbietern eine Verbindung zu Ihrem Amazon-Redshift-Cluster herstellt. |
plugin_name | Der Name des Plug-Ins, mit dem Sie eine Verbindung zu Ihrem Amazon-Redshift-Cluster herstellen. |
protocol_version | Die interne Protokollversion, die der Amazon-Redshift-Treiber beim Herstellen der Verbindung mit dem Server verwendet. |
sessionid | Der global eindeutige Bezeichner für die aktuelle Sitzung. |
Kompression | Der für die Verbindung verwendete Komprimierungsalgorithmus. |
Benutzerprotokoll
Zeichnet die Details der folgenden Änderungen an einem Datenbankbenutzer auf:
-
Benutzer erstellen
-
Benutzer entfernen
-
Benutzer ändern (umbenennen)
-
Benutzer ändern (Eigenschaften ändern)
Spaltenname | Beschreibung |
---|---|
userid | ID des von der Änderung betroffenen Benutzers. |
username | Benutzername des von der Änderung betroffenen Benutzers. |
oldusername | Bei einer Umbenennungsaktion der ursprüngliche Benutzername. Bei anderen Aktionen ist dieses Feld leer. |
Aktion | Erfolgte Aktion. Zulässige Werte:
|
usecreatedb | „True“ (1) zeigt an, dass der Benutzer über Berechtigungen zum Erstellen von Datenbanken verfügt. |
usesuper | „True“ (1) zeigt an, dass es sich um einen Superuser handelt. |
usecatupd | „True“ (1) zeigt an, dass der Benutzer Systemkataloge aktualisieren kann. |
valuntil | Ablaufdatum des Passworts. |
pid | Prozess-ID. |
xid | Transaktions-ID. |
recordtime | Zeitpunkt des Beginns der Abfrage, nach UTC. |
Fragen Sie die SYS_USERLOG-Systemansicht ab, um zusätzliche Informationen über Änderungen für Benutzer zu finden. Diese Ansicht enthält Protokolldaten von Amazon Redshift Serverless.
Benutzeraktivitätsprotokoll
Protokolliert jede Abfrage vor ihrer Ausführung in der Datenbank.
Spaltenname | Beschreibung |
---|---|
recordtime | Uhrzeit, zu der das Ereignis aufgetreten ist. |
db | Database name (Datenbankname). |
user | Benutzername. |
pid | Die mit der Anweisung verbundene Prozess-ID. |
userid | Benutzer-ID. |
xid | Transaktions-ID. |
query | Ein Präfix von LOG: gefolgt vom Text der Abfrage einschließlich neuer Zeilen. |
Audit-Logs und Amazon CloudWatch
Prüfungsprotokollierung ist in Amazon Redshift standardmäßig nicht aktiviert. Wenn Sie die Protokollierung in Ihrem Cluster aktivieren, exportiert Amazon Redshift Protokolle nach Amazon CloudWatch oder erstellt und lädt Protokolle auf Amazon S3 hoch, die Daten vom Zeitpunkt der Aktivierung der Audit-Protokollierung bis heute erfassen. Jedes Protokollierungsupdate stellt eine Fortsetzung der vorherigen Protokolle dar.
Die Audit-Protokollierung bei CloudWatch oder in Amazon S3 ist ein optionaler Prozess. Die Protokollierung in Systemtabellen ist nicht optional und erfolgt automatisch. Weitere Informationen zur Protokollierung in Systemtabellen finden Sie in der Systemtabellenreferenz im Datenbankentwicklerhandbuch zu Amazon Redshift.
Das Verbindungsprotokoll, das Benutzerprotokoll und das Benutzeraktivitätsprotokoll werden zusammen mithilfe der AWS Management Console, der Amazon Redshift API-Referenz oder der AWS Command Line Interface (AWS CLI) aktiviert. Im Fall des Benutzeraktivitätsprotokolls müssen Sie auch den enable_user_activity_logging
-Datenbankparameter aktivieren. Wenn Sie nur die Prüfprotokollierungsfunktion, aber nicht den zugehörigen Parameter aktivieren, protokolliert der Datenbank-Audit die Protokollinformationen nur für das Verbindungsprotokoll und das Benutzerprotokoll, nicht aber für das Protokoll der Benutzeraktivität. Der Parameter enable_user_activity_logging
ist standardmäßig nicht aktiviert (false
). Sie können ihn auf true
festlegen, um das Benutzeraktivitätsprotokoll zu aktivieren. Weitere Informationen finden Sie unter Amazon-Redshift-Parametergruppen.
Wenn Sie die Protokollierung aktivieren CloudWatch, exportiert Amazon Redshift Cluster-Verbindungs-, Benutzer- und Benutzeraktivitätsprotokolldaten in eine Amazon CloudWatch Logs-Protokollgruppe. Die Protokolldaten ändern sich in Bezug auf das Schema nicht. CloudWatch wurde für die Überwachung von Anwendungen entwickelt, und Sie können damit Echtzeitanalysen durchführen oder es so einrichten, dass Aktionen ausgeführt werden. Sie können Amazon CloudWatch Logs auch verwenden, um Ihre Protokolldatensätze in einem dauerhaften Speicher zu speichern.
Die Verwendung CloudWatch zum Anzeigen von Protokollen ist eine empfohlene Alternative zum Speichern von Protokolldateien in Amazon S3. Es ist kein großer Konfigurationsaufwand erforderlich, zudem kommt dies möglicherweise Ihren Überwachungsanforderungen zugute, insbesondere wenn Sie das Tool bereits zur Überwachung anderer Services und Anwendungen verwenden.
Gruppen protokollieren und Ereignisse in Amazon protokollieren CloudWatch
Nachdem Sie ausgewählt haben, welche Amazon Redshift Redshift-Protokolle exportiert werden sollen, können Sie Protokollereignisse in Amazon CloudWatch Logs überwachen. Eine neue Protokollgruppe für Amazon Redshift Serverless wird automatisch mit folgendem Präfix erstellt. log_type
steht dabei für den Protokolltyp.
/aws/redshift/cluster/<cluster_name>/<log_type>
Wenn Sie beispielsweise das Verbindungsprotokoll exportieren möchten, werden die Protokolldaten in der folgenden Protokollgruppe gespeichert.
/aws/redshift/cluster/cluster1/connectionlog
Protokollereignisse werden mithilfe des Protokollstreams in eine Protokollgruppe exportiert. Um in Protokollereignissen für Ihren serverlosen Endpunkt nach Informationen zu suchen, verwenden Sie die Amazon CloudWatch Logs-Konsole AWS CLI, die oder die Amazon CloudWatch Logs-API. Weitere Informationen zum Suchen und Filtern von Protokolldaten finden Sie unter Erstellen von Metriken aus Protokollereignissen mithilfe von Filtern.
In CloudWatch können Sie Ihre Protokolldaten mit einer Abfragesyntax durchsuchen, die für Granularität und Flexibilität sorgt. Weitere Informationen finden Sie unter CloudWatch Logs Insights-Abfragesyntax.
Migration zu Amazon CloudWatch Audit Logging
In allen Fällen, in denen Sie Protokolle an Amazon S3 senden und die Konfiguration ändern, z. B. um Protokolle an zu senden, sind Protokolle CloudWatch, die in Amazon S3 verbleiben, davon nicht betroffen. Sie können die Protokolldaten weiterhin in den Amazon-S3-Buckets abfragen, in denen sie sich befinden.
Protokolldateien in Amazon S3
Die Anzahl und die Größe der Amazon-Redshift-Protokolldateien in Amazon S3 ist stark von der Aktivität in Ihrem Cluster abhängig. Wenn der Cluster aktiv ist und eine große Zahl von Protokollen generiert, erstellt Amazon Redshift die Protokolldateien möglicherweise häufiger. Sie erhalten möglicherweise eine Reihe von Protokolldateien für dieselbe Art von Aktivität, beispielsweise mehrere Verbindungsprotokolle innerhalb einer Stunde.
Wenn Amazon Redshift Amazon S3 zum Speichern von Protokollen nutzt, fallen Kosten für den Speicher an, den Sie in Amazon S3 nutzen. Bevor Sie die Protokollierung in Amazon S3 konfigurieren, sollten Sie einplanen, wie lange Sie die Protokolldateien speichern müssen. Finden Sie in diesem Zusammenhang heraus, wann die Protokolldateien Ihren Prüfungsanforderungen entsprechend gelöscht oder archiviert werden können. Der von Ihnen erstellte Plan ist stark von der Art der gespeicherten Daten abhängig, beispielsweise Daten, die Compliance- oder regulatorischen Anforderungen unterliegen. Weitere Informationen über die Amazon-S3-Preise finden Sie unter Amazon Simple Storage Service (S3) – Preise
Einschränkungen bei der Aktivierung der Protokollierung in Amazon S3
Für die Audit-Protokollierung gelten folgende Einschränkungen:
-
Derzeit können Sie nur die Verschlüsselung (AES-256) der von Amazon S3 verwalteten Schlüssel (SSE-S3) verwenden.
-
Für die Amazon-S3-Buckets muss die S3-Objektsperre-Funktion deaktiviert sein.
Bucket-Berechtigungen für die Amazon-Redshift-Prüfungsprotokollierung
Wenn Sie die Protokollierung in Amazon S3 aktivieren, sammelt Amazon Redshift Protokollinformationen und lädt sie in Protokolldateien hoch, die in Amazon S3 gespeichert werden. Sie können einen vorhandenen oder einen neuen Bucket verwenden. Amazon Redshift setzt die folgenden IAM-Berechtigungen für den Bucket voraus:
-
s3:GetBucketAcl
Der Service erfordert Leseberechtigungen für den Amazon S3 Bucket, um den Bucket-Eigentümer identifizieren zu können. -
s3:PutObject
Der Service benötigt Put-Objekt-Berechtigungen, um die Protokolle hochladen zu können. Außerdem muss der Benutzer oder die IAM-Rolle, die die Protokollierung aktiviert, dies3:PutObject
-Berechtigung für den Amazon-S3-Bucket besitzen. Bei jedem Hochladen von Protokollen legt der Service, ob der aktuelle Bucket-Eigentümer mit dem Bucket-Eigentümer zum Zeitpunkt der Aktivierung der Protokollierung übereinstimmt. Wenn diese Besitzer nicht übereinstimmen, erhalten Sie einen Fehler.
Wenn Sie beim Aktivieren der Prüfungsprotokollierung die Option zum Erstellen eines neuen Buckets auswählen, werden die korrekten Berechtigungen für ihn angewendet. Wenn Sie Ihren eigenen Bucket in Amazon S3 erstellen oder einen vorhandenen Bucket verwenden, müssen Sie jedoch eine Bucket-Richtlinie hinzufügen, die den Namen des Buckets enthält. Protokolle werden mit Service-Prinzipal-Anmeldeinformationen geliefert. Für die meisten AWS-Regionen fügen Sie den Redshift-Serviceprinzipalnamen hinzu,. redshift.amazonaws.com
Die Bucket-Richtlinie verwendet das folgende Format. ServiceName
und BucketName
sind Platzhalter für Ihre eigenen Werte. Geben Sie auch die zugehörigen Aktionen und Ressourcen in der Bucket-Richtlinie an.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Put bucket policy needed for audit logging", "Effect": "Allow", "Principal": { "Service": "ServiceName" }, "Action": [ "s3:PutObject", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::BucketName", "arn:aws:s3:::BucketName/*" ] } ] }
Im folgenden Beispiel sehen Sie eine Bucket-Richtlinie für die Region USA Ost (Nord-Virginia) und einen Bucket namens AuditLogs
.
{ "Version": "2008-10-17", "Statement": [ { "Sid": "Put bucket policy needed for audit logging", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::AuditLogs", "arn:aws:s3:::AuditLogs/*" ] } ] }
Regionen, die standardmäßig nicht aktiviert sind, auch als „Opt-In-Regionen“ bezeichnet, benötigen einen regionsspezifischen Service-Prinzipal-Namen. Für diese enthält der Service-Prinzipal-Name die Region im Format redshift.
. Zum Beispiel region
.amazonaws.com.rproxy.goskope.comredshift.ap-east-1.amazonaws.com
für die Region Asien-Pazifik (Hongkong). Eine Liste der Regionen, die standardmäßig nicht aktiviert sind, finden Sie unter Verwalten von AWS-Regionen in der Allgemeine AWS-Referenz.
Anmerkung
Der regionsspezifische Service-Prinzipal-Name entspricht der Region, in der sich der Cluster befindet.
Bewährte Methoden für Protokolldateien
Wenn Redshift Protokolldateien auf Amazon S3 hochlädt, können große Dateien in Teilen hochgeladen werden. Wenn ein mehrteiliger Upload nicht erfolgreich ist, können Teile einer Datei im Amazon S3 Bucket verbleiben. Dies kann zu zusätzlichen Speicherkosten führen. Daher ist es wichtig zu verstehen, was passiert, wenn ein mehrteiliger Upload fehlschlägt. Eine ausführliche Erklärung zum mehrteiligen Upload für Prüfungsprotokolle finden Sie unter Hochladen und Kopieren von Objekten mit mehrteiligen Uploads und Abbrechen eines mehrteiligen Uploads.
Weitere Informationen zum Erstellen von S3 Buckets und zum Hinzufügen von Bucket-Richtlinien finden Sie unter Erstellen eines Buckets und Bearbeiten von Bucket-Berechtigungen im Amazon-Simple-Storage-Service-Benutzerhandbuch.
Bucket-Struktur für die Amazon-Redshift-Prüfungsprotokollierung
Standardmäßig organisiert Amazon Redshift die Protokolldateien im Amazon-S3-Bucket unter Verwendung der folgenden Bucket- und Objektstruktur:
AWSLogs/
AccountID
/ServiceName
/Region
/Year
/Month
/Day
/AccountID_ServiceName_Region_ClusterName_LogType_Timestamp.gz
Ein Beispiel ist: AWSLogs/123456789012/redshift/us-east-1/2013/10/29/123456789012_redshift_us-east-1_mycluster_userlog_2013-10-29T18:01.gz
Wenn Sie ein Amazon-S3-Schlüsselpräfix bereitstellen, stellen Sie das Präfix an den Anfang des Schlüssels.
Wenn Sie beispielsweise ein Präfix oder eigenes Präfix angeben: myprefix/AWSLogs/123456789012/redshift/us-east-1/2013/10/29/123456789012_redshift_us-east-1_mycluster_userlog_2013-10-29T18:01.gz
Das Amazon-S3-Schlüsselpräfix darf nicht mehr als 512 Zeichen enthalten. Es darf keine Leerzeichen ( ), doppelten Anführungszeichen (“), einzelne Anführungszeichen (‘) oder Backslashes (\)enthalten. Einige Sonderzeichen und Steuerzeichen sind ebenfalls nicht zulässig. Die Hexadezimalcodes für diese Zeichen sind:
-
x00 bis x20
-
x 22 %
-
x 27 %
-
x5c
-
x7f oder höher
Überlegungen zur Auditprotokollierung in Amazon S3
Die Amazon-Redshift-Prüfungsprotokollierung kann aus folgenden Gründen unterbrochen werden:
-
Amazon Redshift verfügt nicht über die Berechtigung, Protokolle in den Amazon S3 Bucket hochzuladen. Überprüfen Sie, ob der Bucket mit der richtigen IAM-Richtlinie konfiguriert wurde. Weitere Informationen finden Sie unter Bucket-Berechtigungen für die Amazon-Redshift-Prüfungsprotokollierung.
-
Der Bucket-Eigentümer hat gewechselt. Amazon Redshift überprüft beim Hochladen von Protokollen, ob der Bucket-Eigentümer derselbe wie zum Zeitpunkt der Aktivierung der Protokollierung ist. Wenn sich der Bucket-Eigentümer geändert hat, kann Amazon Redshift keine Protokolle hochladen, bis Sie einen anderen Bucket für die Prüfungsprotokollierung konfiguriert haben.
-
Der Bucket kann nicht gefunden werden. Wenn der Bucket in Amazon S3 gelöscht wird, kann Amazon Redshift keine Protokolle hochladen. Sie müssen den Bucket entweder neu erstellen oder Amazon Redshift so konfigurieren, dass Protokolle in einen anderen Bucket hochgeladen werden.
API-Aufrufe mit AWS CloudTrail
Amazon Redshift ist in einen Service integriert AWS CloudTrail, der eine Aufzeichnung der Aktionen bereitstellt, die von einem Benutzer, einer Rolle oder einem AWS Service in Amazon Redshift ausgeführt wurden. CloudTrail erfasst alle API-Aufrufe für Amazon Redshift als Ereignisse. Weitere Informationen zur Amazon Redshift Redshift-Integration mit finden Sie AWS CloudTrail unter Logging with CloudTrail.
Sie können die Audit-Protokollierung der Amazon Redshift-Datenbank CloudTrail unabhängig oder zusätzlich zur Amazon Redshift Redshift-Datenbank verwenden.
Weitere Informationen CloudTrail dazu finden Sie im AWS CloudTrail Benutzerhandbuch.