0

我需要使用 powershell 授予和删除对 Keyvault for Managed Instances 中 TDE 密钥的访问权限。根据以下文档,Microsoft 建议使用以下代码获取托管实例的 objectid 并使用它来设置密钥保管库中的策略

https://docs.microsoft.com/en-us/powershell/module/az.sql/add-azsqlinstancekeyvaultkey?view=azps-4.4.0

$managedInstance = Get-AzSqlInstance -Name 'ContosoManagedInstanceName' -ResourceGroupName 'ContosoResourceGroup' Set-AzKeyVaultAccessPolicy -VaultName ContosoVault -ObjectId $managedInstance.Identity.PrincipalId -PermissionsToKeys get, wrapKey, unwrapKey

但是上面的命令对我不起作用,因为我用红色标记的身份属性是空的

在此处输入图像描述

我检查了我们库存中的所有 MI 并且它们都是空的,但是我可以使用 Azure 门户轻松地为保管库中的密钥分配权限,该门户还显示了在选择主体时托管实例的 GUID(对象 ID)。有谁知道为什么 Get-AzSqlInstance 的标识属性为空,有没有其他方法可以使用 PowerShell 完成此操作?

4

1 回答 1

0

您可以使用 CmdLet 为您的 MI 分配身份:Set-AzSqlInstance(请参阅:-AssignIdentity 参数https://docs.microsoft.com/en-us/powershell/module/az.sql/set-azsqlinstance?view=azps- 5.1.0 )

BR。

于 2020-11-30T14:55:43.623 回答