Menjalankan cmdlet PowerShell rotasi rahasia untuk sertifikat eksternal

Selesai

Unit ini akan memberikan panduan untuk melakukan rotasi rahasia, untuk membantu menjaga komunikasi yang aman dengan sumber daya dan layanan infrastruktur Azure Stack Hub.

Azure Stack Hub menggunakan rahasia untuk menjaga komunikasi yang aman dengan sumber daya dan layanan infrastruktur. Untuk menjaga integritas infrastruktur Azure Stack Hub, operator membutuhkan kemampuan untuk memutar rahasia pada frekuensi yang konsisten dengan persyaratan keamanan organisasi mereka.

Saat rahasia dalam waktu 30 hari setelah kedaluwarsa, pemberitahuan berikut akan dibuat di portal administrator. Menyelesaikan rotasi rahasia akan menyelesaikan pemberitahuan ini:

  • Kedaluwarsa kata sandi akun layanan yang tertunda
  • Tanggal kedaluwarsa sertifikat internal tertunda
  • Tanggal kedaluwarsa sertifikat eksternal tertunda

Memutar rahasia eksternal

Unit ini mencakup rotasi sertifikat yang digunakan untuk mengamankan layanan yang terhubung ke eksternal. Sertifikat ini diberikan oleh Operator Azure Stack Hub, untuk layanan berikut:

  • Portal administrator
  • Portal publik
  • Azure Resource Manager Administrator
  • Azure Resource Manager Global
  • Key Vault Administrator
  • Key Vault
  • Host Ekstensi Admin
  • ACS (termasuk blob, tabel, dan penyimpanan antrean)
  • ADFS
  • Grafik

Rotasi

Gunakan skrip PowerShell berikut untuk memutar rahasia. Skrip memerlukan akses ke sesi Privileged EndPoint (PEP). PEP diakses melalui sesi PowerShell jarak jauh pada komputer virtual yang meng-hosting PEP.

Jika Anda menggunakan sistem terintegrasi, ada tiga contoh PEP, masing-masing berjalan di komputer virtual (Prefix-ERCS01, Prefix-ERCS02, atau Prefix-ERCS03) pada host yang berbeda.

Jika Anda menggunakan ASDK, komputer virtual ini bernama AzS-ERCS01. Perbarui nilai sebelum berjalan:

# Create a PEP Session
winrm s winrm/config/client '@{TrustedHosts= "<IP_address_of_ERCS>"}'
$PEPCreds = Get-Credential
$PEPSession = New-PSSession -ComputerName <IP_address_of_ERCS_Machine> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"

# Run Secret Rotation
$CertPassword = ConvertTo-SecureString "<Cert_Password>" -AsPlainText -Force
$CertShareCreds = Get-Credential
$CertSharePath = "<Network_Path_Of_CertShare>"
Invoke-Command -Session $PEPSession -ScriptBlock {
    Start-SecretRotation -PfxFilesPath $using:CertSharePath -PathAccessCredential $using:CertShareCreds -CertificatePassword $using:CertPassword
}
Remove-PSSession -Session $PEPSession

Skrip melakukan langkah-langkah berikut:

  • Membuat Sesi PowerShell dengan endpoint dengan Hak Istimewa menggunakan akun CloudAdmin dan menyimpan sesi sebagai variabel. Variabel ini digunakan sebagai parameter pada langkah selanjutnya.

  • Menjalankan Invoke-Command, meneruskan variabel sesi PEP sebagai parameter -Sesi.

  • Menjalankan Start-SecretRotation di sesi PEP, menggunakan parameter berikut:

    • PfxFilesPath: Jalur jaringan ke direktori Sertifikat Anda dibuat sebelumnya.
    • PathAccessCredential: Objek PSCredential untuk kredensial ke bagian.
    • CertificatePassword: String kata sandi aman yang digunakan untuk semua file sertifikat pfx yang dibuat.

Rotasi rahasia eksternal memerlukan waktu sekitar satu jam. Setelah berhasil selesai, konsol Anda akan menampilkan pesan ActionPlanInstanceID . CurrentStatus: Selesai, diikuti oleh SELESAI. Hapus sertifikat Anda dari bagian yang dibuat di bagian Persiapan dan simpan di lokasi pencadangan aman mereka.

Persiapan

Sebelum rotasi rahasia eksternal:

  1. Jalankan cmdlet Test-AzureStack PowerShell menggunakan parameter -group SecretRotationReadiness, untuk mengonfirmasi semua output tes sehat sebelum memutar rahasia.

  2. Siapkan satu set sertifikat eksternal pengganti yang baru:

    • Set baru harus sesuai dengan spesifikasi sertifikat.
    • Buat permintaan penandatanganan sertifikat (CSR) yang akan dikirim ke Certificate Authority (CA) Anda.
    • Pastikan memvalidasi sertifikat yang Anda siapkan.
    • Pastikan tidak ada karakter khusus dalam kata sandi, seperti * atau).
    • Pastikan enkripsi PFX adalah TripleDES-SHA1.
  3. Simpan pencadangan ke sertifikat yang digunakan untuk rotasi di lokasi pencadangan yang aman. Jika rotasi Anda berjalan lalu gagal, ganti sertifikat dalam bagian file dengan salinan pencadangan sebelum Anda menjalankan rotasi kembali. Simpan salinan pencadangan di lokasi pencadangan yang aman.

  4. Buat fileshare yang dapat Anda akses dari komputer virtual ERCS. Bagian file harus dapat dibaca dan dapat ditulis untuk identitas CloudAdmin.

  5. Buka konsol PowerShell ISE dari komputer tempat Anda memiliki akses ke fileshare. Buka fileshare Anda, tempat Anda membuat direktori untuk meletakkan sertifikat eksternal.

  6. Unduh CertDirectoryMaker.ps1 ke fileshare jaringan Anda, dan jalankan skripnya. Skrip tersebut akan membuat struktur folder yang mematuhi .\Sertifikat\AAD atau .\Sertifikat\ADFS, tergantung pada Penyedia Identitas (IdP) Anda. Struktur folder Anda harus dimulai dengan folder \Certificates, diikuti dengan HANYA folder \AAD atau \ADFS. Semua subdirektori yang tersisa berada dalam struktur sebelumnya. Contohnya:

    • Berbagi =\ <ShareName>
    • Folder akar sertifikat untuk penyedia Microsoft Entra = \Certificates\AAD
    • Jalur lengkap = \ <ShareName>\Certificates\AAD
  7. Salin kumpulan baru sertifikat eksternal pengganti yang dibuat di Langkah 2, ke direktori \Certificates<IdentityProvider> yang dibuat di Langkah 6. Pastikan untuk mengikuti format cert.<regionName>.<externalFQDN> untuk <CertName>.

Gambar di bawah ini adalah contoh struktur folder untuk IdP Microsoft Entra:

Prepare to run secret rotation PowerShell cmdlet for external certificates.