Como obter o ID do inquilino da conta azul?


201

Minha pergunta é: É possível obter o ID de inquilino do Active Directory do azure sem usar o comando powershell?

Encontrei esses dois blogs e, com essa ajuda, já consigo obter o ID do inquilino e o ID das assinaturas no PowerShell. É a única maneira de recuperar o inquilino?

Obter o ID do inquilino do Active Directory do Windows Azure no Windows PowerShell

Suporte de autenticação do Windows Azure AD para PowerShell

obrigado


Você está procurando uma resposta em outra linguagem de programação ou está pedindo uma resposta que não seja de programação? Se o primeiro você precisa ser mais específico. Se a escada que você está pedindo no fórum errado
Matt

4
Encontrei este site que faz o trabalho: whatismytenantid.com
Jean-François Deschênes

2
Esse sentimento quando 150K + pessoas obteve parafusado por MS não ser capaz de comunicar claramente TenantID
eddyP23

Respostas:


264

O tempo muda tudo. Eu estava olhando para fazer o mesmo recentemente e veio com isso:

Nota

adicionado 18/12/2017

Conforme indicado pelo shadowbq, o DirectoryId e o TenantId são iguais ao GUID que representa o inquilino do ActiveDirectory. Dependendo do contexto, qualquer um dos termos pode ser usado pela documentação e pelos produtos da Microsoft, o que pode ser confuso.

Premissas

  • Você tem acesso ao Portal do Azure

Solução

O ID do inquilino está vinculado ao ActiveDirectoy no Azure

  • Navegue para o painel
  • Navegue para o ActiveDirectory
  • Navegue para Gerenciar / Propriedades
  • Copie o "ID do diretório"

ID de inquilino do Azure ActiveDirectory

Sim, eu usei tinta, não me julgue.


6
Não tenho certeza da parte do lucro, mas o resto funcionou para mim! ☺
HaveSpacesuit

39
O "ID do inquilino" É o "ID do diretório".
Shadowbq 12/05/19

32
A Microsoft com certeza gosta de manter as pessoas em alerta, nomeando tudo três vezes.
BenM 20/10/19

1
O que significa "Navegar para o ActiveDirectory"?
thang

1
@thang: o ActiveDirectory está fixado no portal do Azure por padrão; se você não o vê, pode acessá-lo digitando "Azure Active Directory" na barra de pesquisa na parte superior do portal e selecionando a entrada "Azure Active Directory" sob "Serviços"
Kevin R.

103

Acesse https://login.windows.net/YOURDIRECTORYNAME.onmicrosoft.com/.well-known/openid-configuration e você verá vários URLs contendo seu ID de inquilino.


3
Esses IDs são os de assinatura - não os de inquilino. Quando uma conta tem várias assinaturas, existem vários diretórios e as equivale TenantID ao directoryId no delineado na resposta por @KevinR abaixo
Catch22

5
Você pode ter várias assinaturas associadas a um único inquilino / diretório. O uso do método acima mostrará o ID do inquilino, não os IDs da assinatura. Você pode confirmar comparando o GUID desse método com o ID do diretório no portal - eles serão os mesmos.
BenV

3
super útil no caso de você não tem acesso à lâmina diretório ativo
Torben Knerr

2
FYI: você pode converter um ID de assinatura em um ID de inquilino, navegando para management.azure.com/subscriptions/… (passe o mouse para ver o URL completo) - e inspecionando o cabeçalho "WWW-Authenticate" que volta (você receberá 401, mas esse cabeçalho contém um URL com o ID do inquilino). :-)
BrainSlugs83

Em URLs azuis (como o portal), você normalmente pode usar o YOURDIRECTORYNAME.onmicrosoft.com e o ID do inquilino de forma intercambiável - portanto, se você conhece o nome do diretor, pode fazer referência ao inquilino.
Ndrix 31/05/19

57

Minha equipe realmente se cansou de tentar encontrar o ID do inquilino para nossos projetos O365 e Azure. Os desenvolvedores, a equipe de suporte, a equipe de vendas, todo mundo precisa disso em algum momento e nunca se lembra de como fazê-lo.

Por isso, criamos este site pequeno da mesma forma que whatismyip.com. Espero que você ache útil!

https://www.whatismytenantid.com


48

Na CLI do Azure (eu uso o GNU / Linux):

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

Isso solicitará que você faça o login via https://aka.ms/devicelogin ou 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

ou simplesmente:

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

ou o novo az:

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

Espero que ajude


1
na verdade, é o cli azul .. mas +1 para qualquer cli.
precisa saber é o seguinte

Isso também funcionará com a nova azCLI, obrigado!
rsmith54

39

O ID do inquilino também está presente no URL do console de gerenciamento quando você navega para a instância especificada do Active Directory, por exemplo,

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

Diretório Ativo do Azure Mgmt Console


@Mjh, eu ouvi você. Estou surpreso que você seja a primeira pessoa a comentar minha sugestão de klugey. Talvez seja óbvio para o resto do mundo que alguém retire o ID do inquilino de um uri.
Brett

Não é óbvio para mim. Eu esperava que fosse mostrado na interface do usuário em algum lugar. Ter que procurá-lo no Uri ou usar o PowerShell para obtê-lo após a autenticação é realmente estranho. Queremos limitar certos inquilinos em nosso aplicativo, portanto, precisamos solicitar o ID do proprietário do inquilino. Este método vai confundir muitos deles.
PilotBob

3
Não é apenas loucura, é oficial = / "O ID do inquilino do Office 365 é exibido como parte da URL", consulte: support.office.com/en-us/article/…
Bigginn em

34

Apenas para adicionar um novo método a uma pergunta antiga (mas ainda relevante). No novo portal, clicar no ícone de ajuda em qualquer tela e selecionar ' Mostrar diagnóstico ' exibirá um documento JSON contendo todas as informações do inquilino, incluindo TenantId, Tenant Name e muito, muito mais informações úteis

insira a descrição da imagem aqui


22

Esta resposta foi fornecida no site da Microsoft, atualizado pela última vez em 21/03/2018:

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

Em resumo, aqui estão as capturas de tela da explicação passo a passo:

  1. Selecione Azure Active Directory.

Diretório Ativo do Azure

  1. Para obter a ID do inquilino, selecione Propriedades para o inquilino do Azure AD.

Selecione Propriedades

  1. Copie o ID do diretório. Este valor é o seu ID de inquilino.

Copie o ID do diretório, este é o ID do inquilino.

Espero que isto ajude.


12

Outra maneira de obtê-lo nos registros de aplicativos

Azure Active Directory-> App registrations-> clique no aplicativo e ele mostrará o tenant IDseguinte:

insira a descrição da imagem aqui


1
Não vejo nenhum ID de inquilino na maioria dos itens no azul.
rola

12

Via PowerShell anonimamente:

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

1
Ele estava procurando uma maneira de fazê-lo sem usar os comandos internos - felizmente, isso demonstra como fazê-lo em qualquer idioma ... bacana.
precisa saber é o seguinte

5

Você pode executar uma chamada de espiral simples para obter o ID do inquilino de uma assinatura do Azure sem nenhuma autenticação.

faça uma chamada direta para:

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

A solicitação falha, mas você poderá obter o ID do inquilino no cabeçalho da resposta. O ID do inquilino está presente na linha, seguido por "WWW-Authenticate: Bearer permission_uri =" https://login.windows.net/ "

você pode usar curl -v para mostrar o cabeçalho da resposta.


5

A partir de agora (07/06/2018), uma abordagem fácil seria executar uma conta z no Azure Cloud Shell (requer uma conta de armazenamento) no Portal do Azure .

--- Comando ---

az account show

--- Saída de 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"
  }
}

Encontre mais detalhes sobre o Azure Cloud Shell em https://docs.microsoft.com/en-us/azure/cloud-shell/overview .


4

Use a CLI do Azure

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

1
Este é exatamente o que o questioneer não está pedindo
Jim Aho

3

No PowerShell:

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


2

Se você tiver a configuração da CLI do Azure, poderá executar o comando abaixo,

az account list

ou encontre em ~/.azure/credentials


1

Do 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

De acordo com a Microsoft:

Encontre seu tenantID: Seu tenantId pode ser descoberto abrindo o seguinte documento metadata.xml: https://login.microsoft.com/GraphDir1.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xml - substitua "graphDir1.onMicrosoft. com ", com o valor do domínio do inquilino (qualquer domínio pertencente ao inquilino funcionará). O tenantId é um guia, que faz parte do URL sts, retornado no primeiro URL sts do nó xml ("EntityDescriptor"): por exemplo, " https://sts.windows.net/ ".

Referência:

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


0

Você também pode obter o ID do inquilino, de fato todos os detalhes da assinatura, acessando o URL resources.azure.com


0

Uma maneira simples de obter o tenantID é

Connect-MsolService -cred $ LiveCred #sign no inquilino

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


0

Para o AAD-B2C, é bastante simples. No Portal do Azure com um diretório B2C associado, vá para o diretório B2C (adicionei o "Azure AD B2C" ao menu esquerdo do meu portal). No diretório B2C, clique no item de menu do diretório "Fluxos de usuários (políticas). No painel de políticas, clique em uma das políticas que você adicionou anteriormente para selecioná-la. Ele deve abrir um painel para a política. Clique em" Propriedades ". painel é uma seção "Configurações de compatibilidade de token" que possui uma propriedade "Emissor". Seu GUID de inquilino do AAD-B2C está contido na 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"
}

Isso criará um novo sp .
Robinho
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.