💻

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

2022/01/01に公開

はじめに

今まで 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