我需要使用Powershell在托管实例的Keyvault中授予和删除对TDE密钥的访问。 根据下面的文档,Microsoft建议使用下面的代码来获取Managed实例的objectid并使用它在密钥库中设置策略
$managedInstance = Get-AzSqlInstance -Name 'ContosoManagedInstanceName' -ResourceGroupName 'ContosoResourceGroup' Set-AzKeyVaultAccessPolicy -VaultName ContosoVault -ObjectId $managedInstance.Identity.PrincipalId -PermissionsToKeys get, wrapKey, unwrapKey
但是上面的命令对我不起作用,因为我用红色标记的标识属性为空
我检查了清单中的所有MI,但它们都是空的,但是我可以使用Azure门户轻松地为Vault中的密钥分配权限,该门户还显示托管实例的GUID(对象ID),同时选择主要。有谁知道为什么Get-AzSqlInstance的identity属性为空,是否有其他方法可以使用PowerShell完成此操作?
答案 0 :(得分:0)
您可以使用CmdLet:Set-AzSqlInstance向您的MI分配身份(请参阅:-AssignIdentity参数https://docs.microsoft.com/en-us/powershell/module/az.sql/set-azsqlinstance?view=azps-5.1.0)
BR。