如何获得Azure帐户租户ID?


201

我的问题是:是否可以在不使用powershell命令的情况下获得azure活动目录租户ID?

我找到了这两个博客,有了这个帮助,我已经能够从powershell中获取租户ID和订阅ID。这是检索租户的唯一方法吗?

在Windows PowerShell中获取Windows Azure Active Directory租户ID

Windows Azure AD身份验证对PowerShell的支持

谢谢


您是在寻找其他编程语言的答案还是在寻求非编程的答案?如果是前者,则需要更具体。如果您在错误的论坛
Matt

4
发现这个网站,没有工作:whatismytenantid.com
让·弗朗索瓦·Deschê​​nes

2
当150K +的人被MS搞砸时,无法清晰地传达tenantId的那种感觉
eddyP23

Answers:


264

时间改变了一切。我最近一直在想做同样的事情,并提出了以下建议:

注意

添加12/18/2017

如shadowbq所示,DirectoryId和TenantId都等于表示ActiveDirectory租户的GUID。根据上下文,Microsoft文档和产品可能会使用这两个术语,这可能会造成混淆。

假设条件

  • 您有权访问Azure门户

租户ID绑定到Azure中的ActiveDirectoy

  • 导航到仪表板
  • 导航到ActiveDirectory
  • 导航到“管理/属性”
  • 复制“目录ID”

Azure ActiveDirectory租户ID

是的,我用油漆,不要判断我。


6
我不确定利润部分,但其余部分对我有用!☺
HaveSpacesuit

39
“租户ID” “目录ID”。
shadowbq

32
Microsoft确实希望通过命名3次所有内容来使人们保持警惕。
BenM

1
“导航到ActiveDirectory”是什么意思?
thang

1
@thang:默认情况下,ActiveDirectory固定到Azure门户,如果看不到它,则可以通过在门户顶部的搜索栏中输入“ Azure Active Directory”并选择“ Azure Active Directory”条目来到达那里在“服务”下
Kevin R.

103

3
这些ID是订阅ID,而不是租户ID。当一个帐户有多个订阅时,会有多个目录,并且tenantId等于以下
@KevinR

5
您可以将多个订阅与一个租户/目录关联。使用上述方法将向您显示租户ID,而不是订阅ID。您可以通过将此方法的GUID与门户中的目录ID进行比较来进行确认-它们将相同。
BenV

3
超级有用,以防您无法访问活动目录刀片
Torben Knerr,

2
仅供参考:您可以通过导航到management.azure.com/subscriptions/…(将鼠标移到完整的URL上),然后检查返回的“ WWW-Authenticate”标头,将订阅ID转换为租户ID。401,但该标头包含其中包含租户ID的URL)。:-)
BrainSlugs83 '18

在azure URL(例如门户)中,通常可以互换使用YOURDIRECTORYNAME.onmicrosoft.com和租户ID-因此,如果您知道目录名,则可以引用该租户。
ndrix


48

在Azure CLI(我使用GNU / Linux)中:

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

这将要求您通过https://aka.ms/deviceloginhttps://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

当您浏览到给定的Active Directory实例时,管理控制台URL中也将显示租户ID,例如,

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

Azure Mgmt控制台Active Directory


@Mjh,我听到了。我很惊讶您是第一个对我的克鲁吉建议发表评论的人。也许对世界其他地区来说,一个人会从uri中提取租户ID。
Brett 2015年

对我来说并不明显。我希望它可以在用户界面的某个地方显示。在身份验证后不得不在Uri中寻找它或使用powershell来获取它确实很奇怪。我们想限制我们应用中的某些租户,因此我们需要向租户所有者索取ID。这种方法会使很多人困惑。
PilotBob 2015年

3
这不仅疯狂,而且是官方的= /“ Office 365租户的租户ID显示为URL的一部分”,请参阅:support.office.com/en-us/article/…–
Bigginn

34

只是在旧的(但仍是相关的问题)上添加新的方法。在新门户中,单击任意屏幕上的帮助图标,然后选择“ Show Diagnostics ”,将显示一个JSON文档,其中包含您的所有租户信息,包括TenantId,Tenant Name以及更多有用的信息

在此处输入图片说明



12

从应用程序注册中获取它的另一种方法

Azure Active Directory-> App registrations->单击该应用程序,它将显示tenant ID如下内容

在此处输入图片说明


1
我看不到天蓝色的大多数物品下的租户ID。
轧辊

12

通过PowerShell匿名:

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

1
他一直在寻找一种无需使用内置命令即可完成此操作的方法-幸运的是,这演示了如何以任何语言进行操作……很漂亮。
BrainSlugs83 '18

5

您可以运行简单的curl调用,而无需进行任何身份验证即可获取azure订阅的租户ID。

打电话给:

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

请求失败,但是您将能够从响应头中获取租户ID。租户ID出现在行中,后跟“ WWW-Authenticate:Bearerauthorization_uri =“ https://login.windows.net/”

您可以curl -v 用来显示响应标题。


5

截至目前(2018年7月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"
  }
}

https://docs.microsoft.com/zh-cn/azure/cloud-shell/overview上找到有关Azure Cloud Shell的更多详细信息。



3

在PowerShell中:

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


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:可以通过打开以下meta.xml 文件来发现您的tenantId:https ://login.microsoft.com/GraphDir1.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xml-替换为“ graphDir1.onMicrosoft”。 com”,并带有您租户的域名价值(租户拥有的任何域都可以使用)。tenantId是一个guid,它是sts URL的一部分,在第一个xml节点的sts url(“ EntityDescriptor”)中返回:例如“ https://sts.windows.net/ ”。

参考:

https://azure.microsoft.com/zh-cn/resources/samples/active-directory-dotnet-graphapi-web/



0

获取tenantID的一种简单方法是

Connect-MsolService -cred $ LiveCred#登录到租户

(Get-MSOLCompanyInformation).objectid.guid#获取房客ID


0

对于AAD-B2C,这非常简单。从具有关联的B2C目录的Azure门户中,转到您的B2C目录(我在门户的左侧菜单中添加了“ Azure AD B2C”)。在B2C目录中,单击“用户流(策略)目录”菜单项。在策略窗格中,单击先前添加的策略之一以选择它。它应打开该策略的窗格。单击“属性”。在下一个窗格是“令牌兼容性设置”部分,其属性为“颁发者”,您的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
罗比尼奥
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.