💻

Azure AD のアプリケーションをコマンド ラインから作成する

に公開

はじめに

今まで Azure AD のアプリケーションはいつも Azure Portal から作成していましたが、展開時にコード化されていないと困るため、方法をまとめました。いくつか方法があり、苦労したのでまとめておきます。

各モジュールの比較

AzureAD モジュール

New-AzureADApplication を使ってアプリケーションを作成できます。

https://docs.microsoft.com/en-us/powershell/module/azuread/new-azureadapplication?WT.mc_id=M365-MVP-5002941

使ってみたところ、以下の問題点がありました。

  • PowerShell Core に非対応
  • パラメーターが非常に複雑

Az モジュール

New-AzADApplication を使ってアプリケーションを作成できます。

https://docs.microsoft.com/en-us/powershell/module/az.resources/new-azadapplication?WT.mc_id=M365-MVP-5002941

使ってみたところ、以下の問題点がありました。

  • 設定できるパラメーターが少ない
    • たとえば oauth2AllowImplicitFlow が指定できない
  • IdentifierUris を省略できない

Azure CLI

az ad app create を使ってアプリケーションを作成できます。

https://docs.microsoft.com/en-us/cli/azure/ad/app?WT.mc_id=M365-MVP-5002941#az_ad_app_create

使ってみたところ、以下の問題点がありました。

  • 戻り値が受け取りにくい
    • アプリケーションを作成したあとにアプリケーション ID を使って後続の処理を行う場合に困る
  • 同じ名前のアプリケーションを作成できない
    • すでに存在する同じ名前のアプリケーションの情報が自動的に上書きされる

Microsoft.Graph モジュール

New-MgApplication を使ってアプリケーションを作成できます。

https://github.com/microsoftgraph/msgraph-sdk-powershell

使ってみたところ、以下の問題点がありました。

  • パラメーターの形式がマニフェストの定義と若干異なる

おわりに

とりあえず Microsoft.Graph モジュールがよさそうです。

Discussion