Jak uzyskać identyfikator najemcy konta lazurowego?


201

Moje pytanie brzmi: czy można uzyskać identyfikator dzierżawcy usługi Azure Directory bez używania polecenia PowerShell?

Znalazłem dwa blogi i dzięki tej pomocy mogę już uzyskać identyfikator dzierżawcy i identyfikator subskrypcji z programu PowerShell. Czy to jedyny sposób na odzyskanie najemcy?

Uzyskaj identyfikator dzierżawcy usługi Windows Azure Active Directory w programie Windows PowerShell

Obsługa uwierzytelniania Windows Azure AD dla PowerShell

Dzięki


Szukasz odpowiedzi w innym języku programowania lub pytasz o odpowiedź niezwiązaną z programowaniem? Jeśli to pierwsze, musisz być bardziej szczegółowy. Jeśli drabina, którą pytasz na niewłaściwym forum
Matt

4
Znaleziono tę stronę internetową, która wykonuje zadanie: whatismytenantid.com
Jean-François Deschênes

2
To uczucie, gdy stwardnienie rozsiane ++ ludzi zostało wkręcone przez stwardnienie rozsiane, niezdolne do jasnego komunikowania się z najemcą
eddyP23

Odpowiedzi:


264

Czas zmienia wszystko. Ostatnio chciałem zrobić to samo i wymyśliłem:

Uwaga

dodano 12/18/2017

Jak wskazano w shadowbq, DirectoryId i TenantId odpowiadają identyfikatorowi GUID reprezentującemu dzierżawę ActiveDirectory. W zależności od kontekstu oba terminy mogą być używane w dokumentacji i produktach Microsoft, co może być mylące.

Założenia

  • Masz dostęp do portalu Azure

Rozwiązanie

Identyfikator dzierżawy jest powiązany z ActiveDirectoy na platformie Azure

  • Przejdź do pulpitu nawigacyjnego
  • Przejdź do ActiveDirectory
  • Przejdź do Zarządzaj / Właściwości
  • Skopiuj „Identyfikator katalogu”

Identyfikator dzierżawcy Azure ActiveDirectory

Tak, użyłem farby, nie oceniaj mnie.


6
Nie jestem pewien co do części zysków, ale reszta działała dla mnie! ☺
HaveSpacesuit

39
W "Lokator ID" IS "Directory ID".
shadowbq

32
Microsoft z pewnością chce utrzymać ludzi na nogach, nazywając wszystko 3 razy.
BenM,

1
Co oznacza „Przejdź do ActiveDirectory”?
thang

1
@thang: ActiveDirectory jest domyślnie przypięty do portalu Azure, jeśli go nie widzisz, możesz się tam dostać, wpisując „Azure Active Directory” w pasku wyszukiwania u góry portalu i wybierając pozycję „Azure Active Directory” pod „Usługi”
Kevin R.

103

Wejdź na https://login.windows.net/YOURDIRECTORYNAME.onmicrosoft.com/.well-known/openid-configuration, a zobaczysz kilka adresów URL zawierających identyfikator najemcy.


3
Te identyfikatory są identyfikatorami subskrypcji, a nie identyfikatorami najemców. Gdy konto ma wiele subskrypcji, istnieje wiele katalogów, a tenantId jest równy directoryId opisanemu w odpowiedzi przez @KevinR poniżej
Catch22

5
Możesz mieć wiele subskrypcji powiązanych z jednym najemcą / katalogiem. Zastosowanie powyższej metody spowoduje wyświetlenie identyfikatora najemcy, a nie identyfikatora (-ów) subskrypcji. Możesz to potwierdzić, porównując identyfikator GUID tej metody z identyfikatorem katalogu w portalu - będą one takie same.
BenV

3
super pomocny w przypadku, gdy nie masz dostępu do
bloku

2
Do Twojej wiadomości: możesz przekonwertować identyfikator subskrypcji na identyfikator dzierżawcy, przechodząc do strony management.azure.com/subscriptions/… (najedź kursorem, aby zobaczyć pełny adres URL) - i sprawdzając nagłówek „Uwierzytelnianie WWW”, który powraca (otrzymasz 401, ale ten nagłówek zawiera adres URL z identyfikatorem dzierżawcy). :-)
BrainSlugs83 16.04.18

W lazurowych adresach URL (takich jak portal) zwykle możesz używać NAZWISKO.NAZWA.ONmicrosoft.com i identyfikatora najemcy zamiennie - więc jeśli znasz nazwę katalogu, możesz odwoływać się do najemcy.
ndrix

57

Mój zespół naprawdę miał dość szukania identyfikatora najemcy dla naszych projektów O365 i Azure. Twórcy, zespół wsparcia, zespół sprzedaży, wszyscy w pewnym momencie tego potrzebują i nigdy nie pamiętają, jak to zrobić.

Więc zbudowaliśmy tę małą stronę w tym samym stylu co whatismyip.com. Mam nadzieję, że uznasz to za przydatne!

https://www.whatismytenantid.com


48

W interfejsie wiersza polecenia platformy Azure (używam GNU / Linux):

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

Zostaniesz poproszony o zalogowanie się przez https://aka.ms/devicelogin lub 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

lub po prostu:

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

lub nowy az:

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

Mam nadzieję, że to pomoże


1
w rzeczywistości jest to lazurowy cli .. ale +1 dla dowolnego cli.
pms1969,

Działa to również z nowym azCLI, dzięki!
rsmith54

39

Identyfikator dzierżawy jest również obecny w adresie URL konsoli zarządzania podczas przeglądania danej instancji usługi Active Directory, np.

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

Konsola Azure Mgmt Active Directory


@ Mjh, słyszę cię. Dziwię się, że jesteś pierwszą osobą, która skomentowała moją sugestię klugey. Być może dla reszty świata jest oczywiste, że wyciągnąłby identyfikator lokatora z URI.
Brett,

Nie dla mnie oczywiste. Spodziewałem się, że zostanie to gdzieś pokazane w interfejsie użytkownika. Konieczność znalezienia go w Uri lub użycia PowerShell, aby uzyskać go po uwierzytelnieniu, jest naprawdę dziwna. Chcemy ograniczyć niektóre dzierżawy w naszej aplikacji, dlatego musimy poprosić o identyfikator właściciela dzierżawy. Ta metoda spowoduje zamieszanie wielu z nich.
PilotBob,

3
To nie tylko szaleństwo, ale oficjalne = / „Identyfikator najemcy dla Twojej dzierżawy Office 365 jest wyświetlany jako część adresu URL”, patrz: support.office.com/en-us/article/…
Bigginn

34

Aby dodać nową metodę do starego (ale wciąż aktualnego pytania). W nowym portalu kliknięcie ikony pomocy z dowolnego ekranu i wybranie opcji „ Pokaż diagnostykę ” spowoduje wyświetlenie dokumentu JSON zawierającego wszystkie informacje o najemcy, w tym identyfikator dzierżawcy, nazwę dzierżawcy i wiele, wiele innych przydatnych informacji

wprowadź opis zdjęcia tutaj


22

Ta odpowiedź została podana w witrynie firmy Microsoft, ostatnio zaktualizowana w dniu 21.03.2018:

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

Krótko mówiąc, oto zrzuty ekranu z instrukcji:

  1. Wybierz Azure Active Directory.

Azure Active Directory

  1. Aby uzyskać identyfikator dzierżawcy, wybierz właściwości dla dzierżawy usługi Azure AD.

Wybierz Właściwości

  1. Skopiuj identyfikator katalogu. Ta wartość jest Twoim identyfikatorem najemcy.

Skopiuj identyfikator katalogu, jest to identyfikator dzierżawcy.

Mam nadzieję że to pomoże.


12

Kolejny sposób na uzyskanie go z rejestracji aplikacji

Azure Active Directory-> App registrations-> kliknij aplikację, a wyświetli się w tenant IDten sposób

wprowadź opis zdjęcia tutaj


1
Nie widzę identyfikatora najemcy pod większością pozycji w kolorze lazurowym.
rzuca

12

Za pomocą programu PowerShell anonimowo:

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

1
Szukał sposobu, aby to zrobić bez użycia wbudowanych poleceń - na szczęście pokazuje to, jak to zrobić w dowolnym języku ... fajnym.
BrainSlugs83

5

Możesz uruchomić proste wywołanie curl, aby uzyskać identyfikator dzierżawy subskrypcji lazurowej bez żadnego uwierzytelnienia.

wykonaj zawinięcie, aby:

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

Żądanie nie powiedzie się, ale można uzyskać identyfikator dzierżawcy z nagłówka odpowiedzi. Identyfikator dzierżawcy jest obecny w wierszu, po którym następuje „WWW-Authenticate: Bearer authentication_uri =” https://login.windows.net/ ”

możesz użyć, curl -v aby wyświetlić nagłówek odpowiedzi.


5

Na dzień dzisiejszy (06/07/2018) łatwym podejściem byłoby uruchomienie pokazu konta az w powłoce chmury Azure (wymaga konta magazynu) w portalu Azure .

--- Komenda ---

az account show

--- Dane wyjściowe polecenia ---

{
  "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"
  }
}

Znajdź więcej szczegółów na temat Azure Cloud Shell na https://docs.microsoft.com/en-us/azure/cloud-shell/overview .


4

Użyj interfejsu wiersza polecenia platformy Azure

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

1
Właśnie o to pytający nie pyta
Jim Aho

3

W PowerShell:

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

3

Jeśli masz zainstalowany Azure CLI 2.0 na swoim komputerze, powinieneś być w stanie uzyskać listę subskrypcji, do której należysz za pomocą następującego polecenia,

az login

jeśli chcesz zobaczyć jako wynik tabeli, możesz po prostu użyć

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

lub możesz użyć Rest API

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


2

Jeśli masz konfigurację interfejsu wiersza polecenia Azure, możesz uruchomić poniższe polecenie,

az account list

lub znajdź to na ~/.azure/credentials


1

Z 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

Według Microsoft:

Znajdź identyfikator dzierżawy: identyfikator dzierżawy można znaleźć, otwierając następujący dokument metadata.xml: https://login.microsoft.com/GraphDir1.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xml - zamień „graphDir1.onMicrosoft. com ”, z wartością domeny najemcy (każda domena należąca do najemcy będzie działać). Tenantant jest przewodnikiem, który jest częścią adresu URL sts, zwrócony w adresie URL sts pierwszego węzła xml („EntityDescriptor”): np. „ Https://sts.windows.net/ ”.

Odniesienie:

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


0

Możesz również uzyskać identyfikator dzierżawcy, w rzeczywistości wszystkie szczegóły subskrypcji, logując się na adres url resources.azure.com


0

Prostym sposobem na uzyskanie TenantID jest

Connect-MsolService -cred $ LiveCred # Zaloguj się do dzierżawy

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


0

W przypadku AAD-B2C jest to dość proste. Z portalu Azure z powiązanym katalogiem B2C przejdź do katalogu B2C (dodałem „Azure AD B2C” do menu po lewej stronie mojego portalu). W katalogu B2C kliknij pozycję menu „Przepływy użytkowników (polityki). W okienku zasad kliknij jedną z wcześniej dodanych zasad, aby ją wybrać. Powinna otworzyć panel zasad. Kliknij„ Właściwości ”. W następnym okienko to sekcja „Ustawienia zgodności tokena”, która ma właściwość „Wystawca”. Identyfikator GUID dzierżawcy AAD-B2C znajduje się w adresie 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"
}

Stworzy nowy sp .
Robinho,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.