我正试图克制一个秘密价值"使用Azure Key Vault。我正在关注位于此处的Microsoft教程... https://azure.microsoft.com/en-us/documentation/articles/key-vault-get-started/
我能够使用...
创建Key VaultNew-AzureRmKeyVault -VaultName 'MyKeyVaultName' -ResourceGroupName 'MyResourceGroup' -Location 'West US'
我也可以通过使用...
验证它是否已创建 Get-AzureRmKeyVault
我可以使用以下内容创建秘密值...
$secretvalue = ConvertTo-SecureString 'Pa$$w0rd' -AsPlainText -Force
但是当我尝试设置键时......
$secret = Set-AzureKeyVaultSecret -VaultName 'MyKeyVaultName' -Name 'SQLPassword' -SecretValue $secretvalue
我收到错误消息
Set-AzureKeyVaultSecret : Operation "set" is not allowed
我以为我通过创建密钥保险库获得了所有访问权限?我是否需要添加特定权限?
答案 0 :(得分:10)
可能是权限问题。请尝试以下方法:
Set-AzureRmKeyVaultAccessPolicy –VaultName ‘{your vault name}’ –UserPrincipalName ‘{your account email}’ –PermissionsToKeys all –PermissionsToSecrets all
答案 1 :(得分:2)
您遇到的问题是您没有创建附加密钥的密钥,您需要调用Add-AzureKeyVaultKey
来创建该密钥。像这样......
$vault = Get-AzureRmKeyVault
$secretvalue = ConvertTo-SecureString 'Pa$$w0rd' `
-AsPlainText -Force
$key = Add-AzureKeyVaultKey -VaultName $vault.VaultName `
-Name Test01 `
-Destination Software
(Get-AzureKeyVaultSecret -VaultName $vault.VaultName `
-Name test01).SecretValueText
返回
为Pa $$ w0rd