Список виртуальных машин Azure в нескольких подписках в одном каталоге

У меня несколько подписок и несколько виртуальных машин в каждой подписке. Я использую библиотеку Microsoft.Azure.Management.Fluent для отображения всех виртуальных машин.

Я использовал команду ниже cli для создания файла аутентификации.

az ad sp create-for-rbac --sdk-auth > my.azureauth

используя файл аутентификации, я пытаюсь получить всю подписку, как показано ниже

var azure = Azure.Authenticate(file).WithDefaultSubscription();
var subs = azure.Subscriptions.List();

Кажется, что файл аутентификации, созданный с помощью команды, может получить доступ только к одной подписке.

Вот документация для команды

https://docs.microsoft.com/en-us/cli/azure/ad/sp?view=azure-cli-latest#az-ad-sp-create

Как я могу создать файл аутентификации для доступа ко всем подпискам и виртуальным машинам в каждой подписке?


person Manjoor    schedule 22.03.2019    source источник
comment
В каталоге создан субъект-служба. У вас должна быть возможность перейти на вкладку Контроль доступа (IAM) каждой подписки и назначить субъекту службы роль в недостающих подписках.   -  person juunas    schedule 22.03.2019
comment
где я могу увидеть участника службы?   -  person Manjoor    schedule 22.03.2019
comment
Если вы перейдете на портал Azure, щелкните Azure Active Directory слева. Затем перейдите к корпоративным приложениям (это действительно субъекты-сервисы). Он должен быть где-то в списке. Я не уверен, как называются генерируемые SP: / Измените фильтр на Все приложения, если вы не можете его найти.   -  person juunas    schedule 22.03.2019
comment
У вас может быть какой-то идентификатор для SP в этом файле аутентификации, вы также можете попробовать найти его с этим.   -  person juunas    schedule 22.03.2019
comment
Ладно, потестил, через минуту напишу ответ :)   -  person juunas    schedule 22.03.2019
comment
Большое спасибо. приложение находится не в корпоративном приложении, а в регистрации приложений. Я пытался использовать команду cli, но она выдает ошибку. Плохой запрос. Добавление SP в подписки работает.   -  person Manjoor    schedule 22.03.2019
comment
Ах, это должно быть под обоими. В конце концов, именно субъект-служба получает разрешения.   -  person juunas    schedule 22.03.2019


Ответы (1)


Таким образом, команда создает субъект-службу в Azure AD. Идентификатор клиента для принципала находится в файле. Вы можете использовать его для поиска принципала службы:

  1. Перейти на portal.azure.com
  2. Откройте Azure Active Directory слева.
  3. Откройте Корпоративные приложения
  4. Введите идентификатор клиента в строку поиска для списка корпоративных приложений.
  5. Теперь вы должны найти принципала службы

Для меня принципал службы называется «azure-cli-2019-03-22-20-05-32».

Затем вы можете перейти на вкладку Контроль доступа (IAM) других подписок и также добавить этого SP в качестве Участника для них. Просто введите имя или идентификатор клиента SP в поиске при выборе цели роли.

Вы также можете выполнять назначения через интерфейс командной строки:

az role assignment create --assignee "your-sp-client-id" --role "Contributor" --scope "/subscriptions/your-subscription-id-here"
person juunas    schedule 22.03.2019