Azure 계정 테넌트 ID를 얻는 방법은 무엇입니까?


201

내 질문은 : powershell 명령을 사용하지 않고 푸른 활성 디렉토리 테넌트 ID를 얻을 수 있습니까?

이 두 개의 블로그를 찾았으며이 도움말을 통해 이미 Powershell에서 테넌트 ID 및 구독 ID를 얻을 수 있습니다. 테넌트를 검색하는 유일한 방법입니까?

Windows PowerShell에서 Windows Azure Active Directory 테넌트 ID 가져 오기

PowerShell에 대한 Windows Azure AD 인증 지원

감사


다른 프로그래밍 언어로 답변을 찾고 있습니까? 아니면 비 프로그래밍 응답을 요청하고 있습니까? 전자의 경우 더 구체적이어야합니다. 사다리가 잘못된 포럼에 질문하는 경우
Matt


2
150K + 사람들이 MS가 명확하게 tenantId 통신 할 수 없다는 의해 나사있어 그 느낌
eddyP23

답변:


264

시간은 모든 것을 바꿉니다. 나는 최근에 똑같이하고 싶었고 이것을 생각해 냈습니다.

노트

추가됨 12/18/2017

shadowbq로 표시된 것처럼 DirectoryId 및 TenantId는 ActiveDirectory Tenant를 나타내는 GUID와 동일합니다. 상황에 따라 두 용어는 혼동 될 수있는 Microsoft 설명서 및 제품에서 사용될 수 있습니다.

가정

  • Azure Portal에 액세스 할 수 있습니다

해결책

테넌트 ID는 Azure의 ActiveDirectoy에 연결되어 있습니다.

  • 대시 보드로 이동
  • ActiveDirectory로 이동
  • 관리 / 속성으로 이동
  • "디렉토리 ID"를 복사하십시오.

Azure ActiveDirectory 테넌트 ID

예, 페인트를 사용했습니다. 판단하지 마십시오.


6
나는 이익 부분에 대해 확신하지 못하지만 나머지는 나를 위해 일했습니다! ☺
HaveSpacesuit

39
"테넌트 ID" "디렉토리 ID"입니다.
shadowbq

32
마이크로 소프트는 모든 것을 3 번 명명함으로써 사람들이 자신의 발끝을 지키고 싶어합니다.
BenM

1
"ActiveDirectory로 이동"이란 무엇입니까?
thang

1
@thang : ActiveDirectory는 기본적으로 Azure Portal에 고정되어 있지 않으면 포털 상단의 검색 창에 "Azure Active Directory"를 입력하고 "Azure Active Directory"항목을 선택하면 해당 포털에 도달 할 수 있습니다. "서비스"에서
Kevin R.

103

https://login.windows.net/YOURDIRECTORYNAME.onmicrosoft.com/.well-known/openid-configuration으로 이동하면 테넌트 ID가 포함 된 여러 URL이 표시됩니다.


3
해당 ID는 테넌트 ID가 아닌 구독 ID입니다. 계정에 여러 구독이있는 경우 여러 디렉토리가 있고 tenantId는 아래 @KevinR의 답변에 설명 된대로 directoryId와 동일합니다.
Catch22

5
단일 테넌트 / 디렉토리와 연관된 여러 구독을 가질 수 있습니다. 위의 방법을 사용하면 구독 ID가 아닌 테넌트 ID가 표시됩니다. 이 방법의 GUID를 포털의 디렉토리 ID와 비교하여 확인할 수 있습니다. 동일합니다.
BenV

3
액티브 디렉토리 블레이드에 액세스 할 수없는 경우 매우 유용합니다
Torben Knerr

2
참고 : management.azure.com/subscriptions/… 로 이동하여 전체 URL을 보려면 구독 ID를 테넌트 ID로 변환하고 돌아 오는 "WWW-Authenticate"헤더를 검사하면됩니다. 401이지만 해당 헤더에는 테넌트 ID가 포함 된 URL이 포함되어 있습니다). :-)
BrainSlugs83

포털과 같은 푸른 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
실제로, 그것은 진부한 클리닉입니다. 그러나 어떤 클리닉에 대해서도 +1입니다.
pms1969

새로운 azCLI 에서도 작동합니다 . 감사합니다!
rsmith54

39

테넌트 ID는 주어진 Active Directory 인스턴스를 탐색 할 때 관리 콘솔 URL에도 나타납니다.

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

Azure Mgmt 콘솔 Active Directory


@Mjh, 들려요. 내 klugey 제안에 대해 처음 언급 한 사람이 놀랍습니다. 어쩌면 세계의 다른 사람들에게는 세입자 ID를 URI에서 가져 오는 것이 분명 할 것입니다.
Brett

나에게 분명하지 않습니다. UI 어딘가에 표시 될 것으로 예상했습니다. Uri에서 사냥하거나 powershell을 사용하여 인증 한 후에 가져 오는 것은 정말 이상합니다. 앱에서 특정 테넌트를 제한하려고하므로 테넌트 소유자에게 ID를 요청해야합니다. 이 방법은 많은 것을 혼란스럽게 할 것입니다.
PilotBob

3
광기 일뿐만 아니라 공식 = / "Office 365 테넌트의 테넌트 ID가 URL의 일부로 표시됩니다"참조 : support.office.com/en-us/article/…
Bigginn

34

오래된 방법에 새로운 방법을 추가하기 만하면됩니다 (그러나 여전히 관련성 높은 질문). 새 포털에서 아무 화면에서나 도움말 아이콘을 클릭하고 ' 진단 표시 '를 선택 하면 TenantId, Tenant Name 및 훨씬 더 유용한 정보를 포함한 모든 테넌트 정보가 포함 된 JSON 문서가 표시됩니다.

여기에 이미지 설명을 입력하십시오


22

이 답변은 Microsoft 웹 사이트에서 제공되었으며 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
푸른 색의 대부분의 항목에는 테넌트 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를 가져올 수 있습니다.

컬 호출 :

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 포털 에서 Azure 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/en-us/azure/cloud-shell/overview 에서 Azure Cloud Shell에 대한 자세한 내용을 찾으십시오 .


4

Azure CLI 사용

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

1
이것은 바로 질문자가 요구하지 않는 것입니다
Jim Aho

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

자바에서 :

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에 따르면 :

테넌트 ID 찾기 : 다음 metadata.xml 문서를 열어 테넌트 ID를 찾을 수 있습니다. 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/en-us/resources/samples/active-directory-dotnet-graphapi-web/


0

또한 URL resources.azure.com에 로그인하여 테넌트 ID, 실제로 모든 구독 세부 정보를 얻을 수 있습니다.


0

테넌트 ID를 얻는 간단한 방법은 다음과 같습니다.

Connect-MsolService -cred $ LiveCred # 테넌트에 로그인

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


0

AAD-B2C의 경우 상당히 간단합니다. B2C 디렉터리가 연결된 Azure Portal에서 B2C 디렉터리로 이동합니다 ( "Azure AD B2C"를 포털의 왼쪽 메뉴에 추가했습니다). B2C 디렉토리에서 "사용자 플로우 (정책) 디렉토리 메뉴 항목을 클릭하십시오. 정책 분할 창에서 이전에 추가 한 정책 중 하나를 클릭하여 선택하십시오. 정책에 대한 분할 창을 열어야합니다."속성 "을 클릭하십시오. pane은 "Issuer"속성이있는 "토큰 호환성 설정"섹션이며 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를 생성합니다 .
Robinho
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.