Аутентификация в Azure выполняется на уровне клиента, поэтому при условии, что вы не используете расширенные сервисы для хранилища ключей (доступ к ARM, шифрование виртуальной машины и т. Д.), Вы можете иметь хранилище ключей в одной подписке и получать доступ к нему из MSI в разностная подписка - до тех пор, пока вы предоставляете пользователю MSI права доступа к хранилищу ключей.
Пока вы предоставляете разрешения для ресурса, AAD очень мало знает о подписках (подписки - это, по сути, один большой ресурс, которому вы можете предоставить привилегии)
Отредактировано для уточнения расширенных политик доступа
Существует три расширенные политики доступа к хранилищу ключей.
- enabledForDeployment
- enabledForDiskEncryption
- enabledForTemplateDeployment
Политика enabledForTemplateDeployment
применяется, только если вы читаете секрет из развертывания шаблона ARM. т.е. если вы передаете пароль виртуальной машины непосредственно из хранилища ключей.
В вашей ситуации, если это требование, вы можете просто поместить их в другое хранилище ключей, расположенное в той же подписке.