Protokollieren von RDS-Daten-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 RDS-Daten-API-Aufrufen mit AWS CloudTrail

Die RDS-Daten-API (Daten-API) ist in integriert, einem Service AWS CloudTrail, der die Aktionen eines Benutzers, einer Rolle oder eines - AWS Services in der Daten-API aufzeichnet. CloudTrail erfasst alle API-Aufrufe für die Daten-API als Ereignisse, einschließlich Aufrufen von der Amazon-RDS-Konsole und von Code-Aufrufen an Daten-API-Operationen. Wenn Sie einen Trail erstellen, können Sie die kontinuierliche Bereitstellung von CloudTrail Ereignissen an einen Amazon S3-Bucket aktivieren, einschließlich Ereignissen für die Daten-API. Anhand der von CloudTrailgesammelten Daten können Sie viele 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 zu CloudTrailfinden Sie im AWS CloudTrail -Benutzerhandbuch.

Arbeiten mit Data API-Informationen in CloudTrail

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

Erstellen Sie für eine fortlaufende Aufzeichnung der Ereignisse in Ihrem AWS Konto, einschließlich Ereignissen für die Daten-API, einen Trail. Ein Trail ermöglicht CloudTrail die Bereitstellung von Protokolldateien an einen Amazon 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 in der - AWS Partition und stellt die Protokolldateien in dem von Ihnen angegebenen Amazon S3-Bucket bereit. Darüber hinaus können Sie andere - AWS Services konfigurieren, um die in den CloudTrail Protokollen erfassten Ereignisdaten weiter zu analysieren und entsprechend zu agieren. Weitere Informationen finden Sie in folgenden Themen im AWS CloudTrail -Benutzerhandbuch:

Alle Daten-API-Operationen werden von protokolliert CloudTrail und in der Amazon-RDS-Datenservice-API-Referenz dokumentiert. Aufrufe der ExecuteStatement Operationen BatchExecuteStatement, CommitTransaction, und erzeugen beispielsweise Einträge in den BeginTransaction 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 Anforderung von einem anderen - AWS Service gestellt wurde.

Weitere Informationen finden Sie unter CloudTrail -Element userIdentity.

Ein- 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. Ereignisdaten geben den Datenbanknamen, den Schemanamen oder die SQL-Anweisungen in Anforderungen an die Daten-API nicht preis. Wenn Sie jedoch wissen, welcher Benutzer zu einem bestimmten Zeitpunkt eine Art von Aufruf gegen einen bestimmten DB-Cluster getätigt hat, kann dies dazu beitragen, ungewöhnliche Zugriffsmuster zu erkennen.

Einschließen von Daten-API-Ereignissen in einen - AWS CloudTrail Trail

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

Sie können die - CloudTrail Konsole oder CloudTrail -API-Operationen verwendenAWS 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 unter Protokollieren von Datenereignissen mit AWS Management Console im AWS CloudTrail -Benutzerhandbuch.

Führen Sie mithilfe der 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 in -DB-Clustern zu protokollieren, geben Sie AWS::RDS::DBCluster für den Ressourcentyp an. Im folgenden Beispiel werden alle Daten-API-Ereignisse auf -DB-Clustern protokolliert. Weitere Informationen finden Sie unter Protokollieren von Datenereignissen mit 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 Ereignisselektoren konfigurieren, um zusätzlich nach den resources.ARN Feldern readOnly, eventName, und zu filtern. Weitere Informationen zu diesen Feldern finden Sie unter AdvancedFieldSelector.

Ausschließen von Daten-API-Ereignissen aus einem - AWS CloudTrail Trail (Aurora Serverless v1nur )

Für sind Aurora Serverless v1Daten-API-Ereignisse 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, möchten Sie diese Ereignisse möglicherweise aus 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 die -PutEventSelectorsOperation. Wenn Sie erweiterte Ereignisselektoren verwenden, können Sie Daten-API-Ereignisse ausschließen, indem Sie das eventSource Feld nicht auf setzenrdsdata.amazonaws.com. Wenn Sie grundlegende Ereignisselektoren verwenden, können Sie Daten-API-Ereignisse ausschließen, indem Sie den Wert des Attributs ExcludeManagementEventSources auf setzenrdsdata.amazonaws.com. Weitere Informationen finden Sie unter Protokollieren von Ereignissen mit AWS Command Line Interface im AWS CloudTrail -Benutzerhandbuch.

Warnung

Das Ausschließen von Daten-API-Ereignissen aus einem CloudTrail Protokoll kann Daten-API-Aktionen verdecken. 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 API ausschließen, wird der resultierende CloudTrail PutEventSelectors API-Vorgang auch in Ihren CloudTrail Protokollen protokolliert. Wenn Daten-API-Ereignisse nicht in Ihren CloudTrail Protokollen angezeigt werden, 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 Bereitstellung von Ereignissen als Protokolldateien an einen von Ihnen angegebenen Amazon S3-Bucket ermöglicht. CloudTrail Protokolldateien enthalten einen oder mehrere Protokolleinträge. Ein Ereignis stellt eine einzelne Anfrage aus einer beliebigen Quelle dar und enthält Informationen über die angeforderte Aktion, das Datum und die Uhrzeit der Aktion, Anforderungsparameter usw. CloudTrail Protokolldateien sind kein geordnetes Stacktrace der öffentlichen API-Aufrufe und erscheinen daher nicht in einer bestimmten Reihenfolge.

Aurora PostgreSQL Serverless v2 und bereitgestellt

Das folgende Beispiel zeigt einen - CloudTrail Protokolleintrag, der die -ExecuteStatementOperation für Aurora PostgreSQL Serverless v2 und bereitgestellte Datenbanken demonstriert. Für diese Datenbanken sind alle Daten-API-Ereignisse Datenereignisse, bei denen 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 CloudTrail Beispielprotokolleintrag für angezeigt wirdAurora Serverless v1. Für sind alle Ereignisse VerwaltungsereignisseAurora Serverless v1, bei denen die Ereignisquelle rdsdata.amazonaws.com und der Ereignistyp istAwsApiCall.

{ "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" }