Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este exemplo de script Azure PowerShell explica como criar um certificado no Key Vault e depois implementá-lo num dos conjuntos de escala de máquinas virtuais onde o seu cluster corre. Este cenário não utiliza o Service Fabric diretamente, mas depende antes do Key Vault e dos conjuntos de escala de máquinas virtuais.
Observação
Recomendamos que utilize o módulo do Azure Az PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.
Se necessário, instale o Azure PowerShell usando as instruções encontradas no guia do Azure PowerShell e execute Connect-AzAccount para criar uma conexão com o Azure.
Criar um certificado no Cofre da Chave
$VaultName = ""
$CertName = ""
$SubjectName = "CN="
$policy = New-AzKeyVaultCertificatePolicy -SubjectName $SubjectName -IssuerName Self -ValidityInMonths 12
Add-AzKeyVaultCertificate -VaultName $VaultName -Name $CertName -CertificatePolicy $policy
Ou carregue um certificado existente no Cofre da Chave
$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
Atualizar o perfil dos conjuntos de dimensionamento da máquina virtual com o certificado
$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
Atualizar o conjunto de dimensionamento da máquina virtual
Update-AzVmss -ResourceGroupName $ResourceGroupName -VirtualMachineScaleSet $VMSS -VMScaleSetName $VMSSName
Se desejar que o certificado seja colocado em vários tipos de nós no seu cluster, a segunda e a terceira partes deste script devem ser repetidas para cada tipo de nó que tiver de ter o certificado.
Explicação do script
Esse script usa os seguintes comandos: Cada comando na tabela vincula a documentação específica do comando.
| Comando | Observações |
|---|---|
| New-AzKeyVaultCertificatePolicy | Cria uma política em memória que representa o certificado |
| Add-AzKeyVaultCertificate | Implanta a política em certificados do Key Vault |
| Set-AzKeyVaultSecret | Implanta a política nos segredos do Key Vault |
| New-AzVmssVaultCertificateConfig | Cria uma configuração na memória que representa o certificado em uma VM |
| Get-AzVmss | |
| Add-AzVmssSecret | Adiciona o certificado à definição na memória do conjunto de escala da máquina virtual |
| Update-AzVmss | Implanta a nova definição do conjunto de escala da máquina virtual |
Próximos passos
Para obter mais informações sobre o módulo do Azure PowerShell, veja Documentação do Azure PowerShell.
Exemplos adicionais do Azure PowerShell para o Azure Service Fabric podem ser encontrados nos exemplos do Azure PowerShell.