Azure :当150K+的人被MS搞得无法清晰沟通时的那种感觉tenantId@Mjh,我听到了。我很惊讶你是第一个对我的克鲁基建议发表评论的人。也许对世界其他地方来说很明显,人们会从uri中提取租户id,但对我来说并不明显。我希望它会显示在UI的某个地方。必须在U
Azure :当150K+的人被MS搞得无法清晰沟通时的那种感觉tenantId@Mjh,我听到了。我很惊讶你是第一个对我的克鲁基建议发表评论的人。也许对世界其他地方来说很明显,人们会从uri中提取租户id,但对我来说并不明显。我希望它会显示在UI的某个地方。必须在U,azure,azure-active-directory,Azure,Azure Active Directory,:当150K+的人被MS搞得无法清晰沟通时的那种感觉tenantId@Mjh,我听到了。我很惊讶你是第一个对我的克鲁基建议发表评论的人。也许对世界其他地方来说很明显,人们会从uri中提取租户id,但对我来说并不明显。我希望它会显示在UI的某个地方。必须在Uri中查找它,或者在进行身份验证后使用powershell获取它,这真的很奇怪。我们想在我们的应用程序中限制某些tennant,因此我们需要向tennant所有者索取ID。这种方法会让很多人感到困惑。它不仅是疯狂的,而且是官方的=/“您的Off
:当150K+的人被MS搞得无法清晰沟通时的那种感觉tenantId@Mjh,我听到了。我很惊讶你是第一个对我的克鲁基建议发表评论的人。也许对世界其他地方来说很明显,人们会从uri中提取租户id,但对我来说并不明显。我希望它会显示在UI的某个地方。必须在Uri中查找它,或者在进行身份验证后使用powershell获取它,这真的很奇怪。我们想在我们的应用程序中限制某些tennant,因此我们需要向tennant所有者索取ID。这种方法会让很多人感到困惑。它不仅是疯狂的,而且是官方的=/“您的Office 365租户的租户id显示为URL的一部分”请参阅:实际上,它是azure cli。。但是对于任何cli,都是+1。这也适用于新的
az
cli,谢谢!我不确定利润部分,但其余部分对我有用!☺“租户ID”是“目录ID”。Microsoft确实喜欢通过将所有内容命名三次来保持人们的警觉。“导航到ActiveDirectory”是什么意思?此屏幕的地址似乎相当稳定:这些ID是订阅ID,而不是租户ID。当一个帐户有多个订阅时,会有多个目录,并且租户ID等同于@KevinR Belowy在回答中列出的目录ID。您可以有多个订阅与单个租户/目录关联。使用上述方法将显示租户ID,而不是订阅ID。您可以通过将此方法中的GUID与门户中的目录ID进行比较来进行确认-它们将是相同的。超级有助于防止您无法访问active Directory bladeFYI:您可以通过导航到(悬停以查看完整URL)并检查返回的“WWW Authenticate”标头将订阅ID转换为租户ID(您将得到一个401,但该标题包含一个带有租户Id的URL)。:-)在azure URL中(如门户),您通常可以互换地使用YOURDIRECTORYNAME.onmicrosoft.com和租户Id-因此,如果您知道directoryname,您可以引用承租人。他正在寻找一种不使用内置命令的方法——幸运的是,这演示了如何在任何语言中执行此操作。。。漂亮。它将创建一个新的sp。这正是提问者没有要求的。这不是Powershell命令-它是Azure CLI命令。Azure CLI要好得多,cloud nativeI在Azure中的大多数项下都看不到租户ID。您可以添加--query tenantId参数以准确获取租户ID:az account show--query tenantId三者中的两个是坏链接。
https://manage.windowsazure.com/<morestuffhere>/ActiveDirectoryExtension/Directory/BD848865-BE84-4134-91C6-B415927B3AB1
(Invoke-WebRequest https://login.windows.net/YOURDIRECTORYNAME.onmicrosoft.com/.well-known/openid-configuration|ConvertFrom-Json).token_endpoint.Split('/')[3]
$ azure login # add "-e AzureChinaCloud" if you're using Azure China
$ 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 account show --subscription a... | jq -r '.tenantId'
az account list | jq -r '.[].tenantId'
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;
}
Add-AzureRmAccount #if not already logged in
Get-AzureRmSubscription -SubscriptionName <SubscriptionName> | Select-Object -Property TenantId
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"
}
}
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"
}
Connect-MsolService -cred $LiveCred #sign in to tenant
(Get-MSOLCompanyInformation).objectid.guid #get tenantID
az account get-access-token --query tenant --output tsv
az login
az account get-access-token --query tenant --output tsv
az account show |grep tenantId | awk {'print $2'} |tr -d '[:punct:]'