วิธีรับรหัสผู้เช่าบัญชีสีฟ้า


201

คำถามของฉัน: มันเป็นไปได้ที่จะได้รับ ID ผู้เช่าไดเรกทอรีที่ใช้งานสีฟ้าโดยไม่ต้องใช้คำสั่ง powershell?

ฉันพบบล็อกทั้งสองนี้และด้วยความช่วยเหลือนี้ฉันสามารถรับ ID ผู้เช่าและ ID การสมัครรับข้อมูลจาก powershell แล้ว เป็นวิธีเดียวที่จะเรียกคืนผู้เช่าได้หรือไม่

รับ ID ผู้เช่า Active Directory ของ Windows Azure ใน Windows PowerShell

รองรับ Windows Azure AD authentication สำหรับ PowerShell

ขอบคุณ


คุณกำลังมองหาคำตอบในภาษาการเขียนโปรแกรมอื่นหรือคุณกำลังขอคำตอบที่ไม่ใช่การเขียนโปรแกรม หากอดีตคุณจะต้องเฉพาะเจาะจงมากขึ้น หากบันไดที่คุณจะถามในฟอรั่มที่ไม่ถูกต้อง
แมตต์

4
พบเว็บไซต์นี้ที่ทำงาน: whatismytenantid.com
Jean-FrançoisDeschênes

2
ความรู้สึกนั้นเมื่อคน 150K + ถูกเมาโดย MS ไม่สามารถสื่อสารผู้เช่าได้อย่างชัดเจน
eddyP23

คำตอบ:


264

เวลาเปลี่ยนแปลงทุกอย่าง ฉันกำลังมองหาที่จะทำเช่นเดียวกันเมื่อเร็ว ๆ นี้และเกิดขึ้นกับสิ่งนี้:

บันทึก

เพิ่ม 12/18/2017

ตามที่ระบุโดย shadowbq ทั้ง DirectoryId และ TenantId จะเท่ากับ GUID ที่แสดงถึง ActiveDirectory Tenant เอกสารและผลิตภัณฑ์ของ Microsoft อาจใช้คำใดคำหนึ่งซึ่งอาจทำให้เกิดความสับสนทั้งนี้ขึ้นอยู่กับบริบท

สมมติฐาน

  • คุณสามารถเข้าถึง Azure Portal

สารละลาย

ID ผู้เช่าเชื่อมโยงกับ ActiveDirectoy ใน Azure

  • นำทางไปยังแดชบอร์ด
  • นำทางไปยัง ActiveDirectory
  • นำทางไปยัง Manage / Properties
  • คัดลอก "ID ไดเรกทอรี"

Azure ActiveDirectory ID ผู้เช่า

ใช่ฉันใช้สีอย่าตัดสินฉัน


6
ฉันไม่แน่ใจเกี่ยวกับส่วนกำไร แต่ส่วนที่เหลือทำงานให้ฉัน! ☺
HaveSpacesuit

39
"ID ผู้เช่า" คือ "ID ไดเรกทอรี"
shadowbq

32
Microsoft แน่ใจว่าต้องการให้ผู้คนอยู่บนนิ้วเท้าด้วยการตั้งชื่อทุกอย่าง 3 ครั้ง
BenM

1
"นำทางไปยัง ActiveDirectory" หมายความว่าอะไร
ทัง

1
@thang: ActiveDirectory ถูกตรึงไว้ที่พอร์ทัล Azure โดยค่าเริ่มต้นหากคุณไม่เห็นคุณสามารถไปที่นั่นได้โดยป้อน "Azure Active Directory" ในแถบค้นหาที่ด้านบนของพอร์ทัลและเลือกรายการ "Azure Active Directory" ภายใต้ "บริการ"
Kevin R.

103

ไปที่https://login.windows.net/YOURDIRECTORYNAME.onmicrosoft.com/.well-known/openid-configurationและคุณจะเห็น URL จำนวนมากที่มี ID ผู้เช่าของคุณ


3
รหัสเหล่านั้นเป็นรหัสการสมัครรับข้อมูล - ไม่ใช่รหัสผู้เช่า เมื่อบัญชีมีหลายการสมัครสมาชิกมีหลายไดเรกทอรีและ tenantId เท่ากับ directoryId ที่ระบุไว้ในคำตอบโดย @KevinR ด้านล่าง
Catch22

5
คุณสามารถมีการสมัครสมาชิกหลายรายการที่เกี่ยวข้องกับผู้เช่า / ไดเรกทอรีเดียว การใช้วิธีการด้านบนจะแสดง ID ผู้เช่าไม่ใช่ ID การสมัครสมาชิก คุณสามารถยืนยันได้โดยเปรียบเทียบ GUID จากวิธีนี้กับ Directory ID ในพอร์ทัลซึ่งจะเหมือนกัน
BenV

3
มีประโยชน์อย่างยิ่งในกรณีที่คุณไม่สามารถเข้าถึงเบลดไดเรกทอรีที่ใช้งานอยู่
Torben Knerr

2
FYI: คุณสามารถแปลงรหัสการสมัครสมาชิกเป็น ID ผู้เช่าโดยไปที่Management.azure.com/subscriptions/ (เลื่อนเมาส์ไปที่เพื่อดู URL แบบเต็ม) - และตรวจสอบส่วนหัว "WWW-Authenticate" ที่กลับมา (คุณจะได้รับ 401 แต่ส่วนหัวนั้นมี URL พร้อมรหัสผู้เช่าในนั้น) :-)
BrainSlugs83

ใน Azure URL (เช่นพอร์ทัล) โดยทั่วไปคุณสามารถใช้ YOURDIRECTORYNAME.onmicrosoft.com และ ID ผู้เช่าแทนกันได้ - ดังนั้นหากคุณรู้จักชื่อไดเรกทอรีคุณสามารถอ้างอิงผู้เช่าได้
ndrix

57

ทีมของฉันเบื่อหน่ายกับการพยายามหาID ผู้เช่าสำหรับโครงการ O365 และ Azure ของเรา devs, ทีมสนับสนุน, ทีมขายทุกคนต้องการมันในบางจุดและไม่เคยจำวิธีที่จะทำ

ดังนั้นเราจึงสร้างเว็บไซต์เล็ก ๆ นี้ในหลอดเลือดดำเดียวกันกับ 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
จริงๆแล้วมันเป็นสีฟ้า .. แต่ +1 สำหรับ cli ใด ๆ
pms1969

สิ่งนี้จะทำงานร่วมกับazCLI ใหม่ได้ด้วย!
rsmith54

39

ID ผู้เช่ายังมีอยู่ใน URL คอนโซลการจัดการเมื่อคุณเรียกดูอินสแตนซ์ Active Directory ที่กำหนดเช่น

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

Azure Mgmt Active Directory ของคอนโซล


@Mjh ฉันได้ยินคุณ ฉันประหลาดใจที่คุณเป็นคนแรกที่แสดงความคิดเห็นเกี่ยวกับคำแนะนำ klugey ของฉัน บางทีอาจเป็นที่ชัดเจนสำหรับคนอื่น ๆ ในโลกว่าเราจะดึงรหัสผู้เช่าจาก uri
Brett

ไม่ชัดเจนสำหรับฉัน ฉันคาดว่าจะให้แสดงใน UI ที่ไหนสักแห่ง ต้องตามล่าหามันใน Uri หรือใช้ powershell เพื่อรับมันหลังจากที่คุณรับรองความถูกต้องแล้วมันแปลกจริงๆ เราต้องการ จำกัด ผู้เช่าที่แน่นอนในแอพของเราดังนั้นเราต้องขอ ID จากเจ้าของผู้เช่า วิธีนี้จะทำให้พวกเขาสับสนมาก
PilotBob

3
ไม่เพียงเท่านั้นมันเป็นเรื่องที่บ้าคลั่งมันเป็นทางการ = / "รหัสผู้เช่าสำหรับผู้เช่า Office 365 ของคุณจะแสดงเป็นส่วนหนึ่งของ URL" ดู: support.office.com/en-us/article/ …
Bigginn

34

เพียงเพื่อเพิ่มวิธีการใหม่เพื่อเก่า (แต่ยังคงคำถามที่เกี่ยวข้อง) ในพอร์ทัลใหม่การคลิกที่ไอคอนวิธีใช้จากหน้าจอใดก็ได้และเลือก ' แสดงการวินิจฉัย ' จะแสดงเอกสาร JSON ที่มีข้อมูลผู้เช่าทั้งหมดของคุณรวมถึง TenantId ชื่อผู้เช่าและข้อมูลที่มีประโยชน์มากมาย

ป้อนคำอธิบายรูปภาพที่นี่


22

คำตอบนี้มีให้ในเว็บไซต์ของ Microsoft ซึ่งปรับปรุงล่าสุดเมื่อวันที่ 21/3/2561:

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
ฉันไม่เห็น 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 อย่างง่าย ๆ เพื่อรับ ID ผู้เช่าของการสมัครสมาชิก Azure โดยไม่ต้องมีการตรวจสอบสิทธิ์ใด ๆ

โทรหาขด:

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

คำขอล้มเหลว แต่คุณจะสามารถรับรหัสผู้เช่าจากส่วนหัวการตอบกลับ รหัสผู้เช่ามีอยู่ในบรรทัดแล้วตามด้วย "WWW- รับรองความถูกต้อง: Bearer permission_uri =" https://login.windows.net/ "

คุณสามารถใช้curl -v เพื่อแสดงหัวข้อการตอบสนอง


5

ณ ตอนนี้ (2018/06/07) ซึ่งเป็นวิธีการที่ง่ายจะวิ่งโชว์ az บัญชีในAzure เมฆเชลล์ (ต้องมีบัญชีการจัดเก็บข้อมูล) ในAzure พอร์ทัล

--- คำสั่ง ---

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 เมฆเชลล์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

ตามที่ Microsoft:

ค้นหาผู้เช่าของคุณ: ผู้เช่าของคุณสามารถค้นพบได้โดยการเปิดเอกสาร metadata.xml ต่อไปนี้: https://login.microsoft.com/GraphDir1.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xml - แทนที่ "graphDir1.onMicrosoft" com "ด้วยค่าโดเมนของผู้เช่าของคุณ (โดเมนใด ๆ ที่เป็นของผู้เช่าจะใช้งานได้) tenantId เป็น guid ซึ่งเป็นส่วนหนึ่งของ URL sts ส่งคืนใน URL แรกของโหนด XML ("EntityDescriptor") ของโหนด XML: เช่น " https://sts.windows.net/ "

อ้างอิง:

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


0

นอกจากนี้คุณยังสามารถรับรหัสผู้เช่าซึ่งอันที่จริงแล้วรายละเอียดการสมัครสมาชิกทั้งหมดโดยเข้าสู่ url resources.azure.com


0

วิธีง่ายๆในการรับผู้เช่าคือ

เชื่อมต่อ-MsolService -cred $ LiveCred # ลงชื่อเข้าใช้เพื่อผู้เช่า

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


0

สำหรับ AAD-B2C มันค่อนข้างง่าย จาก Azure Portal ที่มีไดเรกทอรี B2C เชื่อมโยงไปที่ไดเรกทอรี B2C ของคุณ (ฉันเพิ่ม "Azure AD B2C" ลงในเมนูด้านซ้ายของพอร์ทัล) ในไดเรกทอรี B2C ให้คลิกที่รายการเมนูไดเรกทอรีของผู้ใช้ (นโยบาย) ในบานหน้าต่างนโยบายให้คลิกที่หนึ่งในนโยบายที่คุณเพิ่มไว้ก่อนหน้านี้เพื่อเลือกมันควรจะเปิดบานหน้าต่างสำหรับนโยบายคลิก "คุณสมบัติ" ในถัดไป บานหน้าต่างเป็นส่วน "การตั้งค่าความเข้ากันได้กับโทเค็น" ซึ่งมีคุณสมบัติ "ผู้ออก" มี GUID ผู้เช่า AAD-B2C ของคุณอยู่ใน 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
Robinho
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.