AzureアカウントテナントIDを取得するにはどうすればよいですか?


201

私の質問は、Powershellコマンドを使用せずにAzure Active DirectoryテナントIDを取得することは可能ですか?

私はこの2つのブログを見つけました。この助けを借りて、PowerShellから既にテナントIDとサブスクリプションIDを取得できています。テナントを取得する唯一の方法ですか?

Windows PowerShellでWindows Azure Active DirectoryテナントIDを取得する

PowerShellのWindows Azure AD認証サポート

ありがとう


別のプログラミング言語で回答を探していますか、それともプログラミング以外の回答を求めていますか?前者の場合は、より具体的にする必要があります。はしごをあなたが間違ったフォーラムで質問している場合
Matt

4
:仕事をして、このウェブサイトが見つかりwhatismytenantid.com
ジャン=フランソワ・Deschê​​nes

2
15万人以上の人々がMSに騙されて、tenantIdを明確に伝えることができないという感覚
eddyP23

回答:


264

時間はすべてを変える。私は最近同じことをすることを探していて、これを思いつきました:

注意

2017年12月18日追加

shadowbqで示されているように、DirectoryIdとTenantIdはどちらもActiveDirectoryテナントを表すGUIDと同じです。コンテキストによっては、どちらの用語もMicrosoftのドキュメントや製品で使用されている場合があり、混乱を招く可能性があります。

仮定

  • Azureポータルにアクセスできる

解決

テナントIDはAzureのActiveDirectoyに関連付けられています

  • ダッシュボードに移動
  • ActiveDirectoryに移動します
  • 管理/プロパティに移動します
  • 「ディレクトリID」をコピー

Azure ActiveDirectoryテナントID

はい、私はペンキを使いました、私を判断しないでください。


6
利益の部分はわかりませんが、残りはうまくいきました!☺
HaveSpacesuit

39
「テナントIDは、」IS「ディレクトリID」。
shadowbq

32
マイクロソフトは、すべてに3回名前を付けることで、人々をつまらないようにしています。
BenM 2017年

1
「Navigate to ActiveDirectory」とはどういう意味ですか?
タン

1
@thang:ActiveDirectoryはデフォルトでAzureポータルに固定されています。表示されない場合は、ポータルの上部にある検索バーに「Azure Active Directory」と入力し、「Azure Active Directory」エントリを選択することでアクセスできます。 "Services"の下
Kevin R.

103

https://login.windows.net/YOURDIRECTORYNAME.onmicrosoft.com/.well-known/openid-configurationに移動すると、テナントIDを含む一連のURLが表示されます。


3
これらのIDはサブスクリプションIDであり、テナントIDではありません。アカウントに複数のサブスクリプションがある場合、複数のディレクトリがあり、下の@KevinRの回答で概説されているように、tenantIdはdirectoryIdと同じです
Catch22

5
単一のテナント/ディレクトリに複数のサブスクリプションを関連付けることができます。上記の方法を使用すると、サブスクリプションIDではなくテナントIDが表示されます。このメソッドのGUIDをポータルのディレクトリIDと比較することで確認できます-それらは同じになります。
BenV 2017年

3
Active Directoryブレードにアクセスできない場合に非常に便利
Torben Knerr

2
参考:サブスクリプションIDをテナントIDに変換するには、management.azure.com / subscriptions /… (ホバーして完全なURLを表示)に移動し、返される「WWW-Authenticate」ヘッダーを調べます(取得します) 401ですが、そのヘッダーには、テナントIDを含むURLが含まれています。:-)
BrainSlugs83 2018

Azureの(ポータルのような)URLでは、通常、YOURDIRECTORYNAME.onmicrosoft.comとテナントIDを同じように使用できます。そのため、ディレクトリ名がわかっている場合は、テナントを参照できます。
ndrix

57

私のチームは、O365およびAzureプロジェクトのテナントIDを見つけることにうんざりしました。開発者、サポートチーム、セールスチーム、誰もがいつかそれを必要とし、その方法を覚えていません。

そこで、whatismyip.comと同じようにこの小さなサイトを構築しました。お役に立てば幸いです。

https://www.whatismytenantid.com


48

Azure CLIで(私は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
実際には、それは紺碧のcli ..ですが、どんなcliでも+1です。
pms1969

これは新しいazCLI でも機能します。
rsmith54

39

テナントIDは、特定のActive Directoryインスタンスを参照すると、管理コンソールのURLにも表示されます。たとえば、

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

Azure管理コンソールActive Directory


@Mjh、聞こえます。あなたが私のklugeyの提案にコメントする最初の人であることに驚いています。おそらく、URIからテナントIDをプルすることは、世界の他の国には明らかです。
ブレット

私には明らかではありません。UIのどこかに表示されると思っていました。認証後にUriでそれを探したり、Powershellを使用して取得したりする必要があるのは非常に奇妙です。アプリ内の特定のテナントを制限したいので、テナント所有者にIDを要求する必要があります。この方法はそれらの多くを混乱させるでしょう。
PilotBob 2015

3
:それは狂気である、それは公式だ= /参照「あなたのOffice 365テナントのためのテナントIDがURLの一部として表示されている」だけでなく、support.office.com/en-us/article/...を
Bigginn

34

新しいメソッドを古いメソッドに追加するだけです(ただし、関連する質問です)。新しいポータルで、任意の画面からヘルプアイコンをクリックし、[ 診断表示 ]を選択すると、TenantId、テナント名、およびはるかに役立つ情報を含むすべてのテナント情報を含むJSONドキュメントが表示されます

ここに画像の説明を入力してください


22

この回答はMicrosoftのWebサイトで提供され、2018年3月21日に最終更新されました。

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

一言で言えば、これはウォークスルーのスクリーンショットです:

  1. Azure Active Directoryを選択します。

Azure Active Directory

  1. テナントIDを取得するには、Azure ADテナントの[プロパティ]を選択します。

プロパティを選択

  1. ディレクトリIDをコピーします。この値はテナントIDです。

ディレクトリIDをコピーします。これはテナントIDです。

お役に立てれば。


12

アプリ登録から取得する別の方法

Azure Active Directory-> App registrations->アプリをクリックすると、次のtenant IDように表示されます

ここに画像の説明を入力してください


1
Azureのほとんどのアイテムの下にテナントIDが表示されません。
ロール

12

PowerShellを使用して匿名で:

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

1
彼は組み込みコマンドを使用せずにそれを行う方法を探していました-幸い、これはどの言語でもそれを行う方法を示しています...気の利いた。
BrainSlugs83

5

単純なcurl呼び出しを実行して、認証なしでAzureサブスクリプションのテナントIDを取得できます。

にcurl呼び出しを行います。

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

リクエストは失敗しますが、応答ヘッダーからテナントIDを取得できます。テナントIDが並んで存在し、その後に「WWW-Authenticate:Bearer authorization_uri = "https://login.windows.net/」が続きます

を使用curl -v して、応答ヘッダーを表示できます。


5

現在(2018年6月7日)の時点では、Azure PortalAzure Cloud Shell(ストレージアカウントが必要)でzアカウントショーを実行するのが簡単な方法です。

---コマンド---

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

Azure 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

または、Rest 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

マイクロソフトによると:

あなたのtenantIDを探す:あなたのtenantIdは次のmetadata.xmlドキュメント開くことで発見することができます。https://login.microsoft.com/GraphDir1.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xmlを - 「graphDir1.onMicrosoftを交換してください。 com」、テナントのドメイン値(テナントが所有するドメインはすべて機能します)。tenantIdは、sts URLの一部であるguidであり、最初のxmlノードのsts url( "EntityDescriptor")で返されます(例: " https://sts.windows.net/ ")。

参照:

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


0

URLのresources.azure.comにログインして、テナントID、実際にはすべてのサブスクリプションの詳細を取得することもできます。


0

tenantIDを取得する簡単な方法は、

Connect-MsolService -cred $ LiveCred#テナントへのサインイン

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


0

AAD-B2Cの場合、これはかなり単純です。B2Cディレクトリが関連付けられているAzureポータルから、B2Cディレクトリに移動します(ポータルの左側のメニューに「Azure AD B2C」を追加しました)。B2Cディレクトリで、[ユーザーフロー(ポリシー)ディレクトリ]メニュー項目をクリックします。ポリシーペインで、以前に追加したポリシーの1つをクリックして選択します。ポリシーのペインが開きます。[プロパティ]をクリックします。ペインは、「発行元」プロパティを持つ「トークン互換性設定」セクションです。AAD-B2CテナントGUIDは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を作成します。
ロビーニョ2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.