Megosztás a következőn keresztül:


Alkalmazástanúsítvány hozzáadása egy Service Fabric-fürthöz

Ez a példaszkript bemutatja, hogyan hozhat létre tanúsítványt a Key Vaultban, majd helyezheti üzembe azon virtuálisgép-méretezési csoportok egyikében, amelyen a fürt fut. Ez a forgatókönyv nem közvetlenül használja a Service Fabricet, hanem a Key Vaulttól és a virtuálisgép-méretezési csoportoktól függ.

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Szükség esetén telepítse az Azure PowerShellt az Azure PowerShell útmutatójának utasításait követve, majd a Connect-AzAccount futtatásával hozza létre a kapcsolatot az Azure-ral.

Tanúsítvány létrehozása a Key Vaultban

$VaultName = ""
$CertName = ""
$SubjectName = "CN="

$policy = New-AzKeyVaultCertificatePolicy -SubjectName $SubjectName -IssuerName Self -ValidityInMonths 12
Add-AzKeyVaultCertificate -VaultName $VaultName -Name $CertName -CertificatePolicy $policy

Vagy töltsön fel egy meglévő tanúsítványt a Key Vaultba

$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

Virtuálisgép-méretezési csoportok profiljának frissítése tanúsítvánnyal

$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

A virtuálisgép-méretezési csoport frissítése

Update-AzVmss -ResourceGroupName $ResourceGroupName -VirtualMachineScaleSet $VMSS -VMScaleSetName $VMSSName

Ha a fürtben több csomóponttípusra helyezett tanúsítványt szeretne, a szkript második és harmadik részét minden olyan csomóponttípus esetében meg kell ismételni, amelyeknek rendelkezniük kell a tanúsítvánnyal.

Szkript ismertetése

A szkript a következő parancsokat használja: A táblázatban lévő összes parancs a hozzá tartozó dokumentációra hivatkozik.

Parancs Jegyzetek
New-AzKeyVaultCertificatePolicy Létrehoz egy memórián belüli szabályzatot, amely a tanúsítványt jelöli
Add-AzKeyVaultCertificate A szabályzat központi telepítése a Key Vault-tanúsítványokban
Set-AzKeyVaultSecret A szabályzat központi telepítése a Key Vault titkos kulcsai között
New-AzVmssVaultCertificateConfig Létrehoz egy memórián belüli konfigurációt, amely a tanúsítványt jelöli egy virtuális gépen
Get-AzVmss
Add-AzVmssSecret Hozzáadja a tanúsítványt a virtuálisgép-méretezési csoport memóriabeli definíciójába
Update-AzVmss A virtuálisgép-méretezési csoport új definíciójának üzembe helyezése

Következő lépések

Az Azure PowerShell modullal kapcsolatos további információért lásd az Azure PowerShell dokumentációját.

Az Azure Service Fabric további Azure PowerShell-mintái az Azure PowerShell-mintákban találhatók.