通过Powershell通过Azure Key Vault管理的密钥访问Azure存储

时间:2020-09-12 08:46:55

标签: powershell azure-functions azure-storage azure-table-storage azure-keyvault

我无法访问托管密钥库中的存储帐户密钥。 这是我的代码:

$secret = Get-AzKeyVaultManagedStorageAccount -VaultName $keyVaultName -Name $storageAccountName
$ctx =New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $secret.SecretValueText

似乎$ secret.SecretValueText为空/空。如何正确检索存储帐户密钥?这是出现的错误。

New-AzStorageContext : Cannot validate argument on parameter 'StorageAccountKey'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.

1 个答案:

答案 0 :(得分:0)

肯定是空的,Get-AzKeyVaultManagedStorageAccount的{​​{3}}是output,它没有这样的属性,SecretValueText是{{3}的属性}。

我认为您无法通过Get-AzKeyVaultManagedStorageAccount获取存储帐户密钥,如果要获取存储帐户密钥,可以使用以下命令,确保您登录的用户帐户/服务主体具有RBAC的角色,例如您存储帐户中的Storage Account Key Operator Service RoleContributorOwner

$key = (Get-AzStorageAccountKey -ResourceGroupName <group-name> -Name <storageaccount-name>).Value[0]
New-AzStorageContext -StorageAccountName <storageaccount-name> -StorageAccountKey $key

PSKeyVaultManagedStorageAccount