Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit Azure PowerShell-voorbeeldscript wordt uitgelegd hoe u een certificaat maakt in Key Vault en het vervolgens implementeert in een van de virtuele-machineschaalsets waarop uw cluster wordt uitgevoerd. In dit scenario wordt Service Fabric niet rechtstreeks gebruikt, maar is eerder afhankelijk van Key Vault en van virtuele-machineschaalsets.
Opmerking
U wordt aangeraden de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Installeer zo nodig de Azure PowerShell met behulp van de instructies in de Azure PowerShell-handleiding en voer deze uit Connect-AzAccount om een verbinding met Azure te maken.
Een certificaat maken in Key Vault
$VaultName = ""
$CertName = ""
$SubjectName = "CN="
$policy = New-AzKeyVaultCertificatePolicy -SubjectName $SubjectName -IssuerName Self -ValidityInMonths 12
Add-AzKeyVaultCertificate -VaultName $VaultName -Name $CertName -CertificatePolicy $policy
Of upload een bestaand certificaat naar 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
Profiel voor virtuele-machineschaalsets bijwerken met certificaat
$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
Virtuele machine-schaalset bijwerken
Update-AzVmss -ResourceGroupName $ResourceGroupName -VirtualMachineScaleSet $VMSS -VMScaleSetName $VMSSName
Als u het certificaat op meerdere knooppunttypen in uw cluster wilt plaatsen, moeten de tweede en derde onderdelen van dit script worden herhaald voor elk knooppunttype dat het certificaat moet hebben.
Uitleg van script
Dit script maakt gebruik van de volgende opdrachten: elke opdracht in de tabel bevat koppelingen naar opdrachtspecifieke documentatie.
| Opdracht | Opmerkingen |
|---|---|
| New-AzKeyVaultCertificatePolicy | Hiermee maakt u een beleid in het geheugen dat het certificaat vertegenwoordigt |
| Add-AzKeyVaultCertificate | Hiermee wordt het beleid geïmplementeerd in Key Vault-certificaten |
| Set-AzKeyVaultSecret | Hiermee wordt het beleid geïmplementeerd in Key Vault Secrets |
| New-AzVmssVaultCertificateConfig | Hiermee maakt u een in-memory configuratie die het certificaat in een VIRTUELE machine vertegenwoordigt |
| Get-AzVmss | |
| Add-AzVmssSecret | Voegt het certificaat toe aan de geheugenweergave van de virtuele machineschaalset |
| Update-AzVmss | Implementeert de nieuwe definitie van de virtuele machineschaalset |
Volgende stappen
Zie voor meer informatie over de Azure PowerShell-module de documentatie van Azure PowerShell.
Meer Voorbeelden van Azure PowerShell voor Azure Service Fabric vindt u in de Azure PowerShell-voorbeelden.