Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten przykładowy skrypt przeprowadzi cię przez proces tworzenia certyfikatu w usłudze Key Vault, a następnie wdrażania go w jednym z zestawów skalowania maszyn wirtualnych uruchomionych w klastrze. Ten scenariusz nie korzysta bezpośrednio z usługi Service Fabric, ale raczej zależy od usługi Key Vault i zestawów skalowania maszyn wirtualnych.
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
W razie potrzeby zainstaluj program Azure PowerShell, korzystając z instrukcji w przewodniku programu Azure PowerShell, a następnie uruchom polecenie Connect-AzAccount
, aby utworzyć połączenie z platformą Azure.
Tworzenie certyfikatu w usłudze Key Vault
$VaultName = ""
$CertName = ""
$SubjectName = "CN="
$policy = New-AzKeyVaultCertificatePolicy -SubjectName $SubjectName -IssuerName Self -ValidityInMonths 12
Add-AzKeyVaultCertificate -VaultName $VaultName -Name $CertName -CertificatePolicy $policy
Lub przekaż istniejący certyfikat do usługi 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
Aktualizowanie profilu zestawów skalowania maszyn wirtualnych przy użyciu certyfikatu
$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
Aktualizowanie zestawu skalowania maszyn wirtualnych
Update-AzVmss -ResourceGroupName $ResourceGroupName -VirtualMachineScaleSet $VMSS -VMScaleSetName $VMSSName
Jeśli chcesz, aby certyfikat był umieszczony na wielu typach węzłów w klastrze, druga i trzecia część tego skryptu powinna być powtórzona dla każdego typu węzła, który ma mieć certyfikat.
Objaśnienia dla skryptu
W tym skrypcie użyto następujących poleceń. Każde polecenie w tabeli stanowi link do dokumentacji polecenia.
Polecenie | Uwagi |
---|---|
New-AzKeyVaultCertificatePolicy | Tworzy w pamięci politykę reprezentującą certyfikat |
Add-AzKeyVaultCertificate | Wdraża zasady w certyfikatach usługi Key Vault |
Set-AzKeyVaultSecret | Wdraża politykę do tajemnic Key Vault |
New-AzVmssVaultCertificateConfig | Tworzy konfigurację w pamięci reprezentującą certyfikat na maszynie wirtualnej |
Get-AzVmss | |
Add-AzVmssSecret | Dodaje certyfikat do definicji w pamięci zestawu skalowania maszyn wirtualnych |
Update-AzVmss | Wdraża nową definicję zestawu skalowania maszyn wirtualnych |
Następne kroki
Aby uzyskać więcej informacji na temat modułu Azure PowerShell, zobacz dokumentację programu Azure PowerShell.
Dodatkowe przykłady programu Azure PowerShell dla usługi Azure Service Fabric można znaleźć w przykładach programu Azure PowerShell.