Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengekspor log dari kumpulan pengguna Amazon Cognito
Anda dapat mengonfigurasi kumpulan pengguna untuk mengirim log terperinci dari beberapa aktivitas tambahan ke aktivitas lain Layanan AWS, seperti grup CloudWatch log. Log ini memiliki perincian yang lebih halus daripada yang ada di dalamnya AWS CloudTrail, dan dapat berguna untuk memecahkan masalah kumpulan pengguna Anda dan menganalisis aktivitas masuk pengguna dengan fitur keamanan tingkat lanjut. Saat Anda ingin melakukan streaming log SMS dan kesalahan pemberitahuan email, kumpulan pengguna Anda mengirimkan log ERROR
tingkat -ke grup CloudWatch log. Saat ingin melakukan streaming log aktivitas login pengguna, kumpulan pengguna akan mengirimkan log INFO
tingkat -ke grup log, aliran Amazon Data Firehose, atau bucket Amazon S3. Anda dapat menggabungkan kedua opsi dalam kumpulan pengguna.
Topik
Hal-hal yang perlu diketahui tentang ekspor log
- Dampak biaya
-
Amazon Data Firehose, Amazon S3, CloudWatch dan Log mengeluarkan biaya untuk pengambilan dan pengambilan data. Konfigurasi logging Anda dapat memengaruhi AWS tagihan Anda. Untuk informasi selengkapnya, lihat berikut ini:
-
Log Terjual
di CloudWatch Harga Amazon.
Ekspor log aktivitas pengguna berisi penilaian keamanan dan merupakan fungsi dari fitur keamanan lanjutan kumpulan pengguna. Amazon Cognito hanya menghasilkan log ini ketika fitur keamanan tingkat lanjut aktif. Fitur-fitur ini meningkatkan biaya per pengguna aktif bulanan (MAU) di kumpulan pengguna Anda. Untuk informasi selengkapnya, lihat Harga Amazon Cognito
. -
- Pengiriman upaya terbaik
-
Pengiriman log dari Amazon Cognito adalah upaya terbaik. Volume log yang diberikan oleh kumpulan pengguna Anda, dan kuota layanan Anda untuk CloudWatch Log, Amazon S3, dan Firehose dapat memengaruhi pengiriman log.
- Log eksternal yang ada tidak terpengaruh
-
Opsi logging ini tidak menggantikan atau mengubah fungsi log berikut dari kumpulan pengguna.
-
CloudTrail log aktivitas pengguna rutin seperti sign-up dan sign-in.
-
Analisis aktivitas pengguna dalam skala dengan CloudWatch metrik.
Secara terpisah, Anda juga dapat menemukan log dari Melihat hasil impor kumpulan pengguna di CloudWatch konsol dan Menyesuaikan alur kerja kumpulan pengguna dengan pemicu Lambda di CloudWatch Log. Amazon Cognito dan Lambda menyimpan log ini di grup log yang berbeda dari yang Anda tentukan untuk log aktivitas pengguna.
-
- Berlaku hanya untuk kumpulan pengguna
-
Tidak ada kemampuan ekspor log untuk kumpulan identitas.
- Memerlukan izin pengguna dan peran terkait layanan
-
AWS Prinsipal yang mengatur ekspor log harus memiliki izin untuk memodifikasi sumber daya target, seperti yang dijelaskan dalam topik berikut. Amazon Cognito membuat peran terkait layanan atas nama Anda dan mengasumsikan peran tersebut untuk mengirimkan log ke sumber daya target.
Untuk informasi selengkapnya tentang model otorisasi untuk mengirim log dari Amazon Cognito, lihat Mengaktifkan pencatatan Layanan AWS dari dalam Panduan Pengguna Log CloudWatch Amazon.
- Tingkat log eksklusif untuk jenis log
-
Log pengiriman pesan adalah
userNotification
jenis dan tingkat kesalahan.ERROR
Log aktivitas pengguna keamanan tingkat lanjut adalahuserAuthEvents
jenis dan tingkatINFO
kesalahan. Anda dapat menggabungkan dua anggotaLogConfigurations
, satu untukuserNotification
ke CloudWatch Log, dan satuuserAuthEvents
untuk Firehose, Amazon S3, atau Log. CloudWatchAnda tidak dapat mengirim log aktivitas pengguna ke beberapa tujuan. Anda tidak dapat mengirim log pemberitahuan pengguna ke tujuan selain CloudWatch Log.
- Opsi konfigurasi yang berbeda
-
Anda hanya dapat mengonfigurasi log pemberitahuan pengguna dengan kumpulan pengguna API Amazon Cognito atau file. AWS SDK Anda dapat mengonfigurasi log aktivitas pengguna keamanan lanjutan dengan API atau di konsol Amazon Cognito. Untuk mengatur keduanya, gunakan API seperti yang ditunjukkan dalam permintaan contoh di SetLogDeliveryConfiguration.
- Konfigurasi tambahan diperlukan dengan kebijakan berbasis sumber daya yang besar
-
Untuk mengirim log ke grup log dengan kebijakan sumber daya berukuran lebih besar dari 5120 karakter, konfigurasikan grup log dengan jalur yang dimulai dengan
/aws/vendedlogs
. Untuk informasi selengkapnya, lihat Mengaktifkan logging dari AWS layanan tertentu.
Mengekspor kesalahan pengiriman email dan SMS pesan
Untuk kesalahan pengiriman email dan SMS pesan, Anda dapat mengirimkan log pemberitahuan pengguna tingkat Kesalahan dari kumpulan pengguna Anda. Saat Anda mengaktifkan fitur ini, Anda dapat memilih grup log tempat Anda ingin Amazon Cognito mengirim log. Pencatatan notifikasi pengguna berguna saat Anda ingin mengetahui status email dan SMS pesan yang dikirimkan oleh kumpulan pengguna Anda dengan Amazon SNS dan AmazonSES. Opsi ekspor log ini, tidak seperti ekspor aktivitas pengguna, tidak memerlukan fitur keamanan tingkat lanjut.
Anda dapat mengonfigurasi log notifikasi terperinci dengan kumpulan pengguna Amazon Cognito API dalam permintaan. SetLogDeliveryConfigurationAPI Anda dapat melihat konfigurasi pencatatan kumpulan pengguna dalam GetLogDeliveryConfigurationAPIpermintaan. Berikut ini adalah contoh badan permintaan.
{ "LogConfigurations": [ { "CloudWatchLogsConfiguration": { "LogGroupArn": "arn:aws:logs:us-west-2:123456789012:log-group:example-user-pool-exported" }, "EventSource": "userNotification", "LogLevel": "ERROR" } ], "UserPoolId": "us-west-2_EXAMPLE" }
Anda harus mengotorisasi permintaan ini dengan AWS kredensil yang memiliki izin berikut.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageUserPoolLogs", "Action": [ "cognito-idp:SetLogDeliveryConfiguration", "cognito-idp:GetLogDeliveryConfiguration", ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid": "CognitoLog", "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid": "CognitoLoggingCWL", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
Berikut ini adalah contoh peristiwa dari kumpulan pengguna. Skema log ini dapat berubah sewaktu-waktu. Beberapa bidang mungkin dicatat dengan nilai null.
{ "eventTimestamp": "1687297330677", "eventSource": "USER_NOTIFICATION", "logLevel": "ERROR", "message": { "details": "String" }, "logSourceId": { "userPoolId": "String" } }
Mengekspor log aktivitas pengguna keamanan tingkat lanjut
Kumpulan pengguna dengan fitur keamanan lanjutan mencatat peristiwa aktivitas pengguna: detail dan penilaian keamanan login pengguna, keluar, dan operasi otentikasi lainnya dengan kumpulan pengguna Anda. Anda mungkin ingin meninjau log aktivitas pengguna di sistem manajemen log Anda sendiri, atau membuat arsip. Anda dapat mengekspor data ini ke grup CloudWatch log Amazon Logs, aliran Amazon Data Firehose, atau bucket Amazon Simple Storage Service (Amazon S3). Dari sana, Anda dapat memasukkan data ini ke dalam sistem lain yang menganalisis, menormalkan, atau memproses data dengan cara yang sesuai dengan proses operasional Anda. Untuk mengekspor data jenis ini, fitur keamanan lanjutan harus aktif di kumpulan pengguna Anda.
Dengan informasi dalam log aktivitas pengguna ini, Anda dapat melihat profil login pengguna dan aktivitas manajemen akun. Secara default, Amazon Cognito menangkap peristiwa ini ke penyimpanan yang berbasis di kumpulan pengguna Anda. Contoh berikut adalah contoh peristiwa untuk pengguna yang masuk dan dievaluasi tidak memiliki faktor risiko. Anda dapat mengambil informasi ini dengan AdminListUserAuthEvents
API operasi. Berikut ini adalah contoh output:
{ "AuthEvents": [ { "EventId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "EventType": "SignIn", "CreationDate": "2024-06-27T10:49:59.139000-07:00", "EventResponse": "Pass", "EventRisk": { "RiskDecision": "NoRisk", "CompromisedCredentialsDetected": false }, "ChallengeResponses": [ { "ChallengeName": "Password", "ChallengeResponse": "Success" } ], "EventContextData": { "IpAddress": "192.0.2.1", "DeviceName": "Chrome 126, Windows 10", "Timezone": "-07:00", "City": "null", "Country": "United States" } } ], "NextToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222#2024-06-27T17:49:59.139Z" }
Anda dapat mengaktifkan ekspor log untuk aktivitas pengguna di konsol Amazon Cognito atau dengan operasi. SetLogDeliveryConfigurationAPI
Pengguna yang mengonfigurasi pengiriman log harus menjadi administrator kumpulan pengguna dan memiliki izin tambahan berikut:
Berikut ini adalah contoh peristiwa dari kumpulan pengguna. Skema log ini dapat berubah sewaktu-waktu. Beberapa bidang mungkin dicatat dengan nilai null.
{ "eventTimestamp": "1687297330677", "eventSource": "USER_ACTIVITY", "logLevel": "INFO", "message": { "version": "1", "eventId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "eventType": "SignUp", "userSub": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "userName": "test-user", "userPoolId": "us-west-2_EXAMPLE", "clientId": "1example23456789", "creationDate": "Wed Jul 17 17:25:55 UTC 2024", "eventResponse": "InProgress", "riskLevel": "", "riskDecision": "PASS", "challenges": [], "deviceName": "Other, Other", "ipAddress": "192.0.2.1", "requestId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "idpName": "", "compromisedCredentialDetected": "false", "city": "Seattle", "country": "United States", "eventFeedbackValue": "", "eventFeedbackDate": "", "eventFeedbackProvider": "" }, "logSourceId": { "userPoolId": "us-west-2_EXAMPLE" } }