Як отримати ідентифікатор орендаря блакитного акаунта?


201

Моє запитання: чи можна отримати ідентифікатор орендаря активного каталогу azure без використання команди commandhell?

Я знайшов ці два блоги, і за допомогою цієї допомоги я вже в змозі отримати ідентифікатор орендаря та ідентифікатор підписки з повноважень. Це єдиний спосіб вилучити орендаря?

Отримайте ідентифікатор орендодавця Windows Azure Active Directory в Windows PowerShell

Підтримка аутентифікації Windows Azure AD для PowerShell

Дякую


Ви шукаєте відповідь на іншій мові програмування чи просите відповідь, яка не програмує? Якщо перший ви повинні бути більш конкретними. Якщо трап, про який ви питаєте, невірний форум
Метт

4
Знайшли цей веб-сайт, який виконує роботу: whatismytenantid.com
Жан-Франсуа Дешнес

2
Таке відчуття, коли 150 К + людей накрутили MS, не в змозі чітко спілкуватися з орендарем
eddyP23

Відповіді:


264

Час все змінює. Я хотів зробити те саме нещодавно і придумав це:

Примітка

додано 18.12.2017

Як зазначено в shadowbq, і DirectoryId, і TenantId прирівнюються до GUID, що представляє орендар ActiveDirectory. Залежно від контексту, документація та продукти Microsoft можуть використовувати будь-який термін, що може заплутати.

Припущення

  • Ви маєте доступ до порталу Azure

Рішення

Ідентифікатор орендаря прив’язаний до ActiveDirectoy в Azure

  • Перейдіть до інформаційної панелі
  • Перейдіть до ActiveDirectory
  • Перейдіть до пункту Керування / Властивості
  • Скопіюйте "Ідентифікатор каталогу"

Ідентифікатор орендатора Azure ActiveDirectory

Так, я використовував фарбу, не судіть мене.


6
Я не впевнений у частині прибутку, але решта працювала на мене! ☺
HaveSpacesuit

39
"Ідентифікатор орендаря" - це "Ідентифікатор каталогу".
shadowbq

32
Microsoft впевнений, що хоче тримати людей на ногах, називаючи все 3 рази.
БенМ

1
Що означає "Перехід до ActiveDirectory"?
Тханг

1
@thang: ActiveDirectory за замовчуванням закріплюється на порталі Azure, якщо ви цього не бачите, ви можете потрапити туди, ввівши "Azure Active Directory" на панелі пошуку у верхній частині порталу та вибравши запис "Azure Active Directory". у розділі "Послуги"
Кевін Р.

103

Перейдіть на сторінку https://login.windows.net/YOURDIRECTORYNAME.onmicrosoft.com/.well-known/openid-configuration, і ви побачите купу URL-адрес, що містять ваш ідентифікатор особи.


3
Ці ідентифікатори - це ідентифікатори підписки, а не ідентифікатори орендаря. Якщо в обліковому записі є декілька підписок, є кілька каталогів, і наймач прирівнюється до каталогуId за вказаним у відповіді @KevinR нижче
Catch22

5
Ви можете мати кілька підписок, пов’язаних з одним орендарем / каталогом. Використовуючи вищевказаний метод, ви покажете ідентифікатор орендатора, а не ідентифікатор (и) підписки. Ви можете підтвердити, порівнявши GUID цього методу з ідентифікатором каталогу на порталі - вони будуть однаковими.
BenV

3
надзвичайно корисно, якщо у вас немає доступу до активного леза каталогів
Torben Knerr

2
FYI: ви можете перетворити ідентифікатор підписки в ідентифікатор орендатора, перейшовши на management.azure.com/subscriptions/… (наведіть курсор, щоб побачити повну URL-адресу) - і ознайомившись із заголовком "WWW-Authenticate", який повернеться (ви отримаєте 401, але цей заголовок містить URL-адресу з ідентифікатором орендатора). :-)
BrainSlugs83

У блакитних URL-адресах (як-от портал) ти зазвичай можеш взаємозамінно використовувати YOURDIRECTORYNAME.onmicrosoft.com та ідентифікатор орендодавця, тому, якщо ти знаєш ім'я каталогу, ти можеш посилатися на орендаря.
ndrix

57

Моїй команді дійсно стало нудно намагатися знайти орендаря для наших проектів O365 та Azure. Розробники, команда підтримки, команда з продажу, кожен потребує цього в якийсь момент і ніколи не пам'ятає, як це зробити.

Таким чином, ми створили цей маленький сайт в тому ж ключі, що і whatismyip.com. Сподіваюся, вам це стане в нагоді!

https://www.whatismytenantid.com


48

У CLI Azure (я використовую GNU / Linux):

$ azure login  # add "-e AzureChinaCloud" if you're using Azure China

Це попросить вас увійти через https://aka.ms/devicelogin або https://aka.ms/deviceloginchina

$ azure account show
info:    Executing command account show
data:    Name                        : BizSpark Plus
data:    ID                          : aZZZZZZZ-YYYY-HHHH-GGGG-abcdef569123
data:    State                       : Enabled
data:    Tenant ID                   : 0XXXXXXX-YYYY-HHHH-GGGG-123456789123
data:    Is Default                  : true
data:    Environment                 : AzureCloud
data:    Has Certificate             : No
data:    Has Access Token            : Yes
data:    User name                   : nico@XXXXXXX.onmicrosoft.com
data:    
info:    account show command OK

або просто:

azure account show --json | jq -r '.[0].tenantId'

або новий az:

az account show --subscription a... | jq -r '.tenantId'
az account list | jq -r '.[].tenantId'

Я сподіваюся, що це допомагає


1
насправді це блакитний кліп, але +1 для будь-якого кліпу.
pms1969

Це також буде працювати з новим azCLI, дякую!
rsmith54

39

Ідентифікатор орендатора також присутній у URL-адресі консолі управління під час переходу до даного екземпляра Active Directory, наприклад,

https://manage.windowsazure.com/<morestuffhere>/ActiveDirectoryExtension/Directory/BD848865-BE84-4134-91C6-B415927B3AB1

Active Directory консолі Azure Mgmt


@Mjh, я чую тебе. Я здивований, що ти перший, хто прокоментував мою пропозицію klugey. Можливо, в усьому світі очевидно, що хтось витягне орендарний ідентифікатор з ури.
Бретт

Не очевидно для мене. Я очікував, що його десь покажуть в інтерфейсі. Потрібно полювати на нього в Урі або використовувати повноваження, щоб отримати його після автентифікації справді дивно. Ми хочемо обмежити певні оренди в нашому додатку, тому нам потрібно попросити ідентифікатор у власника орендодавця. Цей метод збирається заплутати їх чимало.
PilotBob

3
Мало того, що це безумство, це офіційно = / «Мешканець ідентифікатор для офісу 365 орендаря відображається як частина URL» см support.office.com/en-us/article / ...
Bigginn

34

Просто додати новий метод до старого (але все-таки актуального питання). На новому порталі клацання піктограми довідки з будь-якого екрана та вибір пункту « Показати діагностику » покаже вам документ JSON, що містить усю інформацію орендатора, включаючи TenantId, Ім'я орендаря та багато, багато кориснішої інформації

введіть тут опис зображення


22

Ця відповідь надана на веб-сайті Microsoft, востаннє оновлена ​​21.03.2018:

https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal

Коротше кажучи, ось скріншоти з покрокової інструкції:

  1. Виберіть Azure Active Directory.

Azure Active Directory

  1. Щоб отримати ідентифікатор орендаря, виберіть Властивості для орендаря Azure AD.

Виберіть Властивості

  1. Скопіюйте ідентифікатор каталогу. Це значення - ваш ідентифікатор орендаря.

Скопіюйте ідентифікатор каталогу, це ідентифікатор орендаря.

Сподіваюсь, це допомагає.


12

Ще один спосіб отримати це з реєстрації додатків

Azure Active Directory-> App registrations-> натисніть додаток, і воно покаже tenant IDподібне

введіть тут опис зображення


1
Я не бачу ідентифікатора орендаря під більшістю предметів у блакиті.
котиться

12

Анонімно через PowerShell:

(Invoke-WebRequest https://login.windows.net/YOURDIRECTORYNAME.onmicrosoft.com/.well-known/openid-configuration|ConvertFrom-Json).token_endpoint.Split('/')[3]

1
Він шукав спосіб це зробити, не використовуючи вбудовані команди - на щастя, це демонструє, як це зробити будь-якою мовою ... чудовою.
BrainSlugs83

5

Ви можете запустити простий заклик на завиток, щоб отримати орендар ідентифікатора підписки на блакитний без будь-якої автентифікації.

зателефонувати:

https://management.azure.com/subscriptions/{subscription-id}?api-version=2015-01-01

Запит не вдається, але ви зможете отримати ідентифікатор орендатора з заголовка відповіді. Ідентифікатор орендаря присутній у рядку з наступним заголовком "WWW-автентифікат: пред'явник авторитета_uri =" https://login.windows.net/ "

ви можете використовувати curl -v для показу заголовка відповіді.


5

На сьогодні (06.07.2018) легким підходом було б запуск програми відображення акаунтів у облачній оболонці Azure (потрібен обліковий запис зберігання) на порталі Azure .

--- команда ---

az account show

--- Командний вихід ---

{
  "environmentName": "AzureCloud",
  "id": "{Subscription Id (GUID)}",
  "isDefault": true,
  "name": "{Subscription Name}",
  "state": "Enabled",
  "tenantId": "{Tenant Id (GUID)}",
  "user": {
    "cloudShellID": true,
    "name": "{User email}",
    "type": "user"
  }
}

Докладніші відомості про Cloud Cloud Shell можна знайти на веб-сторінці https://docs.microsoft.com/en-us/azure/cloud-shell/overview .



3

В PowerShell:

Add-AzureRmAccount #if not already logged in 
Get-AzureRmSubscription -SubscriptionName <SubscriptionName> | Select-Object -Property TenantId

3

Якщо на вашому пристрої встановлено Azure CLI 2.0, ви маєте змогу отримати список підписки, до якого ви належите, за допомогою наступної команди,

az login

якщо ви хочете бачити вихід таблиці, ви можете просто використовувати

az account get-access-token --query tenant --output tsv

або ви можете використовувати API відпочинку

https://docs.microsoft.com/en-us/rest/api/resources/tenants/list


2

Якщо у вас встановлена ​​програма Azure CLI, ви можете запустити команду нижче,

az account list

або знайти його за адресою ~/.azure/credentials


1

З Java:

public static String GetSubscriptionTenantId (String subscriptionId) throws ClientProtocolException, IOException
{
    String tenantId = null;
    String url = "https://management.azure.com/subscriptions/" + subscriptionId + "?api-version=2016-01-01";

    HttpClient client = HttpClientBuilder.create().build();
    HttpGet request = new HttpGet(url);
    HttpResponse response = client.execute(request);

    Header[] headers = response.getAllHeaders();
    for (Header header : headers)
    {
        if (header.getName().equals("WWW-Authenticate"))
        {
            // split by '"' to get the URL, split the URL by '/' to get the ID
            tenantId = header.getValue().split("\"")[1].split("/")[3];
        }
    }

    return tenantId;
}

1

За даними Microsoft:

Знайдіть свого орендаряID: Ваш tenantId можна виявити, відкривши такий документ metadata.xml: https://login.microsoft.com/GraphDir1.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xml - замініть "graphDir1.onMicrosoft. com ", зі значенням домену вашого орендаря (будь-який домен, який належить орендареві, буде працювати). TenantId - це настанова, яка є частиною sts URL-адреси, що повертається у sts-адресі першого вузла xml ("EntityDescriptor"): наприклад, " https://sts.windows.net/ ".

Довідка:

https://azure.microsoft.com/en-us/resources/samples/active-directory-dotnet-graphapi-web/


0

Ви також можете отримати ідентифікатор орендаря, фактично всі реквізити підписки, увійшовши в URL-адреси ресурсу.azure.com


0

Простий спосіб отримати ID орендатора - це

Підключіться до орендаря, підключіться до MSOService -cred $ LiveCred #

(Get-MSOLCompanyInformation) .objectid.guid #get tenantID


0

Для AAD-B2C це досить просто. З порталу Azure з пов'язаним каталогом B2C перейдіть до каталогу B2C (я додав "Azure AD B2C" до лівого меню мого порталу). У каталозі B2C клацніть на пункт меню «Каталог потоків користувачів (політики)». На панелі політик натисніть на одну з політик, яку ви раніше додали, щоб вибрати її. У ній слід відкрити область для політики. Клацніть «Властивості». У наступному панель - це розділ "Налаштування сумісності токенів", який має властивість "Видавець". Ваш URL-адреса орендаря AAD-B2C міститься в URL-адресі.


-2
xxx@Azure:~$ az ad sp create-for-rbac
Retrying role assignment creation: 1/36
{
  "appId": "401143c2-95ef-4792-9900-23e07f7801e7",
  "displayName": "azure-cli-2018-07-10-20-31-57",
  "name": "http://azure-cli-2018-07-10-20-31-57",
  "password": "a0471d14-9300-4177-ab08-5c45adb3476b",
  "tenant": "e569f29e-b008-4cea-b6f0-48fa8532d64a"
}

Це створить новий sp .
Робіньо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.