Gerir Key Vault no Azure Stack Hub com o PowerShell
Este artigo descreve como criar e gerir um cofre de chaves no Azure Stack Hub com o PowerShell. Irá aprender a utilizar Key Vault cmdlets do PowerShell para:
- Criar um cofre de chaves.
- Armazene e faça a gestão de chaves criptográficas e segredos.
- Autorizar utilizadores ou aplicações a invocar operações no cofre.
Nota
Os cmdlets do Key Vault PowerShell descritos neste artigo são fornecidos no SDK Azure PowerShell.
Pré-requisitos
- Tem de subscrever uma oferta que inclua o serviço Key Vault do Azure.
- Instale o PowerShell para o Azure Stack Hub.
- Configure o ambiente do PowerShell do Azure Stack Hub.
Ativar a sua subscrição de inquilino para operações de Key Vault
Antes de poder emitir quaisquer operações num cofre de chaves, tem de garantir que a subscrição do inquilino está ativada para operações do cofre. Para verificar se as operações do cofre de chaves estão ativadas, execute o seguinte comando:
Get-AzResourceProvider -ProviderNamespace Microsoft.KeyVault | ft -Autosize
Se a sua subscrição estiver ativada para operações do cofre, a saída mostra Que RegistrationState está Registado para todos os tipos de recursos de um cofre de chaves.
Se as operações do cofre não estiverem ativadas, emita o seguinte comando para registar o serviço Key Vault na sua subscrição:
Register-AzResourceProvider -ProviderNamespace Microsoft.KeyVault
Se o registo for bem-sucedido, é devolvido o seguinte resultado:
Quando invoca os comandos do cofre de chaves, poderá receber um erro, como "A subscrição não está registada para utilizar o espaço de nomes "Microsoft.KeyVault". Se receber um erro, confirme que ativou o fornecedor de recursos Key Vault ao seguir as instruções anteriores.
Criar um cofre de chaves
Antes de criar um cofre de chaves, crie um grupo de recursos para que todos os recursos relacionados com o cofre de chaves existam num grupo de recursos. Utilize o seguinte comando para criar um novo grupo de recursos:
New-AzResourceGroup -Name "VaultRG" -Location local -verbose -Force
Agora, utilize o seguinte cmdlet para criar um cofre de chaves no grupo de recursos que criou anteriormente. Este comando lê três parâmetros obrigatórios: nome do grupo de recursos, nome do cofre de chaves e localização geográfica.
Execute o seguinte comando para criar um cofre de chaves:
New-AzKeyVault -VaultName "Vault01" -ResourceGroupName "VaultRG" -Location local -verbose
O resultado deste comando mostra as propriedades do cofre de chaves que criou. Quando uma aplicação acede a este cofre, tem de utilizar a propriedade URI do Cofre , que está https://vault01.vault.local.azurestack.external
neste exemplo.
implementação do Serviços de Federação do Active Directory (AD FS) (AD FS)
Numa implementação do AD FS, poderá receber este aviso: "A política de acesso não está definida. Nenhum utilizador ou aplicação tem permissão de acesso para utilizar este cofre." Para resolver este problema, defina uma política de acesso para o cofre com o comando Set-AzKeyVaultAccessPolicy :
# Obtain the security identifier(SID) of the active directory user
$adUser = Get-ADUser -Filter "Name -eq '{Active directory user name}'"
$objectSID = $adUser.SID.Value
# Set the key vault access policy
Set-AzKeyVaultAccessPolicy -VaultName "{key vault name}" -ResourceGroupName "{resource group name}" -ObjectId "{object SID}" -PermissionsToKeys {permissionsToKeys} -PermissionsToSecrets {permissionsToSecrets} -BypassObjectIdValidation
Gerir chaves e segredos
Depois de criar um cofre, utilize estes passos para criar e gerir chaves e segredos no cofre.
Criar uma chave
Utilize o cmdlet Add-AzureKeyVaultKey para criar ou importar uma chave protegida por software num cofre de chaves:
Add-AzureKeyVaultKey -VaultName "Vault01" -Name "Key01" -verbose -Destination Software
O -Destination
parâmetro é utilizado para especificar que a chave está protegida por software. Quando a chave é criada com êxito, o comando produz os detalhes da chave criada.
Agora, pode referenciar a chave criada com o respetivo URI. Se criar ou importar uma chave com o mesmo nome que uma chave existente, a chave original é atualizada com os valores especificados na nova chave. Pode aceder à versão anterior com o URI específico da versão da chave. Por exemplo:
- Utilize
https://vault10.vault.local.azurestack.external:443/keys/key01
para obter sempre a versão atual. - Utilize
https://vault010.vault.local.azurestack.external:443/keys/key01/d0b36ee2e3d14e9f967b8b6b1d38938a
para obter esta versão específica.
Obter uma chave
Utilize o cmdlet Get-AzureKeyVaultKey para ler uma chave e os respetivos detalhes:
Get-AzureKeyVaultKey -VaultName "Vault01" -Name "Key01"
Criar um segredo
Utilize o cmdlet Set-AzureKeyVaultSecret para criar ou atualizar um segredo num cofre. É criado um segredo se ainda não existir. É criada uma nova versão do segredo se já existir:
$secretvalue = ConvertTo-SecureString "User@123" -AsPlainText -Force
Set-AzureKeyVaultSecret -VaultName "Vault01" -Name "Secret01" -SecretValue $secretvalue
Obter um segredo
Utilize o cmdlet Get-AzureKeyVaultSecret para ler um segredo num cofre de chaves. Este comando pode devolver todas ou versões específicas de um segredo:
Get-AzureKeyVaultSecret -VaultName "Vault01" -Name "Secret01"
Depois de criar as chaves e os segredos, pode autorizar aplicações externas a utilizá-las.
Autorizar uma aplicação a utilizar uma chave ou segredo
Utilize o seguinte cmdlet para autorizar uma aplicação a aceder a uma chave ou segredo no cofre de chaves.
No exemplo seguinte, o nome do cofre é ContosoKeyVault e a aplicação que pretende autorizar tem um ID de cliente de 8f8c4bbd-485b-45fd-98f7-ec6300b7b4ed. Para autorizar a aplicação, execute o seguinte comando. Também pode especificar o parâmetro PermissionsToKeys para definir permissões para um utilizador, uma aplicação ou um grupo de segurança.
Ao utilizar o cmdlet num ambiente do Azure Stack Hub configurado pelo AD FS, deve ser fornecido o parâmetro BypassObjectIdValidation
Set-AzKeyVaultAccessPolicy -VaultName 'ContosoKeyVault' -ServicePrincipalName 8f8c4bbd-485b-45fd-98f7-ec6300b7b4ed -PermissionsToKeys decrypt,sign -BypassObjectIdValidation
Se quiser autorizar essa mesma aplicação a ler segredos no cofre, execute o seguinte cmdlet:
Set-AzKeyVaultAccessPolicy -VaultName 'ContosoKeyVault' -ServicePrincipalName 8f8c4bbd-485b-45fd-98f7-ec6300 -PermissionsToKeys Get -BypassObjectIdValidation
Passos seguintes
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários