Не уверен, что на самом деле вы имеете в виду access keyvault
, в лазурном хранилище ключей есть Management plane
и Data plane
, они используют разные механизмы контроля доступа.
Если вы хотите, чтобы ваш субъект-служба выполнял Management plane
операции (например, устанавливал тег вашего хранилища ключей), вам необходимо назначить ему роль в Access control (IAM)
хранилища ключей на портале. Если вы хотите выполнять Data plane
операции (например, работать с ключами, секретами, сертификатами в хранилище ключей), вам необходимо добавить субъект-службу с правильными разрешениями в Access policies
хранилища ключей.
Для получения дополнительных сведений об управлении доступом к хранилищу ключей вы можете проверить - Безопасный доступ к хранилищу ключей.
Поэтому убедитесь, что у вашего субъекта-службы уже есть правильные разрешения, затем используйте команду ниже.
$azureAplicationId ="<application-id>"
$azureTenantId= "<tenant-id>"
$azurePassword = ConvertTo-SecureString "<client-secret>" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAplicationId , $azurePassword)
Connect-AzAccount -Credential $psCred -TenantId $azureTenantId -ServicePrincipal
Затем вы можете выполнять Management plane
операции, такие как _ 10_ или Data plane
операции, такие как _ 12_.
Чтобы получить доступ к хранилищу ключей в другой подписке, просто используйте команду ниже, чтобы выбрать подписку.
Set-AzContext -Subscription <subscription-id>
И я заметил, что вы используете старый модуль AzureRm
, он устарел и больше не будет обновляться, я рекомендую вам использовать новый модуль Az
, следуйте Перенести Azure PowerShell из AzureRM в Az.
person
Joy Wang
schedule
06.05.2020
Set-AzKeyVaultAccessPolicy
- person Ash   schedule 06.05.2020access keyvault
? Как получить доступ к хранилищу ключей? - person Joy Wang   schedule 06.05.2020