Protokollieren von Amazon RDS Data API-Aufrufen mit AWS CloudTrail - Amazon Aurora

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.

Protokollieren von Amazon RDS Data API-Aufrufen mit AWS CloudTrail

Die RDS-Daten-API (Daten-API) ist in einen Dienst integriert AWS CloudTrail, der eine Aufzeichnung der von einem Benutzer, einer Rolle oder einem AWS Dienst ausgeführten Aktionen in der Daten-API bereitstellt. CloudTrail erfasst alle API-Aufrufe für Data API als Ereignisse, einschließlich Aufrufe von der Amazon RDS-Konsole und von Codeaufrufen für Daten-API-Operationen. Wenn Sie einen Trail erstellen, können Sie die kontinuierliche Bereitstellung von CloudTrail Ereignissen an einen Amazon S3 S3-Bucket aktivieren, einschließlich Ereignissen für die Daten-API. Anhand der von CloudTrail gesammelten Daten können Sie eine Vielzahl von Informationen ermitteln. Diese Informationen umfassen die Anforderung an Data API, die IP-Adresse, von der die Anforderung gestellt wurde, wer die Anforderung gestellt hat, wann sie gestellt wurde, und zusätzliche Details.

Weitere Informationen CloudTrail dazu finden Sie im AWS CloudTrail Benutzerhandbuch.

Arbeiten mit Data API-Informationen in CloudTrail

CloudTrail ist in Ihrem AWS Konto aktiviert, wenn Sie das Konto erstellen. Wenn unterstützte Aktivitäten (Verwaltungsereignisse) in der Daten-API auftreten, wird diese Aktivität zusammen mit anderen AWS Serviceereignissen im Ereignisverlauf in einem CloudTrail Ereignis aufgezeichnet. Sie können aktuelle Verwaltungsereignisse in Ihrem AWS Konto anzeigen, suchen und herunterladen. Weitere Informationen finden Sie im AWS CloudTrail Benutzerhandbuch unter Arbeiten mit dem CloudTrail Ereignisverlauf.

Für eine fortlaufende Aufzeichnung der Ereignisse in Ihrem AWS Konto, einschließlich der Ereignisse für die Daten-API, erstellen Sie einen Trail. Ein Trail ermöglicht CloudTrail die Übermittlung von Protokolldateien an einen Amazon S3 S3-Bucket. Wenn Sie einen Trail in der Konsole erstellen, gilt der Trail standardmäßig für alle AWS Regionen. Der Trail protokolliert Ereignisse aus allen AWS Regionen der AWS Partition und übermittelt die Protokolldateien an den von Ihnen angegebenen Amazon S3 S3-Bucket. Darüber hinaus können Sie andere AWS Dienste konfigurieren, um die in den CloudTrail Protokollen gesammelten Ereignisdaten weiter zu analysieren und darauf zu reagieren. Weitere Informationen finden Sie in folgenden Themen im AWS CloudTrail -Benutzerhandbuch:

Alle Daten-API-Operationen werden von der Amazon RDS-Datenservice-API-Referenz protokolliert CloudTrail und dokumentiert. Beispielsweise generieren Aufrufe der ExecuteStatement Operationen BatchExecuteStatementBeginTransaction,CommitTransaction, und Einträge in den CloudTrail Protokolldateien.

Jeder Ereignis- oder Protokolleintrag enthält Informationen zu dem Benutzer, der die Anforderung generiert hat. Die Identitätsinformationen unterstützen Sie bei der Ermittlung der folgenden Punkte:

  • Ob die Anforderung mit Root- oder -Benutzeranmeldeinformationen ausgeführt wurde.

  • Gibt an, ob die Anforderung mit temporären Sicherheitsanmeldeinformationen für eine Rolle oder einen Verbundbenutzer gesendet wurde.

  • Ob die Anfrage von einem anderen AWS Dienst gestellt wurde.

Weitere Informationen finden Sie unter CloudTrail -Element userIdentity.

Einbeziehen und Ausschließen von Daten-API-Ereignissen aus einem AWS CloudTrail Trail

Die meisten Daten-API-Benutzer verlassen sich auf die Ereignisse in einem AWS CloudTrail Trail, um eine Aufzeichnung der Daten-API-Operationen bereitzustellen. In den Ereignisdaten werden der Datenbankname, der Schemaname oder die SQL-Anweisungen in Anfragen an die Daten-API nicht preisgegeben. Wenn Sie jedoch wissen, welcher Benutzer zu einem bestimmten Zeitpunkt eine Art von Aufruf für ein bestimmtes DB-Cluster getätigt hat, kann dies dazu beitragen, anomale Zugriffsmuster zu erkennen.

Einbeziehen von Daten-API-Ereignissen in einen Trail AWS CloudTrail

Für Aurora PostgreSQL Serverless v2 und bereitgestellte Datenbanken werden die folgenden Daten-API-Operationen als Datenereignisse protokolliert. AWS CloudTrail Datenereignisse sind API-Operationen mit hohem Volumen auf Datenebene, die CloudTrail standardmäßig nicht protokolliert werden. Für Datenereignisse werden zusätzliche Gebühren fällig. Informationen zur Preisgestaltung finden Sie unter CloudTrail AWS CloudTrail Preisgestaltung.

Sie können die CloudTrail Konsolen- oder CloudTrail API-Operationen verwenden AWS CLI, um diese Daten-API-Operationen zu protokollieren. Wählen Sie in der CloudTrail Konsole RDS Data API — DB Cluster als Datenereignistyp aus. Weitere Informationen finden Sie AWS Management Console im AWS CloudTrail Benutzerhandbuch unter Protokollieren von Datenereignissen mit dem.

Führen Sie mit dem den aws cloudtrail put-event-selectors Befehl aus AWS CLI, um diese Daten-API-Operationen für Ihren Trail zu protokollieren. Um alle Daten-API-Ereignisse auf DB-Clustern zu protokollieren, geben Sie AWS::RDS::DBCluster den Ressourcentyp an. Im folgenden Beispiel werden alle Daten-API-Ereignisse auf DB-Clustern protokolliert. Weitere Informationen finden Sie unter Protokollieren von Datenereignissen mit dem AWS Command Line Interface im AWS CloudTrail Benutzerhandbuch.

aws cloudtrail put-event-selectors --trail-name trail_name --advanced-event-selectors \ '{ "Name": "RDS Data API Selector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::RDS::DBCluster" ] } ] }'

Sie können erweiterte Event-Selektoren so konfigurieren, dass sie zusätzlich nach den resources.ARN FeldernreadOnly, eventName, und filtern. Weitere Informationen zu diesen Feldern finden Sie unter AdvancedFieldSelector.

Daten-API-Ereignisse von einem AWS CloudTrail Trail ausschließen (Aurora Serverless v1nur)

Denn Aurora Serverless v1 Daten-API-Ereignisse sind Verwaltungsereignisse. Standardmäßig sind alle Daten-API-Ereignisse in einem AWS CloudTrail Trail enthalten. Da die Daten-API jedoch eine große Anzahl von Ereignissen generieren kann, sollten Sie diese Ereignisse möglicherweise von Ihrem CloudTrail Trail ausschließen. Die Einstellung Amazon RDS-Daten-API-Ereignisse ausschließen schließt alle Daten-API-Ereignisse aus dem Trail aus. Sie können bestimmte Daten-API-Ereignisse nicht ausschließen.

Zum Ausschließen von Daten-API-Ereignissen aus einem Trail führen Sie die folgenden Schritte aus:

  • Wählen Sie in der CloudTrail Konsole die Einstellung Amazon RDS-Daten-API-Ereignisse ausschließen, wenn Sie einen Trail erstellen oder einen Trail aktualisieren.

  • Verwenden Sie in der CloudTrail API den PutEventSelectorsVorgang. Wenn Sie erweiterte Event-Selektoren verwenden, können Sie Daten-API-Ereignisse ausschließen, indem Sie das eventSource Feld auf ungleich setzen. rdsdata.amazonaws.com Wenn Sie einfache Event-Selektoren verwenden, können Sie Data-API-Ereignisse ausschließen, indem Sie den Wert des ExcludeManagementEventSources Attributs auf setzen. rdsdata.amazonaws.com Weitere Informationen finden Sie unter Protokollieren von Ereignissen mit dem AWS Command Line Interface im AWS CloudTrail Benutzerhandbuch.

Warnung

Das Ausschließen von Daten-API-Ereignissen aus einem CloudTrail Protokoll kann Daten-API-Aktionen verschleiern. Seien Sie vorsichtig, wenn Sie Prinzipalen die cloudtrail:PutEventSelectors-Berechtigung erteilen, die zum Ausführen dieses Vorgangs erforderlich ist.

Sie können diesen Ausschluss jederzeit deaktivieren, indem Sie die Konsoleneinstellung oder die Ereignisselektoren für einen Trail ändern. Der Trail beginnt dann mit der Aufzeichnung von Daten-API-Ereignissen. Er kann jedoch keine Daten-API-Ereignisse wiederherstellen, die aufgetreten sind, während der Ausschluss wirksam war.

Wenn Sie Daten-API-Ereignisse mithilfe der Konsole oder der API ausschließen, wird der daraus resultierende CloudTrail PutEventSelectors API-Vorgang auch in Ihren CloudTrail Protokollen protokolliert. Wenn Daten-API-Ereignisse nicht in Ihren CloudTrail Protokollen erscheinen, suchen Sie nach einem PutEventSelectors Ereignis, bei dem das ExcludeManagementEventSources Attribut auf gesetzt istrdsdata.amazonaws.com.

Weitere Informationen finden Sie unter Protokollieren von Managementereignissen für Trails im AWS CloudTrail -Benutzerhandbuch.

Grundlegendes zu Data API-Protokolldateieinträgen

Ein Trail ist eine Konfiguration, die die Übertragung von Ereignissen als Protokolldateien an einen von Ihnen angegebenen Amazon S3 S3-Bucket ermöglicht. CloudTrail Protokolldateien enthalten einen oder mehrere Protokolleinträge. Ein Ereignis stellt eine einzelne Anforderung aus einer beliebigen Quelle dar und enthält Informationen über die angeforderte Aktion, Datum und Uhrzeit der Aktion, Anforderungsparameter usw. CloudTrail Protokolldateien sind kein geordneter Stack-Trace der öffentlichen API-Aufrufe, sodass sie nicht in einer bestimmten Reihenfolge angezeigt werden.

Aurora PostgreSQL Serverless v2 und bereitgestellt

Das folgende Beispiel zeigt einen CloudTrail Protokolleintrag, der den ExecuteStatement Betrieb für Aurora PostgreSQL Serverless v2 und bereitgestellte Datenbanken demonstriert. Für diese Datenbanken sind alle Daten-API-Ereignisse Datenereignisse, wobei die Ereignisquelle rdsdataapi.amazonaws.com und der Ereignistyp Rds Data Service ist.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/johndoe", "accountId": "123456789012", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "userName": "johndoe" }, "eventTime": "2019-12-18T00:49:34Z", "eventSource": "rdsdataapi.amazonaws.com", "eventName": "ExecuteStatement", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "aws-cli/1.16.102 Python/3.7.2 Windows/10 botocore/1.12.92", "requestParameters": { "continueAfterTimeout": false, "database": "**********", "includeResultMetadata": false, "parameters": [], "resourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-database-1", "schema": "**********", "secretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:dataapisecret-ABC123", "sql": "**********" }, "responseElements": null, "requestID": "6ba9a36e-b3aa-4ca8-9a2e-15a9eada988e", "eventID": "a2c7a357-ee8e-4755-a0d0-aed11ed4253a", "eventType": "Rds Data Service", "recipientAccountId": "123456789012" }

Aurora Serverless v1

Das folgende Beispiel zeigt, wie der vorherige Beispielprotokolleintrag für angezeigt wird. CloudTrail Aurora Serverless v1 Denn alle Ereignisse sind VerwaltungsereignisseAurora Serverless v1, bei denen die Ereignisquelle rdsdata.amazonaws.com und der Ereignistyp lautet. AwsApiCall

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/johndoe", "accountId": "123456789012", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "userName": "johndoe" }, "eventTime": "2019-12-18T00:49:34Z", "eventSource": "rdsdata.amazonaws.com", "eventName": "ExecuteStatement", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "aws-cli/1.16.102 Python/3.7.2 Windows/10 botocore/1.12.92", "requestParameters": { "continueAfterTimeout": false, "database": "**********", "includeResultMetadata": false, "parameters": [], "resourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-database-1", "schema": "**********", "secretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:dataapisecret-ABC123", "sql": "**********" }, "responseElements": null, "requestID": "6ba9a36e-b3aa-4ca8-9a2e-15a9eada988e", "eventID": "a2c7a357-ee8e-4755-a0d0-aed11ed4253a", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }