Подключение к Azure KeyVault через SPN

Мне нужна помощь в доступе к Azure KeyVault через субъект-службу. В настоящее время у меня есть две подписки, которым необходимо связываться и получать доступ к Key Vault другой подписки, но для этого мне потребуется подключение через SPN. Я просмотрел документацию для Get-AzureRmKeyVault, и она не дает возможности аутентифицироваться через SPN из того, что я могу найти.

Если у кого-то есть решение, я был бы очень признателен!


person bmakl    schedule 05.05.2020    source источник
comment
Я думаю, вы ищете Set-AzKeyVaultAccessPolicy   -  person Ash    schedule 06.05.2020
comment
Собственно, что вы имеете в виду access keyvault? Как получить доступ к хранилищу ключей?   -  person Joy Wang    schedule 06.05.2020


Ответы (1)


Не уверен, что на самом деле вы имеете в виду 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