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

Annie Vincent
fonte
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.

Kevin R.
fonte
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.

BenV
fonte
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

Eric Routhier
fonte
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                   : [email protected]
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

nicocesar
fonte
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

Brett
fonte
@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

LDJ
fonte
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

Gajen Sunthara
fonte
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]
user5347643
fonte
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.

nwarriorch
fonte
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 .

Evandro Paula
fonte
4

Use a CLI do Azure

az account get-access-token --query tenant --output tsv
Phil Stollery
fonte
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
LucasM
fonte
3

Se você instalou a CLI 2.0 do Azure em sua máquina, poderá conseguir a lista de assinaturas a que pertence com o seguinte comando,

az login

se você quiser ver como uma saída da tabela, você pode simplesmente usar

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

ou você pode usar a API Rest

https://docs.microsoft.com/pt-br/rest/api/resources/tenants/list

Sajeetharan
fonte
2

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

az account list

ou encontre em ~/.azure/credentials

barryku
fonte
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;
}
bviktor
fonte
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/

DMcC
fonte
0

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

VIJAY RAAVI
fonte
0

Uma maneira simples de obter o tenantID é

Connect-MsolService -cred $ LiveCred #sign no inquilino

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

Peter Vogl
fonte
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.

Larry Aultman
fonte
-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"
}
user3290431
fonte
Isso criará um novo sp .
Robinho