私の質問は、次のとおりです。powershellコマンドを使用せずにAzure Active DirectoryテナントIDを取得することは可能ですか?
私はこの2つのブログを見つけました、そしてこの助けを借りて、私はすでにpowershellからテナントIDと購読IDを取得することができます。それはテナントを撤退するための唯一の方法ですか?
ありがとう、
時間がすべてを変えます。私は最近同じことをすることを考えていて、これを思い付きました:
2017年12月18日追加
Shadowbqで示されるように、DirectoryIdとTenantIdは両方ともActiveDirectoryテナントを表すGUIDに相当します。状況に応じて、どちらの用語もマイクロソフトのドキュメントおよび製品で使用されているため、混乱を招く可能性があります。
テナントIDはAzureのActiveDirectoyに関連付けられています
はい、私はペイントを使いました。判断しないでください。
https://login.windows.net/YOURDIRECTORYNAME.onmicrosoft.com/.well-known/openid-configuration にアクセスすると、テナントIDを含む多数のURLが表示されます。
特定のActive Directoryインスタンスを参照すると、テナントIDも管理コンソールのURLに表示されます。
https://manage.windowsazure.com/<morestuffhere>/ActiveDirectoryExtension/Directory/BD848865-BE84-4134-91C6-B415927B3AB1
私のチームは、私たちのO365プロジェクトとAzureプロジェクトで テナントID を見つけようとするのにうんざりしました。開発者、サポートチーム、セールスチーム、誰もがいつかそれを必要とし、それを行う方法を決して覚えていません。
だから私たちはwhatismyip.comと同じ方法でこの小さなサイトを構築しました。あなたはそれが便利だと思います!
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 : [email protected]
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'
私はそれが役立つことを願っています
この回答はマイクロソフトのウェブサイトで提供されており、最終更新日は3/21/2018です。
手短に言うと、チュートリアルのスクリーンショットです。
お役に立てれば。
PowerShellを介して匿名で:
PS C:\> (Invoke-WebRequest https://login.windows.net/YOURDIRECTORYNAME.onmicrosoft.com/.well-known/openid-configuration|ConvertFrom-Json).token_endpoint.Split('/')[3]
認証なしで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
を使うことができます。
PowerShellの場合:
Add-AzureRmAccount #if not already logged in
Get-AzureRmSubscription -SubscriptionName <SubscriptionName> | Select-Object -Property TenantId
現在のところ(06/07/2018)、AzureポータルのAzureクラウドシェル(ストレージアカウントが必要)でaz account showを実行するのが簡単な方法です。
--- Command ---
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/ja-jp/Azure/cloud-Shell/overview を参照してください。
Azure CLIをセットアップしている場合は、以下のコマンドを実行できます。
az account list
または~/.Azure/credentials
で見つけてください
マイクロソフトによると:
テナントIDを検索します。 以下のmetadata.xml文書を開くことで、テナントIDを検出できます。 https://login.Microsoft.com/GraphDir1.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata。 xml - "graphDir1.onMicrosoft.com"をテナントのドメイン値に置き換えます(テナントが所有するドメインはすべて機能します)。 tenantIdは、最初のxmlノードのsts url( "EntityDescriptor")で返されるsts URLの一部であるguidです。 " https://sts.windows.net/ "。
参照:
https://Azure.Microsoft.com/ja-jp/resources/samples/active-directory-dotnet-graphapi-web/
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;
}
Azure CLIを使用する
az account get-access-token --query tenant --output tsv
テナントIDを取得する簡単な方法は次のとおりです。
Connect-MsolService -cred $ LiveCred#テナントにサインイン
(Get-MSOLCompanyInformation).objectid.guid #get tenantID
AAD-B2Cの場合、これは非常に簡単です。 B2Cディレクトリが関連付けられているAzure Portalから、B2Cディレクトリに移動します(ポータルの左側のメニューに「Azure AD B2C」を追加しました)。 B2Cディレクトリで[ユーザーフロー(ポリシー)ディレクトリ]メニュー項目をクリックします。ポリシーペインで、以前に追加したポリシーのいずれかをクリックして選択します。ポリシーのペインが開きます。[プロパティ]をクリックします。ペインは「Issuer」プロパティを持つ「トークン互換性設定」セクションであり、AAD-B2CテナントGUIDはURLに含まれています。
また、URLリソースにログインすることで、テナントID、実際にはすべてのサブスクリプションの詳細を取得することもできます。