Come ottenere l'ID tenant dell'account azzurro?


201

La mia domanda è: è possibile ottenere l'id tenant di Azure Active Directory senza utilizzare il comando PowerShell?

Ho trovato questi due blog e con questo aiuto, sono già in grado di ottenere l'ID inquilino e l'ID abbonamenti da PowerShell. È l'unico modo per recuperare l'inquilino?

Ottieni l'ID tenant di Windows Azure Active Directory in Windows PowerShell

Supporto per l'autenticazione di Windows Azure AD per PowerShell

Grazie


Stai cercando una risposta in un altro linguaggio di programmazione o stai chiedendo una risposta non di programmazione? Se il primo devi essere più specifico. Se la scala che stai chiedendo nel forum sbagliato
Matt,

4
Trovato questo sito Web che fa il lavoro: whatismytenantid.com
Jean-François Deschênes

2
Quella sensazione quando 150K + persone sono state fregate dalla sclerosi multipla non potendo comunicare in modo chiaro inquilino
eddyP23

Risposte:


264

Il tempo cambia tutto. Stavo cercando di fare lo stesso di recente e ho pensato a questo:

Nota

aggiunto il 18/12/2017

Come indicato da shadowbq, DirectoryId e TenantId equivalgono entrambi al GUID che rappresenta il tenant ActiveDirectory. A seconda del contesto, entrambi i termini possono essere utilizzati dalla documentazione e dai prodotti Microsoft, il che può creare confusione.

ipotesi

  • Hai accesso al portale di Azure

Soluzione

L'ID tenant è associato ad ActiveDirectoy in Azure

  • Vai a Dashboard
  • Passare ad ActiveDirectory
  • Passare a Gestisci / Proprietà
  • Copia l '"ID directory"

ID tenant di Azure ActiveDirectory

Sì, ho usato la vernice, non giudicarmi.


6
Non sono sicuro della parte del profitto, ma il resto ha funzionato per me! ☺
HaveSpacesuit,

39
"ID inquilino" È "ID directory".
Shadowbq,

32
Di certo a Microsoft piace tenere le persone in guardia nominando tutto 3 volte.
BenM,

1
Che cosa significa "Passa ad ActiveDirectory"?
Grazie,

1
@thang: ActiveDirectory è bloccato sul portale di Azure per impostazione predefinita, se non lo vedi puoi arrivarci inserendo "Azure Active Directory" nella barra di ricerca nella parte superiore del portale e selezionando la voce "Azure Active Directory" in "Servizi"
Kevin R.,

103

Vai su https://login.windows.net/YOURDIRECTORYNAME.onmicrosoft.com/.well-known/openid-configuration e vedrai un sacco di URL contenenti il ​​tuo ID inquilino.


3
Questi ID sono gli ID sottoscrizione, non gli ID inquilino. Quando un account ha più abbonamenti, ci sono più directory e il tenantId equivale al directoryId delineato nella risposta di @KevinR di seguito
Cattura

5
È possibile avere più abbonamenti associati a un singolo tenant / directory. L'uso del metodo sopra ti mostrerà l'ID inquilino, non gli ID abbonamento. È possibile confermare confrontando il GUID di questo metodo con l'ID directory nel portale: saranno gli stessi.
BenV,

3
super utile nel caso in cui non si abbia accesso al pannello della directory attiva
Torben Knerr,

2
Cordiali saluti: è possibile convertire un ID abbonamento in un ID inquilino accedendo a management.azure.com/subscriptions/… (passare il mouse per visualizzare l'URL completo) e ispezionando l'intestazione "WWW-Authenticate" che viene restituita (si ottiene un 401, ma quell'intestazione contiene un URL con l'ID tenant al suo interno). :-)
BrainSlugs83

Negli URL azzurrati (come il portale) in genere è possibile utilizzare YOURDIRECTORYNAME.onmicrosoft.com e l'ID tenant in modo intercambiabile, quindi se si conosce il directoryname, è possibile fare riferimento al titolare.
ndrix

57

Il mio team si è davvero stancato di provare a trovare l' ID tenant per i nostri progetti O365 e Azure. Gli sviluppatori, il team di supporto, il team di vendita, tutti ne hanno bisogno ad un certo punto e non si ricordano mai come farlo.

Quindi abbiamo creato questo piccolo sito sulla stessa linea di whatismyip.com. Spero che lo trovi utile!

https://www.whatismytenantid.com


48

Nell'interfaccia della riga di comando di Azure (utilizzo GNU / Linux):

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

Questo ti chiederà di accedere tramite https://aka.ms/devicelogin o 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

o semplicemente:

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

o il nuovo az:

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

spero possa essere d'aiuto


1
in realtà, è l'azzurro cli .. ma +1 per qualsiasi cli.
pms1969,

Funzionerà anche con la nuova azCLI, grazie!
rsmith54,

39

L'ID tenant è presente anche nell'URL della console di gestione quando si accede all'istanza di Active Directory fornita, ad es.

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

Azure Mgmt Console Active Directory


@Mjh, ti sento. Sono sorpreso che tu sia la prima persona a commentare il mio suggerimento Klugey. Forse è ovvio per il resto del mondo che si potrebbe estrarre l'ID inquilino da un uri.
Brett,

Non ovvio per me. Mi aspettavo che fosse mostrato nell'interfaccia utente da qualche parte. Doverlo cercare in Uri o usare PowerShell per ottenerlo dopo l'autenticazione è davvero strano. Vogliamo limitare determinati tennant nella nostra app, quindi dobbiamo richiedere l'ID al proprietario del tennant. Questo metodo confonderà molti di loro.
PilotBob,

3
Non solo è una follia, è ufficiale = / "L'ID tenant per il tuo tenant di Office 365 viene visualizzato come parte dell'URL" vedi: support.office.com/en-us/article/…
Bigginn

34

Solo per aggiungere un nuovo metodo a una vecchia domanda (ma ancora rilevante). Nel nuovo portale, facendo clic sull'icona della guida da qualsiasi schermata e selezionando " Mostra diagnostica ", verrà mostrato un documento JSON contenente tutte le informazioni del locatario tra cui Locatario, Nome locatario e molte altre informazioni molto utili

inserisci qui la descrizione dell'immagine



12

Un altro modo per ottenerlo dalle registrazioni delle app

Azure Active Directory-> App registrations-> fai clic sull'app e mostrerà in tenant IDquesto modo

inserisci qui la descrizione dell'immagine


1
Non vedo alcun documento identificativo inquilino nella maggior parte degli articoli in azzurro.
lancia il

12

Tramite PowerShell in forma anonima:

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

1
Stava cercando un modo per farlo senza usare i comandi integrati - fortunatamente, questo dimostra come farlo in qualsiasi lingua ... elegante.
BrainSlugs83

5

È possibile eseguire una semplice chiamata a ricciolo per ottenere l'ID tenant di un abbonamento azzurrato senza alcuna autenticazione.

fai una telefonata a:

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

La richiesta ha esito negativo ma sarà possibile ottenere l'ID tenant dall'intestazione della risposta. L'ID locatario è presente nella riga seguito da "WWW-Authenticate: Bearer authority_uri =" https://login.windows.net/ "

puoi usare curl -v per mostrare l'intestazione della risposta.


5

A partire da ora (06/07/2018), un approccio semplice sarebbe eseguire az account show in Azure Cloud Shell (richiede un account di archiviazione) nel portale di Azure .

--- Comando ---

az account show

--- Uscita comando ---

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

Per ulteriori dettagli su Azure Cloud Shell, visitare https://docs.microsoft.com/en-us/azure/cloud-shell/overview .


4

Usare l'interfaccia della riga di comando di Azure

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

1
Questo è esattamente ciò che il richiedente non sta chiedendo
Jim Aho

3

In PowerShell:

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

3

Se hai installato l'interfaccia della riga di comando di Azure 2.0 nel tuo computer, dovresti essere in grado di ottenere l'elenco delle sottoscrizioni a cui appartieni con il comando seguente,

az login

se vuoi vedere come output di una tabella puoi semplicemente usare

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

oppure potresti usare l'API Rest

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


2

Se hai configurato l'interfaccia della riga di comando di Azure, puoi eseguire il comando seguente,

az account list

o trovalo su ~/.azure/credentials


1

Da 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

Secondo Microsoft:

Trova il tuo tenantID: il tuo tenantId può essere scoperto aprendo il seguente documento metadata.xml: https://login.microsoft.com/GraphDir1.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xml - sostituisci "graphDir1.onMicrosoft. com ", con il valore di dominio del tuo inquilino (funzionerà qualsiasi dominio di proprietà dell'inquilino). TenantId è un guid, che fa parte dell'URL delle st, restituito nell'URL delle prime del nodo xml ("EntityDescriptor"): ad esempio " https://sts.windows.net/ ".

Riferimento:

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


0

È inoltre possibile ottenere l'ID tenant, in effetti tutti i dettagli dell'abbonamento accedendo a url resources.azure.com


0

Un modo semplice per ottenere il tenantID è

Connect-MsolService -cred $ LiveCred # accedi al conduttore

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


0

Per AAD-B2C è abbastanza semplice. Dal portale di Azure con una directory B2C associata, vai alla tua directory B2C (ho aggiunto "Azure AD B2C" al menu a sinistra del mio portale). Nella directory B2C fare clic sulla voce di menu "Flussi utente (policy). Nel riquadro delle politiche fare clic su una delle politiche precedentemente aggiunte per selezionarla. Dovrebbe aprire un riquadro per la politica. Fare clic su" Proprietà ". Nel prossimo riquadro è una sezione, "Impostazioni di compatibilità token" che ha una proprietà "Emittente". Il GUID del tenant AAD-B2C è contenuto nell'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"
}

Creerà un nuovo sp .
Robinho,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.