Что API эквивалентно списку аккаунтов az? - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь перечислить все подписки вошедшего в систему пользователя. Что-то, что обеспечивает список аккаунтов $ az. Я ищу эквивалент REST API или эквивалент Java SDK.

Что мне здесь не хватает?

Каждый раз, когда я использую URL https://management.azure.com/subscriptions?api-version=2019-06-01 Возвращается только 1 подписка.

ожидание чего-то вроде следующего

[

  {
    "cloudName": "AzureCloud",
    "id": "87654321-de26-zzzz-b714-184nd94h1000",
    "isDefault": true,
    "name": "Test2",
    "state": "Enabled",
    "tenantId": "12345678-3333-4444-8787-000000111111",
    "user": {
      "name": "foo@hotmail.com",
      "type": "user"
    }
  },
  {
    "cloudName": "AzureCloud",
    "id": "12345678-4321-1234-4444-111111000000",
    "isDefault": false,
    "name": "Test1",
    "state": "Enabled",
    "tenantId": "88888888-4444-3333-1111-010101010101",
    "user": {
      "name": "foo@hotmail.com",
      "type": "user"
    }
  }
]

и выполнения выполнения чего-то, эквивалентного следующим командам. Конечно, больше подробностей.

$ az account set -s 87654321-de26-zzzz-b714-184nd94h1000
$ az vm list
$ az account set -s 12345678-4321-1234-4444-111111000000
$ az vm list

Я использую принципала, а другой пользователь Tenant пригласил пользователя в качестве гостевого пользователя.

Одно из основных требований - не использовать начальный вход в систему через браузер, поскольку этоприложение будет работать как демон.

Ответы [ 2 ]

0 голосов
/ 29 октября 2019

На самом деле, когда вы вошли в систему, например в Azure CLI, он получит всю информацию о текущем пользователе, как о владельцах, так и о подписках в них. Но когда вы используете REST API, есть клиент по умолчанию, поэтому вы можете просто перечислить все подписки клиента по умолчанию. Для вас клиент по умолчанию имеет только одну подписку.

Вы можете использовать команду CLI az login с параметром --debug, чтобы увидеть более подробную информацию о процессе. А также можете использовать REST API https://management.azure.com/tenants?api-version=2016-06-01, чтобы получить всех арендаторов, которые есть в вашей учетной записи.

0 голосов
/ 29 октября 2019

Никогда раньше не пользовался лазурью cli, но это то, что вы ищете?

Подписка - Список

...