AzureCLIを介して既存のB2Cテナントをリンクする

Dec 01 2020

Azure CLIを介してプログラムで既存のB2Cテナントをリンクするにはどうすればよいですか?この行の実行:

az resource create --resource-group <rg> --resource-type Microsoft.AzureActiveDirectory/b2cDirectories --name <tenant>.onmicrosoft.com --location Europe --properties "{\"tenantId\": \"<tenantId>\", \"sku\": { \"name\": \"Standard\", \"tier\": \"A0\" } }"

戻りますBadRequestError: The 'sku' property is required for creating a b2c directory resourceが、そこにあります

ARMの「B2Cリンクリソース」は次のようになります。

{
   "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
   "apiVersion": "2017-01-30",
   "name": "[parameters('name')]",
   "location": "[parameters('location')]",
   "tags": {},
   "sku": {
      "name": "Standard",
      "tier": "A0"
   },
   "properties": {
      "tenantId": "[parameters('tenantId')]"
   }
}

さらに詳しい情報:

  • sku部分を完全に除外したり、専用パラメーターとして移動したりするなど、さまざまなバリエーションを試しました--sku Standardが、どれも機能していないようです。
  • 経由で既存のリンクを削除すると、az resource delete --ids /subscriptions/<subscriptionId>/resourceGroups/<rg>/providers/Microsoft.AzureActiveDirectory/b2cDirectories/<tenant>.onmicrosoft.com問題なく機能します
  • なぜ私たちはこれが必要なのですか?Terraformを使用してインフラストラクチャの展開を自動化します。B2Cテナントの自動化の制限を認識しているため(ここ、ここ、またはここを参照)、パイプラインを介してb2cリンクを削除/追加して、少なくともインフラストラクチャの破棄/適用時にサブスクリプションをクリーンに保つことを目指しています。
  • AzurePortalを介して既存のB2Cテナントをリンクするのは次のようになります

アドバイスをいただければ幸いです。ご協力いただきありがとうございます!

回答

SatyaV Dec 02 2020 at 14:31

現在、AzureCLIにB2Cテナントを管理する機能はないと思います。

すでにご存知のように、詳細な議論が行われています https://github.com/Azure/azure-cli/issues/12058

その他のプログラムによるアプローチ:

フロー/または責任のあるエンドポイントを理解するためにFiddlerTracesをキャプチャしました。以下のエンドポイントを指すことができました。新しいAzureB2Cテナントの作成を確認していました。

PUT https://management.azure.com/subscriptions/SUBSCRIBTION/resourceGroups/RESOURCEGROUP/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contosoorganiztion.onmicrosoft.com?api-version=2019-01-01-preview

{"location":"United States","sku":{"name":"Standard","tier":"A0"},"properties":{"createTenantProperties":{"displayName":"Contoso Organization","countryCode":"US"}}}

しかし、私の側の許可のために、私の側の「既存のテナントへのリンク」(あなたの要件のために)オプションをチェックすることができませんでした。しかし、私は同じことを担当する同様のエンドポイントがあるはずだと思います。復号化されたHttps(または復号化されたHTTPSトラフィックのキャプチャに役立つツール)を使用してFiddlerトレースをキャプチャし、既存のテナントをリンクしてエンドポイントとリクエスト本文を理解しようとすることができます。

注意 :

このAPI /エンドポイントはサポートされておらず、変更される可能性があるため、本番環境には推奨されないことに注意してください。

エンドポイントに到達するには、アクセストークンが必要です。

トークンを取得するには、AzureポータルのリソースIDは次のようになります:74658136-14ec-4630-ad9b-26e160ff0fc6

az account get-access-token --resource 74658136-14ec-4630-ad9b-26e160ff0fc6