Memutar rahasia dan sertifikat Azure Event Hubs

Selesai

Unit ini menunjukkan cara memutar rahasia yang digunakan oleh penyedia sumber daya Azure Event Hubs.

Rotasi rahasia untuk penyedia sumber daya bernilai tambah saat ini hanya didukung melalui PowerShell.

Seperti infrastruktur Azure Stack Hub, penyedia sumber daya nilai tambah menggunakan rahasia internal dan eksternal. Rahasia dapat mengambil berbagai bentuk, termasuk kata sandi dan kunci enkripsi yang dikelola oleh sertifikat X509. Sebagai operator, Anda bertanggung jawab untuk:

  • Memberikan rahasia eksternal yang diperbarui, seperti sertifikat TLS baru yang digunakan untuk mengamankan titik akhir penyedia sumber daya.
  • Mengelola rotasi rahasia penyedia sumber daya secara teratur.

Dalam persiapan untuk proses rotasi:

  1. Tinjau persyaratan sertifikat infrastruktur kunci umum (PKI) Azure Stack Hub untuk informasi prasyarat penting sebelum memperoleh/memperpanjang sertifikat X509 Anda, termasuk detail tentang format PFX yang diperlukan. Tinjau juga persyaratan yang ditentukan di bagian sertifikat PaaS opsional, untuk penyedia sumber daya nilai tambah khusus Anda.
  2. Jika Anda belum melakukannya, Instal modul PowerShell Az untuk Azure Stack Hub sebelum melanjutkan. Versi 2.0.2-pratinjau atau yang lebih baru diperlukan untuk rotasi rahasia Azure Stack Hub. Untuk informasi selengkapnya, lihat Bermigrasi dari AzureRM ke Azure PowerShell Az di Azure Stack Hub.

Menyiapkan sertifikat TLS baru

Selanjutnya, buat atau perpanjang sertifikat TLS Anda untuk mengamankan titik akhir penyedia sumber daya nilai tambah:

  1. Selesaikan langkah-langkah di Membuat permintaan penandatanganan sertifikat (CSR) untuk perpanjangan sertifikat untuk penyedia sumber daya Anda. Di sini, Anda menggunakan alat Pemeriksa Kesiapan Azure Stack Hub untuk membuat CSR. Pastikan untuk menjalankan cmdlet yang benar untuk penyedia sumber daya Anda, di langkah "Membuat permintaan sertifikat untuk layanan Azure Stack Hub lainnya". Misalnya New-AzsHubEventHubsCertificateSigningRequest digunakan untuk Azure Event Hubs. Setelah selesai, Anda mengirimkan file generate.REQ ke Certificate Authority (CA) Anda untuk sertifikat baru.
  2. Setelah Anda menerima file sertifikat dari CA, selesaikan langkah-langkah di Menyiapkan sertifikat untuk penyebaran atau rotasi. Anda menggunakan alat Pemeriksa Kesiapan lagi, untuk memproses file yang ditampilkan dari CA.
  3. Terakhir, selesaikan langkah-langkah di Memvalidasi sertifikat PKI Azure Stack Hub. Anda menggunakan alat Pemeriksa Kesiapan sekali lagi, untuk melakukan uji validasi pada sertifikat baru Anda.

Memutar rahasia

Terakhir, tentukan properti penyebaran terbaru penyedia sumber daya dan gunakan untuk menyelesaikan proses rotasi rahasia.

Penyedia sumber daya disebarkan ke lingkungan Azure Stack Hub Anda sebagai paket produk versi. Paket diberi ID paket unik, dalam format <product-id>.<installed-version>. Dengan <product-id> adalah string unik yang mewakili penyedia sumber daya, dan <installed-version> mewakili versi tertentu. Rahasia yang terkait dengan setiap paket disimpan di layanan Azure Stack Hub Key Vault.

Buka konsol PowerShell yang ditinggikan dan selesaikan langkah-langkah berikut untuk menentukan properti yang diperlukan untuk memutar rahasia penyedia sumber daya:

  1. Masuk ke lingkungan Azure Stack Hub Anda menggunakan info masuk operator Anda. Pastikan untuk menggunakan cmdlet PowerShell Az (bukan AzureRM), dan ganti semua nilai placeholder, seperti URL titik akhir dan nama penyewa direktori.

  2. Jalankan Get-AzsProductDeployment cmdlet untuk mengambil daftar penyebaran penyedia sumber daya terbaru. Kumpulan "value" yang ditampilkan berisi elemen untuk setiap penyedia sumber daya yang disebarkan. Temukan penyedia sumber daya yang menarik dan catat nilai untuk properti ini:

    • "name" - berisi ID produk penyedia sumber di segmen nilai kedua.
    • "properties"."deployment"."version" - berisi nomor versi yang saat ini disebarkan.
PS C:\WINDOWS\system32> Get-AzsProductDeployment -AsJson
VERBOSE: GET https://adminmanagement.myregion.mycompany.com/subscriptions/ze22ca96-z546-zbc6-z566-z35f68799816/providers/Microsoft.Deployment.Admin/locations/global/productDeployments?api-version=2019-01-01 with 0-char payload
VERBOSE: Received 2656-char response, StatusCode = OK
{
    "value":  [
                  {
                      "id":  "/subscriptions/ze22ca96-z546-zbc6-z566-z35f68799816/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/microsoft.eventhub",
                      "name":  "global/microsoft.eventhub",
                      "type":  "Microsoft.Deployment.Admin/locations/productDeployments",
                      "properties":  {
                                        "status":  "DeploymentSucceeded",
                                        "subscriptionId":  "b37ae55a-a6c6-4474-ba97-81519412adf5",
                                        "deployment":  {
                                                            "version":  "1.2003.0.0",
                                                            "actionPlanInstanceResourceId":"/subscriptions/ze22ca96-z546-zbc6-z566-z35f68799816/providers/Microsoft.Deployment.Admin/locations/global/actionplans/abcdfcd3-fef0-z1a3-z85d-z6ceb0f31e36",
                                                            "parameters":  {

                                                                          }
                                                        },
                                        "lastSuccessfulDeployment":  {
                                                                          "version":  "1.2003.0.0",
                                                                          "actionPlanInstanceResourceId":"/subscriptions/ze22ca96-z546-zbc6-z566-z35f68799816/providers/Microsoft.Deployment.Admin/locations/global/actionplans/abcdfcd3-fef0-z1a3-z85d-z6ceb0f31e36",
                                                                          "parameters":  {

                                                                                        }
                                                                      },
                                        "provisioningState":  "Succeeded"
                                    }
                  },
                  {
                  ...
                  }
              ]
}

  1. Buat ID paket penyedia sumber daya, dengan menggabungkan ID produk dan versi penyedia sumber daya. Misalnya, menggunakan nilai yang berasal dari langkah sebelumnya, ID paket RP Azure Event Hubs adalah microsoft.eventhub.1.2003.0.0.
  2. Menggunakan ID paket yang berasal dari langkah sebelumnya, jalankan Get-AzsProductSecret -PackageId untuk mengambil daftar jenis rahasia yang digunakan oleh penyedia sumber daya. Dalam kumpulan value yang ditampilkan, temukan elemen yang berisi nilai "Certificate" untuk properti "properties"."secretKind". Elemen ini berisi properti untuk rahasia sertifikat RP. Catat nama yang ditetapkan untuk rahasia sertifikat ini, yang diidentifikasi oleh segmen terakhir dari properti "name", tepat di atas "properties".
PS C:\WINDOWS\system32> Get-AzsProductSecret -PackageId 'microsoft.eventhub.1.2003.0.0' -AsJson
VERBOSE: GET
https://adminmanagement.myregion.mycompany.com/subscriptions/ze22ca96-z546-zbc6-z566-z35f68799816/providers/Microsoft.Deployment.Admin/locations/global/productPackages/microsoft.eventhub.1.2003.0.0/secrets?api-version=2019-01-01 with 0-char payload
VERBOSE: Received 617-char response, StatusCode = OK
{
    "value":  [
                    {
                        "id":  "/subscriptions/ze22ca96-z546-zbc6-z566-z35f68799816/providers/Microsoft.Deployment.Admin/locations/global/productPackages/microsoft.eventhub.1.2003.0.0/secrets/aseh-ssl-gateway-pfx",
                        "name":  "global/microsoft.eventhub.1.2003.0.0/aseh-ssl-gateway-pfx",
                        "type":  "Microsoft.Deployment.Admin/locations/productPackages/secrets",
                        "properties":  {
                                        "secretKind":  "Certificate",
                                        "description":  "Event Hubs gateway SSL certificate.",
                                        "expiresAfter":  "P730D",
                                        "secretDescriptor":  {

                                                                },
                                        "secretState":  {
                                                            "status":  "Deployed",
                                                            "rotationStatus":  "None",
                                                            "expirationDate":  "2022-03-31T00:16:05.3068718Z"
                                                        },
                                        "provisioningState":  "Succeeded"
                                    }
                    },
                    ...
                ]
}

Memutar rahasia

  1. Gunakan Set-AzsProductSecret cmdlet untuk mengimpor sertifikat baru Anda ke Key Vault, yang akan digunakan oleh proses rotasi. Ganti nilai placeholder variabel yang sesuai sebelum menjalankan skrip:
$productId = '<product-id>'
$packageId = $productId + '.' + '<installed-version>'
$certSecretName = '<cert-secret-name>'
$pfxFilePath = '<cert-pfx-file-path>'
$pfxPassword = ConvertTo-SecureString '<pfx-password>' -AsPlainText -Force
Set-AzsProductSecret -PackageId $packageId -SecretName $certSecretName -PfxFileName $pfxFilePath -PfxPassword $pfxPassword -Force

  1. Terakhir, gunakan cmdlet 'Invoke-AzsProductRotateSecretsAction` untuk memutar rahasia internal dan eksternal:
Invoke-AzsProductRotateSecretsAction -ProductId $productId

Anda dapat memantau kemajuan rotasi rahasia di konsol PowerShell, atau di portal administrator dengan memilih penyedia sumber daya di layanan Marketplace:

Image of secret rotation process.