Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengamankan AWS IAM Roles Anywhere dengan sertifikat pribadi
Barnali Singh, Amazon Web Services
Ringkasan
Pola ini menunjukkan cara menerapkan AWS IAM Roles Anywhere with AWS Private Certificate Authority (AWS Private CA) untuk mengaktifkan otentikasi berbasis sertifikat yang aman untuk beban kerja eksternal yang mengakses sumber daya. AWS Solusinya menghilangkan kebutuhan akan kunci akses jangka panjang dengan menggunakan X.509 sertifikat untuk mendapatkan AWS kredensyal sementara. Ini adalah pola keamanan cloud-native yang mencakup otomatisasi lengkap melalui AWS CloudFormation templat dan skrip shell, memungkinkan organisasi untuk dengan cepat menerapkan otentikasi hibrid aman untuk aplikasi lokal, saluran pipa, dan sistem eksternal. CI/CD
Prasyarat dan batasan
Prasyarat
Untuk penyebaran AWS infrastruktur:
AWS CLI diinstal dan dikonfigurasi dengan izin administratif
Izin administratif untuk IAM, IAM Roles Anywhere, dan layanan AWS Private CA
Untuk pengaturan sistem klien:
AWS CLI diinstal pada sistem klien dengan izin ini:
acm-pca:IssueCertificateacm-pca:GetCertificate
OpenSSL diinstal pada sistem klien
AWS Penandatanganan Helper diinstal pada setiap sistem klien
Pemahaman dasar X.509 sertifikat dan konsep PKI
catatan
CloudFormation Template secara otomatis menangani pembuatan AWS sumber daya. OpenSSL hanya diperlukan pada sistem eksternal yang akan menggunakan sertifikat untuk mengakses sumber daya. AWS
Batasan
Masa berlaku sertifikat dibatasi maksimal 10 tahun untuk root CA
Putar sertifikat klien secara teratur. Kami menyarankan Anda melakukan ini setidaknya setahun sekali.
Batasan regional: Percayai jangkar dan AWS Private CA harus berada di wilayah yang sama AWS
Ukuran sertifikat maksimum: 16KB untuk sertifikat klien
Versi produk
AWS CLI versi 2.0 atau yang lebih baru
OpenSSL 1.1.1 atau yang lebih baru
AWS Penandatanganan Helper 1.4.0 atau yang lebih baru
AWS Private CA, versi saat ini
IAM Roles Anywhere e, versi saat ini
Arsitektur
Tumpukan teknologi target
• AWS Private CA - Root CA untuk penerbitan sertifikat
• IAM Roles Anywhere - layanan asumsi Certificate-based peran
• Peran dan kebijakan IAM - Kontrol akses dan izin
• AWS Penandatanganan Helper - alat pengambilan Client-side kredensyal
• OpenSSL - Sertifikat dan pembuatan kunci
• CloudFormation - Otomatisasi infrastruktur
Arsitektur target

Gambar 1 otentikasi berbasis IAM Roles Anywhere sertifikat
Arsitekturnya terdiri dari:
Sertifikat sekarang - Sistem eksternal menyajikan X.509 sertifikat ke AWS
Otentikasi - IAM Roles Anywhere menerima sertifikat dan memulai otentikasi
Verifikasi - Trust Anchor memverifikasi sertifikat terhadap otoritas sertifikat tepercaya
Validasi - AWS Private CA memvalidasi keaslian dan status sertifikat
Sertifikat valid - AWS Private CA konfirmasi sertifikat valid dan tepercaya
Asumsikan peran - IAM Roles Anywhere memungkinkan sistem eksternal untuk mengambil peran IAM yang dikonfigurasi
Akses hibah - Sistem eksternal menerima kredensyal sementara untuk mengakses sumber daya AWS
Otomatisasi dan skala
Pola ini mencakup otomatisasi lengkap melalui:
• CloudFormation template untuk penyediaan AWS sumber daya dengan izin IAM yang dapat dikonfigurasi
• Skrip Shell untuk pembuatan sertifikat dan pengaturan klien
• Konfigurasi parameter untuk beberapa lingkungan dan kebijakan IAM khusus
• Pembuatan sertifikat Batch untuk banyak klien
• Instalasi dan konfigurasi pembantu kredensyal otomatis
Alur kerja
Menetapkan AWS layanan dasar yang diperlukan untuk otentikasi berbasis sertifikat menggunakan. IAM Roles Anywhere
Buat dan konfigurasikan sertifikat sisi klien dan alat otentikasi untuk akses aman. AWS
Verifikasi fungsionalitas otentikasi berbasis sertifikat dan buat pemantauan untuk operasi yang sedang berlangsung.
Alat
• CloudFormation - Mengotomatiskan pembuatan PCA, Trust Anchor, IAM Role, dan Profile
• AWS CLI - Command-line antarmuka untuk interaksi AWS layanan
• OpenSSL - Menghasilkan permintaan penandatanganan sertifikat dan mengelola sertifikat
• Pembantu AWS Penandatanganan - Menukar sertifikat untuk kredensyal sementara AWS
• Bash/shell Skrip - Mengotomatiskan proses penyiapan lengkap
Repositori kode
AWS IAM Berperan Di Mana Saja dengan Otoritas Sertifikat Pribadi
Praktik terbaik
Konfigurasikan kebijakan IAM berdasarkan prinsip hak istimewa paling rendah menggunakan
--iam-policies parameterPutar sertifikat klien secara teratur. Kami menyarankan Anda melakukan ini setiap tahun.
Gunakan validasi sertifikat yang kuat dalam kebijakan kepercayaan
Menerapkan prosedur pencabutan sertifikat
Pantau tanggal kedaluwarsa sertifikat
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Menyebarkan infrastruktur CloudFormation | Buat dan terapkan CloudFormation template yang menyediakan semua AWS sumber daya yang diperlukan termasuk AWS Private CA, Trust Anchor, peran IAM dengan kebijakan yang sesuai, dan profil. IAM Roles Anywhere Konfigurasikan parameter untuk penamaan proyek, periode validitas sertifikat, durasi sesi, dan lampiran kebijakan IAM untuk membangun fondasi infrastruktur inti. | Arsitek awan, DevOps insinyur |
Konfigurasikan pengaturan otoritas sertifikat | Inisialisasi AWS Private CA dengan menginstal sertifikat root, mengonfigurasi templat sertifikat, dan membangun rantai kepercayaan sertifikat. Siapkan periode validitas sertifikat, algoritme kunci, dan ekstensi sertifikat yang diperlukan untuk IAM Roles Anywhere otentikasi guna memastikan infrastruktur PKI yang tepat. | Administrator AWS, Administrator cloud |
Validasi &AWS; konfigurasi sumber daya | Lakukan validasi komprehensif dari semua AWS sumber daya yang digunakan untuk memastikan konfigurasi dan konektivitas yang tepat. Verifikasi Trust Anchor ditautkan dengan benar AWS Private CA, peran IAM memiliki izin yang sesuai, profil dikonfigurasi dengan benar, dan semua sumber daya dalam active/ready status untuk alur kerja otentikasi berbasis sertifikat. | Administrator sistem AWS, Insinyur uji |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Siapkan lingkungan klien | Siapkan lingkungan klien dengan membuat skrip penerapan dapat dieksekusi dan memastikan izin yang tepat. Konfigurasikan sistem lokal dengan alat dan dependensi yang diperlukan, verifikasi aksesibilitas skrip, dan buat fondasi untuk proses pembuatan dan penerapan sertifikat. | DevOps insinyur, administrator sistem AWS |
Hasilkan permintaan penandatanganan sertifikat | Buat permintaan penandatanganan sertifikat (CSR) untuk sistem klien menggunakan OpenSSL atau alat yang setara. Konfigurasikan parameter sertifikat termasuk informasi subjek, algoritme kunci, dan ekstensi sertifikat. Pastikan CSR memenuhi AWS Private CA persyaratan dan berisi metadata yang sesuai untuk otentikasi. IAM Roles Anywhere | Administrator cloud, DevOps insinyur |
Menerbitkan sertifikat klien melalui AWS Private CA | Proses CSR AWS Private CA hingga menerbitkan sertifikat klien yang valid. Konfigurasikan periode validitas sertifikat, templat sertifikat, dan pastikan pembentukan rantai sertifikat yang tepat. Verifikasi penerbitan sertifikat dan unduh sertifikat yang ditandatangani untuk penyebaran klien. | Administrator AWS, arsitek Cloud |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Dapatkan AWS kredensi sementara | Jalankan skrip pembantu AWS kredenal untuk mengambil kredensil sementara menggunakan sertifikat klien dan kunci pribadi yang dikonfigurasi. Verifikasi bahwa proses pengambilan kredenal berfungsi dengan benar, validasi format kredensi dan waktu kedaluwarsa, dan pastikan integrasi yang tepat dengan IAM Roles Anywhere layanan untuk alur kerja autentikasi yang mulus. | DevOps insinyur, administrator sistem AWS |
Uji akses AWS sumber daya | Lakukan pengujian komprehensif akses AWS sumber daya menggunakan kredensyal sementara yang diperoleh. Jalankan berbagai AWS CLI perintah dan panggilan API untuk memverifikasi konektivitas ke layanan target seperti Amazon S3, Amazon EC2, dan. AWS Lambda Validasi bahwa izin selaras dengan kebijakan peran IAM yang dikonfigurasi dan dokumentasikan pola akses yang berhasil. | Insinyur uji, administrator Cloud |
Verifikasi asumsi peran dan izin | Melakukan validasi menyeluruh dari proses asumsi peran IAM dan batas izin. Uji operasi yang diizinkan dan dibatasi untuk mengonfirmasi akses hak istimewa paling sedikit diberlakukan dengan benar. Verifikasi batas durasi sesi, mekanisme penyegaran kredenal, dan pastikan asumsi peran mengikuti praktik terbaik keamanan. | Administrator AWS, Insinyur uji |
Melaksanakan pemantauan dan pencatatan | Siapkan pemantauan dan pencatatan komprehensif untuk sistem otentikasi berbasis sertifikat. Konfigurasikan CloudTrail pencatatan untuk jejak audit, terapkan pemantauan kedaluwarsa sertifikat, atur peringatan untuk kegagalan otentikasi, dan buat dasbor untuk melacak pola penggunaan dan peristiwa keamanan di seluruh infrastruktur. IAM Roles Anywhere | DevOps insinyur, Arsitek awan |
Pemecahan masalah
| Isu | Solusi |
|---|---|
Kegagalan validasi sertifikat — “Validasi sertifikat gagal” atau "InvalidCertificate" kesalahan saat mencoba otentikasi. | Langkah-langkah resolusi: • Verifikasi tanggal validitas sertifikat menggunakan openssl x509 -dalam sertifikat.pem -tanggal -noout • Periksa apakah konfigurasi Trust Anchor menunjuk untuk memperbaiki CA pribadi • Pastikan bahwa kunci pribadi sesuai dengan sertifikat • Regenerasi sertifikat jika dikeluarkan oleh CA yang salah |
Izin IAM ditolak kesalahan — “Akses Ditolak” atau "UnauthorizedOperation" saat mengakses AWS sumber daya meskipun otentikasi berhasil | Langkah Resolusi: • Tinjau dan perluas kebijakan peran IAM untuk menyertakan izin yang diperlukan • Verifikasi bahwa kebijakan kepercayaan mencakup rolesanywhere.amazonaws.com sebagai entitas tepercaya • Periksa apakah konfigurasi ARN profil cocok dengan sumber daya yang digunakan • Menerapkan mekanisme penyegaran kredensyal untuk proses yang berjalan lama |
Sumber daya terkait
Informasi tambahan
Pola ini sangat ideal untuk organisasi dengan arsitektur cloud hybrid, CI/CD jaringan pipa yang berjalan di luar AWS, atau sistem eksternal apa pun yang membutuhkan akses aman AWS . Pendekatan berbasis sertifikat memberikan keamanan yang lebih baik daripada kunci akses jangka panjang dan memungkinkan manajemen sertifikat terpusat melalui. AWS Private CA
Izin IAM yang dapat dikonfigurasi - Solusinya mendukung konfigurasi kebijakan IAM yang fleksibel melalui: --iam-policies parameter
Default:
ReadOnlyAccessuntuk penerapan awal yang amanKustom: Tentukan ARN kebijakan yang dipisahkan koma untuk kasus penggunaan tertentu. Misalnya,,
S3ReadOnlyAccessEC2ReadOnlyAccess, atau kebijakan khusus. Mendukung beberapa kebijakan untuk persyaratan izin yang kompleks.
Contoh penggunaan:
# Default read-only access ./deploy.sh # S3-only access ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess" # Multiple services ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess"