Pembuatan log panggilan API CodePipeline denganAWS CloudTrail - AWS CodePipeline

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pembuatan log panggilan API CodePipeline denganAWS CloudTrail

AWS CodePipelineterintegrasi denganAWS CloudTrail, layanan yang menyediakan catatan tindakan yang diambil oleh pengguna, peran, atauAWSlayanan di CodePipeline;. CloudTrail merekam semua panggilan API untuk CodePipeline sebagai peristiwa. Panggilan yang direkam mencakup panggilan dari konsol CodePipeline dan panggilan kode ke operasi API CodePipeline. Jika membuat jejak, Anda dapat mengaktifkan pengiriman berkelanjutan peristiwa CloudTrail ke bucket Amazon S3, termasuk peristiwa untuk CodePipeline. Jika Anda tidak mengonfigurasi jejak, Anda masih dapat melihat peristiwa terbaru dalam konsol CloudTrail di Riwayat peristiwa. Menggunakan informasi yang dikumpulkan oleh CloudTrail, Anda dapat menentukan permintaan yang dibuat ke CodePipeline, alamat IP asal permintaan dibuat, siapa yang membuat permintaan, dan detail lainnya.

Untuk mempelajari selengkapnya tentang CloudTrail, lihat Panduan Pengguna AWS CloudTrail.

Informasi CodePipeline di CloudTrail

CloudTrail diaktifkan pada akun AWS Anda saat Anda membuat akun tersebut. Saat aktivitas terjadi di CodePipeline, aktivitas itu dicatat di CloudTrail bersama lainnyaAWSperistiwa layanan diRiwayat peristiwa. Anda dapat melihat, mencari, dan mengunduh peristiwa terbaru di akun AWS Anda. Untuk informasi selengkapnya, lihat Melihat Peristiwa dengan Riwayat Peristiwa CloudTrail.

Untuk catatan berkelanjutan tentang peristiwa diAWSakun, termasuk peristiwa untuk CodePipeline, buat jejak. Jejak memungkinkan CloudTrail mengirim file log ke bucket Amazon S3. Secara default, saat Anda membuat jejak di dalam konsol tersebut, jejak diterapkan ke semua Wilayah AWS. Jejak mencatat peristiwa dari semua Wilayah di partisi AWS dan mengirimkan file log ke bucket Amazon S3 yang Anda tentukan. Selain itu, Anda dapat mengonfigurasi layanan AWS lainnya untuk menganalisis lebih lanjut dan bertindak berdasarkan data peristiwa yang dikumpulkan di log CloudTrail. Untuk informasi selengkapnya, lihat yang berikut:

Semua tindakan CodePipeline dicatat oleh CloudTrail dan didokumentasikan diReferensi API CodePipeline. Misalnya, panggilan untuk tindakan CreatePipeline, GetPipelineExecution dan UpdatePipeline menghasilkan entri di berkas log CloudTrail.

Setiap entri peristiwa atau log berisi informasi tentang orang yang membuat permintaan tersebut. Informasi identitas membantu Anda menentukan hal berikut:

  • Bahwa permintaan dibuat dengan kredensial pengguna root atau pengguna AWS Identity and Access Management (IAM).

  • Bahwa permintaan tersebut dibuat dengan kredensial keamanan sementara untuk peran atau pengguna gabungan.

  • Apakah permintaan dibuat oleh layanan AWS lain.

Untuk informasi lebih lanjut, lihat Elemen userIdentity CloudTrail.

Memahami entri berkas log CodePipeline

Jejak adalah konfigurasi yang memungkinkan pengiriman peristiwa sebagai berkas log ke bucket Amazon S3 yang telah Anda tentukan. File log CloudTrail berisi satu atau beberapa entri log. Peristuwa mewakili satu permintaan dari sumber apa pun dan mencakup informasi tentang tindakan yang diminta, tanggal dan waktu tindakan, parameter permintaan, dan sebagainya. File log CloudTrail bukan jejak tumpukan terurut dari panggilan API publik, sehingga berkas tersebut tidak muncul dalam urutan tertentu.

Contoh berikut menunjukkan entri log CloudTrail untuk acara pemutakhiran pipa, di mana pipa bernama MyFirstPipeline telah diedit oleh pengguna bernama Janedoe-CodePipeline dengan ID akun 80398CONTOH. Pengguna mengubah nama tahap sumber pipa dariSourcekepadaMySourceStage. Karena keduarequestParametersdanresponseElementselemen dalam log CloudTrail berisi seluruh struktur pipa yang diedit, elemen-elemen tersebut telah disingkat dalam contoh berikut. Penekanantelah ditambahkan kerequestParametersbagian dari pipa di mana perubahan terjadi, nomor versi sebelumnya dari pipa, danresponseElementsporsi, yang menunjukkan nomor versi bertambah dengan 1. Bagian yang diedit ditandai dengan elips (...) untuk menggambarkan di mana lebih banyak data muncul dalam entri log nyata.

{ "eventVersion":"1.03", "userIdentity": { "type":"IAMUser", "principalId":"AKIAI44QH8DHBEXAMPLE", "arn":"arn:aws:iam::80398EXAMPLE:user/JaneDoe-CodePipeline", "accountId":"80398EXAMPLE", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "userName":"JaneDoe-CodePipeline", "sessionContext": { "attributes":{ "mfaAuthenticated":"false", "creationDate":"2015-06-17T14:44:03Z" } }, "invokedBy":"signin.amazonaws.com"}, "eventTime":"2015-06-17T19:12:20Z", "eventSource":"codepipeline.amazonaws.com", "eventName":"UpdatePipeline", "awsRegion":"us-east-2", "sourceIPAddress":"192.0.2.64", "userAgent":"signin.amazonaws.com", "requestParameters":{ "pipeline":{ "version":1, "roleArn":"arn:aws:iam::80398EXAMPLE:role/CodePipeline_Service_Role", "name":"MyFirstPipeline", "stages":[ { "actions":[ { "name":"MySourceStage", "actionType":{ "owner":"AWS", "version":"1", "category":"Source", "provider":"S3" }, "inputArtifacts":[], "outputArtifacts":[ {"name":"MyApp"} ], "runOrder":1, "configuration":{ "S3Bucket":"awscodepipeline-demobucket-example-date", "S3ObjectKey":"sampleapp_linux.zip" } } ], "name":"Source" }, (...) }, "responseElements":{ "pipeline":{ "version":2, (...) }, "requestID":"2c4af5c9-7ce8-EXAMPLE", "eventID":""c53dbd42-This-Is-An-Example"", "eventType":"AwsApiCall", "recipientAccountId":"80398EXAMPLE" } ] }