Amazon-EC2-API-Aufrufe mit AWS CloudTrail protokollieren
Die Amazon-EC2-API ist in AWS CloudTrail integriert, einem Service, der eine Aufzeichnung der von einem Benutzer, einer Rolle oder einem AWS-Service durchgeführten Aktionen bereitstellt. CloudTrail erfasst alle Amazon-EC2-API-Aufrufe als Ereignisse. Die erfassten Aufrufe umfassen von der Konsole ausgeführte Aufrufe. Anhand der von CloudTrail gesammelten Informationen können Sie feststellen, welche Anfrage an die Amazon-EC2-API gestellt wurde, von welcher IP-Adresse aus die Anfrage gestellt wurde und wann sie gestellt wurde.
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 Anfrage mit Anmeldeinformationen des Root-Benutzers oder des Benutzers gestellt wurde.
-
Die Anforderung wurde im Namen eines IAM-Identity-Center-Benutzers erstellt.
-
Gibt an, ob die Anforderung mit temporären Sicherheitsanmeldeinformationen für eine Rolle oder einen Verbundbenutzer gesendet wurde.
-
Ob die Anforderung aus einem anderen gesendet wurde AWS-Service.
Bei Kontoerstellung ist CloudTrail standardmäßig in AWS-Konto aktiviert und Sie haben automatisch Zugriff auf den CloudTrail-Ereignisverlauf. Der CloudTrail-Ereignisverlauf stellt eine anzeigbare, durchsuchbare, herunterladbare und unveränderliche Aufzeichnung der Verwaltungsereignisse der letzten 90 Tage in einer AWS-Region bereit. Weitere Informationen finden Sie unter Arbeiten mit dem CloudTrail-Ereignisverlauf im AWS CloudTrail-Benutzerhandbuch. Für die Anzeige des Eventverlaufs fallen keine CloudTrail-Gebühren an.
Erstellen Sie einen Trail oder einen Ereignisdatenspeicher in CloudTrail Lake, um Aktivitäten und Ereignisse in Ihrer AWS-Konto über 90 Tage hinaus fortlaufend aufzuzeichnen.
- CloudTrail-Trails
-
Ein Trail ermöglicht es CloudTrail, Protokolldateien in einem Amazon-S3-Bucket bereitzustellen. Trails, die mit der AWS-Managementkonsole erstellt wurden, sind multiregional. Sie können mithilfe von AWS CLI einen Einzel-Region- oder einen Multi-Region-Trail erstellen. Das Erstellen eines Multi-Region-Trails wird empfohlen, da Sie so die Aktivitäten in allen AWS-Regionen in Ihrem Konto erfassen. Wenn Sie einen Einzel-Region-Trail erstellen, können Sie nur die Ereignisse anzeigen, die im AWS-Region des Trails protokolliert wurden. Weitere Informationen zu Trails finden Sie unter Erstellen eines Trails für Ihr AWS-Konto und Erstellen eines Trails für eine Organisation im AWS CloudTrail-Benutzerhandbuch.
Sie können eine Kopie Ihrer laufenden Verwaltungsereignisse kostenlos von CloudTrail an Ihren Amazon-S3-Bucket senden, indem Sie einen Trail erstellen. Es fallen jedoch Speichergebühren für Amazon S3 an. Weitere Informationen zu CloudTrail-Preisen finden Sie unter AWS CloudTrail – Preise
. Informationen zu Amazon-S3-Preisen finden Sie unter Amazon S3 – Preise . - CloudTrail-Lake-Ereignisdatenspeicher
-
Mit CloudTrail Lake können Sie SQL-basierte Abfragen zu Ihren Ereignissen ausführen. CloudTrail Lake konvertiert vorhandene Ereignisse im zeilenbasierten JSON-Format in das Apache ORC
-Format. ORC ist ein spaltenförmiges Speicherformat, das für den schnellen Abruf von Daten optimiert ist. Die Ereignisse werden in Ereignisdatenspeichern zusammengefasst, bei denen es sich um unveränderliche Sammlungen von Ereignissen handelt, die auf Kriterien basieren, die Sie mit Hilfe von erweiterten Ereignisselektoren auswählen. Die Selektoren, die Sie auf einen Ereignisdatenspeicher anwenden, steuern, welche Ereignisse bestehen bleiben und für Sie zur Abfrage verfügbar sind. Weitere Informationen zu CloudTrail Lake finden Sie unter Arbeiten mit AWS CloudTrail-Lake im AWS CloudTrail-Benutzerhandbuch. Für CloudTrail-Lake-Ereignisdatenspeicher und -abfragen fallen Gebühren an. Beim Erstellen eines Ereignisdatenspeichers wählen Sie die Preisoption aus, die für den Ereignisdatenspeicher genutzt werden soll. Die Preisoption bestimmt die Kosten für die Erfassung und Speicherung von Ereignissen sowie die standardmäßige und maximale Aufbewahrungsdauer für den Ereignisdatenspeicher. Weitere Informationen zu CloudTrail-Preisen finden Sie unter AWS CloudTrail – Preise
.
Amazon-EC2-API-Verwaltungsereignisse in CloudTrail
Verwaltungsereignisse liefern Informationen zu Verwaltungsvorgängen, die für Ressourcen in Ihrem AWS-Konto ausgeführt werden. Sie werden auch als Vorgänge auf Steuerebene bezeichnet. CloudTrail protokolliert standardmäßig Verwaltungsereignisse.
Alle Amazon-EC2-API-Aktionen werden als Verwaltungsereignisse protokolliert. Eine Liste der API-Aktionen, die von CloudTrail protokolliert werden, finden Sie in der Amazon-EC2-API-Referenz. Beispielsweise werden Aufrufe der RunInstances, DescribeInstances und StopInstances-Aktionen als Verwaltungsereignisse protokolliert.
Amazon-EC2-API-Ereignisbeispiele
Ein Ereignis stellt eine einzelne Anforderung aus einer beliebigen Quelle dar und enthält Informationen über die angeforderte API-Aktion, das Datum und die Uhrzeit der Operation, Anforderungsparameter usw. CloudTrail-Protokolldateien sind kein geordnetes Stack-Trace der öffentlichen API-Aufrufe und Ereignisse und erscheinen daher in keiner bestimmten Reihenfolge.
Der folgende Protokolldatensatz zeigt, dass ein Benutzer eine Instance beendet hat.
{
"Records":[
{
"eventVersion":"1.03",
"userIdentity":{
"type":"Root",
"principalId":"123456789012",
"arn":"arn:aws:iam::123456789012:root",
"accountId":"123456789012",
"accessKeyId":"AKIAIOSFODNN7EXAMPLE",
"userName":"user"
},
"eventTime":"2016-05-20T08:27:45Z",
"eventSource":"ec2.amazonaws.com",
"eventName":"TerminateInstances",
"awsRegion":"us-west-2",
"sourceIPAddress":"198.51.100.1",
"userAgent":"aws-cli/1.10.10 Python/2.7.9 Windows/7botocore/1.4.1",
"requestParameters":{
"instancesSet":{
"items":[{
"instanceId":"i-1a2b3c4d"
}]
}
},
"responseElements":{
"instancesSet":{
"items":[{
"instanceId":"i-1a2b3c4d",
"currentState":{
"code":32,
"name":"shutting-down"
},
"previousState":{
"code":16,
"name":"running"
}
}]
}
},
"requestID":"be112233-1ba5-4ae0-8e2b-1c302EXAMPLE",
"eventID":"6e12345-2a4e-417c-aa78-7594fEXAMPLE",
"eventType":"AwsApiCall",
"recipientAccountId":"123456789012"
}
]
}
Informationen zu den Inhalten von CloudTrail-Datensätzen finden Sie unter CloudTrail-Datensatzinhalte im AWS CloudTrail-Benutzerhandbuch.
Prüfung von Verbindungen, die über EC2-Instance-Connect hergestellt wurden
Verwenden Sie AWS CloudTrail, um die Benutzer zu prüfen, die sich über EC2-Instance-Connect mit Ihren Instances verbinden.
Prüfen der SSH-Aktivität über EC2 Instance Connect mit der AWS CloudTrail-Konsole
-
Öffnen Sie die CloudTrail-Konsole unter https://console.aws.amazon.com/cloudtrail/
. -
Stellen Sie sicher, dass Sie sich in der korrekten Region befinden.
-
Wählen Sie im Navigationsbereich Event history (Ereignisverlauf) aus.
-
Wählen Sie für Filter Event source (Ereignisquelle), ec2-instance-connect.amazonaws.com aus.
-
(Optional) Wählen Sie für Time range (Zeitraum) einen Zeitraum aus.
-
Wählen Sie das Symbol Refresh events (Ereignisse aktualisieren) aus.
-
Die Seite zeigt die Ereignisse, die den SendSSHPublicKey-API-Aufrufen entsprechen. Erweitern Sie ein Ereignis mit dem Pfeil, um zusätzliche Details anzuzeigen, wie den Benutzernamen und AWS-Zugriffsschlüssel, der für die Herstellung der SSH-Verbindung verwendet wurde, und die Quell-ID-Adresse.
-
Zum Anzeigen der vollständigen Ereignisinformationen im JSON-Format wählen Sie View event (Ereignis anzeigen). Das Feld requestParameters enthält die Ziel-Instance-ID, den Benutzernamen für das Betriebssystem und den öffentlichen Schlüssel, der zur Herstellung der SSH-Verbindung verwendet wurde.
{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "ABCDEFGONGNOMOOCB6XYTQEXAMPLE", "arn": "arn:aws:iam::1234567890120:user/IAM-friendly-name", "accountId": "123456789012", "accessKeyId": "ABCDEFGUKZHNAW4OSN2AEXAMPLE", "userName": "IAM-friendly-name", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-09-21T21:37:58Z"} } }, "eventTime": "2018-09-21T21:38:00Z", "eventSource": "ec2-instance-connect.amazonaws.com", "eventName": "SendSSHPublicKey ", "awsRegion": "us-west-2", "sourceIPAddress": "123.456.789.012", "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60", "requestParameters": { "instanceId": "i-0123456789EXAMPLE", "osUser": "ec2-user", "SSHKey": { "publicKey": "ssh-rsa ABCDEFGHIJKLMNO01234567890EXAMPLE" } }, "responseElements": null, "requestID": "1a2s3d4f-bde6-11e8-a892-f7ec64543add", "eventID": "1a2w3d4r5-a88f-4e28-b3bf-30161f75be34", "eventType": "AwsApiCall", "recipientAccountId": "0987654321" }Wenn Sie Ihr AWS-Konto so konfiguriert haben, dass es CloudTrail-Ereignisse in einem S3-Bucket erfasst, können Sie die Informationen herunterladen und programmatisch prüfen. Weitere Informationen finden Sie unter Abrufen und Anzeigen der CloudTrail-Protokolldateien im AWS CloudTrail-Benutzerhandbuch.