即使我正在訂閱所有者配置文件下執行它,我無法執行Azure Powershell命令Add-AzureKeyVaultManagedStorageAccount
。我通過以下方式成功創建keyvault,存儲賬戶,並存儲帳戶關鍵:Azure Powershell添加AzureKeyVaultManagedStorageAccount失敗
$KeyVault = New-AzureRmKeyVault `
-VaultName "<redacted>" `
-ResourceGroupName $ResourceGroup.ResourceGroupName `
-Location $Location `
-EnabledForDiskEncryption `
-EnabledForDeployment `
-Tag $Tags
$StorageAccount = New-AzureRmStorageAccount `
-ResourceGroupName $ResourceGroup.ResourceGroupName `
-Name "<redacted>" `
-SkuName Standard_LRS `
-Location $Location `
-Kind "Storage" `
-EnableEncryptionService "Blob,File" `
-Tag $Tags `
-AssignIdentity
$StorageAccountKey = New-AzureRmStorageAccountKey `
-ResourceGroupName $ResourceGroup.ResourceGroupName `
-Name $StorageAccount.StorageAccountName `
-KeyName "key1"
,但想在我的關鍵金庫管理存儲帳戶密鑰失敗
$KeyVaultManagedStorageAccount = Add-AzureKeyVaultManagedStorageAccount `
-VaultName $KeyVault.VaultName `
-AccountName $StorageAccount.StorageAccountName `
-AccountResourceId $StorageAccount.Id `
-ActiveKeyName "key1" `
-Tag $Tags
這是錯誤。正如我所提到的,我是在訂閱所有者配置文件下執行的,那麼它如何不能獲得授權?其次,下面標識的「相同的編輯對象ID」與我可以找到的訂閱中的任何對象不對應。我第一次遇到了Azure Powershell 4.2.1的這個問題,並且已經升級到4.3.0並且仍然存在問題。
Add-AzureKeyVaultManagedStorageAccount : The client '<same redacted object Id>' with object id '<same redacted object Id>' does not have authorization to perform action
'Microsoft.Authorization/permissions/read' over scope
'/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>/providers/Microsoft.Authorization'.
At E:\BitSync\Scripts\Azure\Create-Environment.ps1:129 char:34
+ ... VaultManagedStorageAccount = Add-AzureKeyVaultManagedStorageAccount `
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Add-AzureKeyVaultManagedStorageAccount], KeyVaultErrorException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.KeyVault.AddAzureKeyVaultManagedStorageAccount
順便說一句,有沒有出現任何的方式,通過重點庫比剪切和粘貼等門戶來管理存儲帳戶的密鑰。
傑森,這不適合我。 Get-AzureRmADServicePrincipal返回2個屬性,看起來他們可能是New-AzureRmRoleAssignment,ApplicationId和Id的objectId,但是使用其中一個導致錯誤「無法驗證參數'ObjectId'參數。指定一個類型爲」System.Guid「的參數然後再試一次」。他們都看起來像Guids給我。 –
@JackFox我們可以使用'get-azurermkeyvault'來獲取信息,在那個輸出中,我們可以找到對象ID,請檢查截圖。 –
Jason,修復了幾件事情:1)它不是keyvault的ObjectId,而是$ KeyVault.AccessPolicies [0] .ObjectId。感謝您指出了這一點。 2)而存儲帳戶的資源ID實際上是$ StorageAccount.Id。一切都很好。我又回到了我原來的問題。 Add-AzureKeyVaultManagedStorageAccount拋出錯誤對象ID爲'無法識別的GUID'的客戶端'無法識別的GUID'沒有權限執行操作'Microsoft.Authorization/permissions/read'超過作用域資源ID的存儲帳戶' –