View a markdown version of this page

Mengamankan AWS IAM Roles Anywhere dengan sertifikat pribadi - AWS Prescriptive Guidance

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:IssueCertificate

    • acm-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:

  1. Sertifikat sekarang - Sistem eksternal menyajikan X.509 sertifikat ke AWS

  2. Otentikasi - IAM Roles Anywhere menerima sertifikat dan memulai otentikasi

  3. Verifikasi - Trust Anchor memverifikasi sertifikat terhadap otoritas sertifikat tepercaya

  4. Validasi - AWS Private CA memvalidasi keaslian dan status sertifikat

  5. Sertifikat valid - AWS Private CA konfirmasi sertifikat valid dan tepercaya

  6. Asumsikan peran - IAM Roles Anywhere memungkinkan sistem eksternal untuk mengambil peran IAM yang dikonfigurasi

  7. 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

  1. Menetapkan AWS layanan dasar yang diperlukan untuk otentikasi berbasis sertifikat menggunakan. IAM Roles Anywhere

  2. Buat dan konfigurasikan sertifikat sisi klien dan alat otentikasi untuk akses aman. AWS

  3. 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 parameter

  • Putar 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

TugasDeskripsiKeterampilan 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
TugasDeskripsiKeterampilan 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
TugasDeskripsiKeterampilan 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

IsuSolusi

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: ReadOnlyAccess untuk penerapan awal yang aman

  • Kustom: 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"