View a markdown version of this page

Gunakan laporan audit dengan CA pribadi Anda - AWS Private Certificate Authority

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

Gunakan laporan audit dengan CA pribadi Anda

Anda dapat membuat laporan audit untuk mencantumkan semua sertifikat yang telah dikeluarkan atau dicabut oleh CA privat Anda. Laporan disimpan di bucket S3 baru atau yang sudah ada yang Anda tentukan pada input.

Laporan audit vs. pen CloudTrail catatan

AWS Private CA menyediakan dua mekanisme audit yang saling melengkapi:

  • CloudTrail logging — Merekam setiap panggilan API dan operasi penandatanganan saat terjadi. Gunakan CloudTrail untuk pemantauan keamanan, peringatan waktu nyata, dan menyelidiki peristiwa tertentu. Lihat Pencatatan AWS Private Certificate Authority Panggilan API menggunakan AWS CloudTrail.

  • Laporan audit — Menghasilkan snapshot point-in-time dari setiap sertifikat yang dikeluarkan atau dicabut CA Anda, termasuk tanggal validitas dan status pencabutan. Gunakan laporan audit untuk tinjauan kepatuhan berkala dan inventaris sertifikat.

Kedua mekanisme itu independen. Anda dapat menggunakan salah satu atau keduanya tergantung pada persyaratan audit Anda.

catatan

Pembuatan laporan audit tidak didukung untuk otoritas sertifikat yang telah mengeluarkan lebih dari 100 juta sertifikat.

Untuk informasi tentang cara menambahkan perlindungan enkripsi ke laporan audit Anda, lihat Mengenkripsi laporan audit.

File laporan audit memiliki jalur dan nama file berikut. The ARN untuk bucket Amazon S3 adalah nilai untuk amzn-s3-demo-bucket. CA_ID adalah pengenal unik penerbitan CA. UUID adalah pengenal unik laporan audit.

amzn-s3-demo-bucket/audit-report/CA_ID/UUID.[json|csv]

Anda dapat membuat laporan baru setiap 30 menit dan mengunduhnya dari bucket Anda. Contoh berikut menunjukkan CSV-separated laporan.

awsAccountId,requestedByServicePrincipal,certificateArn,serial,subject,notBefore,notAfter,issuedAt,revokedAt,revocationReason,templateArn 123456789012,,arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID,00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff,"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4e5f6a,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US",2020-03-02T21:43:57+0000,2020-04-07T22:43:57+0000,2020-03-02T22:43:58+0000,,UNSPECIFIED,arn:aws:acm-pca:::template/EndEntityCertificate/V1 123456789012,acm.amazonaws.com,arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID,ff:ee:dd:cc:bb:aa:99:88:77:66:55:44:33:22:11:00,"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4d5e6f,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US",2020-03-02T20:53:39+0000,2020-04-07T21:53:39+0000,2020-03-02T21:53:40+0000,,,arn:aws:acm-pca:::template/EndEntityCertificate/V1

Contoh berikut menunjukkan JSON-formatted laporan.

[ { "awsAccountId":"123456789012", "certificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial":"00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff", "subject":"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4d5e6f,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US", "notBefore":"2020-02-26T18:39:57+0000", "notAfter":"2021-02-26T19:39:57+0000", "issuedAt":"2020-02-26T19:39:58+0000", "revokedAt":"2020-02-26T20:00:36+0000", "revocationReason":"UNSPECIFIED", "templateArn":"arn:aws:acm-pca:::template/EndEntityCertificate/V1" }, { "awsAccountId":"123456789012", "requestedByServicePrincipal":"acm.amazonaws.com", "certificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial":"ff:ee:dd:cc:bb:aa:99:88:77:66:55:44:33:22:11:00", "subject":"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4d5e6f,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US", "notBefore":"2020-01-22T20:10:49+0000", "notAfter":"2021-01-17T21:10:49+0000", "issuedAt":"2020-01-22T21:10:49+0000", "templateArn":"arn:aws:acm-pca:::template/EndEntityCertificate/V1" } ]
catatan

Saat AWS Certificate Manager memperbarui sertifikat, laporan audit CA pribadi mengisi requestedByServicePrincipal bidang dengan. acm.amazonaws.com Ini menunjukkan bahwa AWS Certificate Manager layanan memang IssueCertificate gil tindakan AWS Private CA API atas nama pelanggan untuk memperbarui sertifikat.

Siapkan bucket Amazon S3 untuk laporan audit

penting

AWS Private CA tidak mendukung penggunaan Amazon S3 Object Lock. Jika Anda mengaktifkan Object Lock di bucket AWS Private CA Anda, tidak dapat menulis laporan audit ke bucket.

Untuk menyimpan laporan audit, Anda perlu menyiapkan bucket Amazon S3. Untuk informasi selengkapnya, lihat Bagaimana Cara Membuat bucket S3?

Bucket S3 Anda harus diamankan oleh kebijakan izin yang memungkinkan AWS Private CA untuk mengakses dan menulis ke bucket S3 yang Anda tentukan. Pengguna resmi dan prinsipal layanan memerlukan Put izin untuk mengiz AWS Private CA inkan menempatkan objek dalam bucket, dan Get izin untuk mengambilnya. Kami menyarankan Anda menerapkan kebijakan yang ditunjukkan di bawah ini, yang membatasi akses ke AWS akun dan ARN CA pribadi. Atau, Anda dapat menggunakan kunci kondisi aws: SourceOrg ID untuk membatasi akses ke organisasi tertentu di AWS Organizations. Untuk informasi selengkapnya tentang kebijakan bucket, lihat Kebijakan Bucket untuk Layanan Penyimpanan Sederhana Amazon.

Buat laporan audit

Anda dapat membuat laporan audit baik dari konsol tersebut atau AWS CLI.

Untuk membuat laporan audit (konsol)
  1. Masuk ke AWS akun Anda dan buka AWS Private CA konsol di https://console.aws.amazon.com/acm-pca/home.

  2. Pada halaman Otoritas sertifikat pribadi, pilih CA pribadi Anda dari daftar.

  3. Dari menu Tindakan, pilih Hasilkan laporan audit.

  4. Di bawah Tujuan laporan Audit, untuk Buat bucket S3 baru? , pilih Ya dan ketikkan nama bucket unik, atau pilih Tidak dan pilih bucket yang ada dari daftar.

    Jika Anda memilih Ya, AWS Private CA membuat dan melampirkan kebijakan default ke bucket Anda. Kebijakan default menyertakan kunci aws:SourceAccount kondisi, yang membatasi akses ke AWS akun tertentu. Jika Anda ingin membatasi akses lebih lanjut, Anda dapat menambahkan kunci kondisi lain ke kebijakan seperti pada contoh Siapkan bucket Amazon S3 untuk laporan audit sebelumnya.

    Jika Anda memilih Tidak, Anda harus melampirkan kebijakan ke bucket agar dapat membuat laporan audit. Gunakan pola kebijakan yang dijelaskan diSiapkan bucket Amazon S3 untuk laporan audit. Untuk informasi tentang melampirkan kebijakan, lihat Men ambahkan kebijakan bucket menggunakan konsol Amazon S3.

  5. Di bawah Format keluaran, pilih JSON untuk Notasi JavaScript Objek atau CSV untuk nilai yang dipisahkan koma.

  6. Pilih Hasilkan laporan audit.

Untuk membuat laporan audit (AWS CLI)
  1. Jika Anda belum memiliki bucket S3 untuk digunakan, buat satu.

  2. Lampirkan kebijakan ke bucket Anda Gunakan pola kebijakan yang dijelaskan diSiapkan bucket Amazon S3 untuk laporan audit. Untuk informasi tentang melampirkan kebijakan, lihat Men ambahkan kebijakan bucket menggunakan konsol Amazon S3

  3. Gunakan perintah create-certificate-authory-audit-report untuk membuat laporan audit dan menempatkannya di bucket S3 yang sudah disiapkan.

    $ aws acm-pca create-certificate-authority-audit-report \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \ --s3-bucket-name amzn-s3-demo-bucket \ --audit-report-response-format JSON

Mengambil laporan audit

Untuk mengambil laporan audit untuk pemeriksaan, gunakan konsol Amazon S3, API, CLI, atau SDK. Untuk informasi selengkapnya, lihat Mengunduh objek di Panduan Pengguna Amazon Simple Storage Service.

Mengambil detail sertifikat lengkap

Laporan audit menyediakan metadata sertifikat termasuk nomor seri, nama subjek yang dibedakan (DN), tanggal validitas, dan status pencabutan. Ini tidak termasuk konten sertifikat lengkap seperti Subjek Alternatif Nama (SAN), X.509 ekstensi, atau struktur sertifikat TBS (yang akan ditandatangani).

Untuk mengambil detail sertifikat lengkap, gunakan GetCertificate API dengan sertifikat ARN dari laporan audit. Anda kemudian dapat mengurai PEM-encoded sertifikat yang dikembalikan untuk mengekstrak bidang apa pun.

Contoh: Mengambil dan memeriksa sertifikat dari entri laporan audit

aws acm-pca get-certificate \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \ --certificate-arn arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID \ --output text --query Certificate | openssl x509 -text -noout

Pola ini berguna ketika audit Anda memerlukan detail di luar apa yang disediakan laporan — misalnya, memverifikasi nama SAN atau DNS mana yang dikeluarkan, atau mengonfirmasi algoritma kunci yang digunakan.

penting
  • GetCertificatemengharuskan CA penerbit masih ada. Jika CA telah dihapus, sertifikat tidak dapat diambil.

  • Untuk CA yang mengeluarkan sejumlah besar sertifikat berumur pendek, pertimbangkan untuk menangkap detail sertifikat lengkap pada saat penerbitan daripada mengambilnya secara retrospektif.

Mengenkripsi laporan audit

Secara opsional, Anda dapat mengonfigurasi enkripsi pada bucket Amazon S3 yang berisi laporan audit Anda. AWS Private CA mendukung dua mode enkripsi untuk aset di S3:

  • Enkripsi sisi server otomatis dengan kunci Amazon S3-managed AES-256.

  • Enkripsi yang dikelola pelanggan menggunakan AWS Key Management Service dan AWS KMS key dikonfigurasi sesuai spesifikasi Anda.

catatan

AWS Private CA tidak mendukung penggunaan kunci KMS default yang dihasilkan secara otomatis oleh S3.

Prosedur berikut menjelaskan cara menyiapkan setiap opsi enkripsi.

Untuk mengkonfigurasi enkripsi otomatis

Selesaikan langkah-langkah berikut untuk mengaktifkan enkripsi sisi server S3.

  1. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di tabel Buckets, pilih bucket yang akan menampung AWS Private CA aset Anda.

  3. Pada halaman untuk bucket Anda, pilih tab Properti.

  4. Pilih kartu Enkripsi default.

  5. Pilih Aktifkan.

  6. Pilih tombol Amazon S3 (SSE-S3).

  7. Pilih Simpan Perubahan.

Untuk mengkonfigurasi enkripsi kustom

Selesaikan langkah-langkah berikut untuk mengaktifkan enkripsi menggunakan kunci kustom.

  1. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di tabel Buckets, pilih bucket yang akan menampung AWS Private CA aset Anda.

  3. Pada halaman untuk bucket Anda, pilih tab Properti.

  4. Pilih kartu Enkripsi default.

  5. Pilih Aktifkan.

  6. Pilih AWS Key Management Service tombol (SSE-KMS).

  7. Pilih Pilih dari AWS KMS kunci Anda atau Masukkan AWS KMS key ARN.

  8. Pilih Simpan Perubahan.

  9. (Opsional) Jika Anda belum memiliki kunci KMS, buat satu menggunakan perintah AWS CLI create- key berikut:

    $ aws kms create-key

    Output berisi ID kunci dan Nama Sumber Daya Amazon (ARN) dari kunci KMS. Berikut ini adalah contoh output:

    { "KeyMetadata": { "KeyId": "01234567-89ab-cdef-0123-456789abcdef", "Description": "", "Enabled": true, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/01234567-89ab-cdef-0123-456789abcdef", "AWSAccountId": "123456789012" } }
  10. Dengan menggunakan langkah-langkah berikut, Anda memberikan izin AWS Private CA prinsipal layanan untuk menggunakan kunci KMS. Secara default, semua kunci KMS bersifat pribadi; hanya pemilik sumber daya yang dapat menggunakan kunci KMS untuk mengenkripsi dan mendekripsi data. Namun, pemilik sumber daya dapat memberikan izin untuk mengakses kunci KMS ke pengguna dan sumber daya lain. Prinsip layanan harus berada di Wilayah yang sama dengan tempat kunci KMS disimpan.

    1. Pertama, simpan kebijakan default untuk kunci KMS Anda dengan policy.json menggunakan perintah get- key-policy berikut:

      $ aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json
    2. Buka file policy.json di editor teks. Pilih salah satu pernyataan kebijakan berikut dan tambahkan ke kebijakan yang ada.

      Jika kunci bucket Amazon S3 Anda di aktifkan, gunakan pernyataan berikut:

      { "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":"arn:aws:s3:::bucket-name" } } }

      Jika kunci bucket Amazon S3 Anda din onaktifkan, gunakan pernyataan berikut:

      { "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::bucket-name/acm-pca-permission-test-key", "arn:aws:s3:::bucket-name/acm-pca-permission-test-key-private", "arn:aws:s3:::bucket-name/audit-report/*", "arn:aws:s3:::bucket-name/crl/*" ] } } }
    3. Terakhir, terapkan kebijakan yang diperbarui menggunakan perintah put-ke y-policy berikut:

      $ aws kms put-key-policy --key-id key_id --policy-name default --policy file://policy.json