Menambahkan sertifikat aplikasi ke kluster Service Fabric
Sampel skrip ini berjalan melalui cara membuat sertifikat di Key Vault dan kemudian menyebarkannya ke salah satu skala komputer virtual yang mengatur kluster Anda berjalan. Skenario ini tidak menggunakan Service Fabric secara langsung, melainkan bergantung pada Key Vault dan pada set skala komputer virtual.
Catatan
Kami menyarankan agar Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Jika diperlukan, pasang Azure PowerShell menggunakan instruksi yang ditemukan di panduan Azure PowerShell, lalu jalankan Connect-AzAccount
untuk membuat sambungan dengan Azure.
Membuat sertifikat di Key Vault
$VaultName = ""
$CertName = ""
$SubjectName = "CN="
$policy = New-AzKeyVaultCertificatePolicy -SubjectName $SubjectName -IssuerName Self -ValidityInMonths 12
Add-AzKeyVaultCertificate -VaultName $VaultName -Name $CertName -CertificatePolicy $policy
Atau unggah sertifikat yang ada ke dalam Key Vault
$VaultName= ""
$CertName= ""
$CertPassword= ""
$PathToPFX= ""
$bytes = [System.IO.File]::ReadAllBytes($PathToPFX)
$base64 = [System.Convert]::ToBase64String($bytes)
$jsonBlob = @{
data = $base64
dataType = 'pfx'
password = $CertPassword
} | ConvertTo-Json
$contentbytes = [System.Text.Encoding]::UTF8.GetBytes($jsonBlob)
$content = [System.Convert]::ToBase64String($contentbytes)
$SecretValue = ConvertTo-SecureString -String $content -AsPlainText -Force
# Upload the certificate to the key vault as a secret
$Secret = Set-AzKeyVaultSecret -VaultName $VaultName -Name $CertName -SecretValue $SecretValue
Memperbarui profil set skala komputer virtual dengan sertifikat
$ResourceGroupName = ""
$VMSSName = ""
$CertStore = "My" # Update this with the store you want your certificate placed in, this is LocalMachine\My
# If you have added your certificate to the keyvault certificates, use
$CertConfig = New-AzVmssVaultCertificateConfig -CertificateUrl (Get-AzKeyVaultCertificate -VaultName $VaultName -Name $CertName).SecretId -CertificateStore $CertStore
# Otherwise, if you have added your certificate to the keyvault secrets, use
$CertConfig = New-AzVmssVaultCertificateConfig -CertificateUrl (Get-AzKeyVaultSecret -VaultName $VaultName -Name $CertName).Id -CertificateStore $CertStore
$VMSS = Get-AzVmss -ResourceGroupName $ResourceGroupName -VMScaleSetName $VMSSName
# If this KeyVault is already known by the virtual machine scale set, for example if the cluster certificate is deployed from this keyvault, use
$VMSS.virtualmachineprofile.osProfile.secrets[0].vaultCertificates.Add($CertConfig)
# Otherwise use
$VMSS = Add-AzVmssSecret -VirtualMachineScaleSet $VMSS -SourceVaultId (Get-AzKeyVault -VaultName $VaultName).ResourceId -VaultCertificate $CertConfig
Memperbarui set skala komputer virtual
Update-AzVmss -ResourceGroupName $ResourceGroupName -VirtualMachineScaleSet $VMSS -VMScaleSetName $VMSSName
Jika Anda ingin sertifikat ditempatkan pada beberapa jenis simpul di kluster Anda, bagian kedua dan ketiga dari skrip ini harus diulang untuk setiap jenis simpul yang seharusnya memiliki sertifikat.
Penjelasan skrip
Skrip ini menggunakan perintah berikut: Setiap perintah dalam tabel ditautkan ke dokumentasi khusus perintah.
Perintah | Catatan |
---|---|
Baru-AzKeyVaultCertificatePolicy | Membuat kebijakan dalam memori yang mewakili sertifikat |
Tambahkan-AzKeyVaultCertificate | Menyebarkan kebijakan ke Sertifikat Key Vault |
Atur-AzKeyVaultSecret | Menyebarkan kebijakan ke Rahasia Key Vault |
Baru-AzVmssVaultCertificateConfig | Membuat konfigurasi dalam memori yang mewakili sertifikat dalam komputer virtual |
Dapatkan-AzVmss | |
Tambahkan-AzVmssSecret | Menambahkan sertifikat ke definisi dalam memori dari set skala komputer virtual |
Perbarui-AzVmss | Menyebarkan definisi baru dari set skala komputer virtual |
Langkah berikutnya
Untuk informasi selengkapnya tentang modul Azure PowerShell, lihat dokumentasi Azure PowerShell.
Sampel Azure Powershell tambahan untuk Azure Service Fabric dapat ditemukan dalam sampel Azure PowerShell.