在没有用户的情况下在Azure中创建KeyVault

时间:2018-09-25 14:56:01

标签: azure powershell azure-resource-manager

Azure中有没有一种方法可以在没有任何用户的情况下创建密钥库?我正在尝试按照文档进行操作,但是看不到任何可以在一行中实现此目标的命令?

New-AzureRmKeyVault -VaultName my-test -ResourceGroupName abc -Location "Brazil South"

我可以在上面添加的任何powershell命令不创建任何访问策略或主要用户吗?

2 个答案:

答案 0 :(得分:0)

您可以使用模板创建没有访问策略的保管库-参见:https://github.com/Azure/azure-quickstart-templates/blob/master/101-key-vault-create/azuredeploy.json,只需删除它:https://github.com/Azure/azure-quickstart-templates/blob/master/101-key-vault-create/azuredeploy.json#L105-L114

您可以使用New-AzureRMResourceGroupDeployment在PowerShell中进行部署。

答案 1 :(得分:0)

默认情况下,New-AzureRmKeyVault使用访问策略创建密钥库,如果要在一行中实现,可以使用powershell管道,尝试下面的命令,对我而言效果很好。

New-AzureRmKeyVault -VaultName '<VaultName>' -ResourceGroupName '<ResourceGroupName>' -Location 'East US' | Remove-AzureRmKeyVaultAccessPolicy -ObjectId "<ObjectId of your signin user or service principal>"

更新

我想您是通过用户帐户创建密钥仓库的,您可以通过Get-AzureRmADUser获得ObjectId-UserPrincipalName是您的帐户。

完整命令:

$ObjectId = (Get-AzureRmADUser -UserPrincipalName "xxxx@xxxx.com").Id
New-AzureRmKeyVault -VaultName '<VaultName>' -ResourceGroupName '<ResourceGroupName>' -Location 'East US' | Remove-AzureRmKeyVaultAccessPolicy -ObjectId $ObjectId