からめもぶろぐ。

俺たちは雰囲気で OAuth をやっている

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

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

使ってみた

AzureAD モジュール

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

docs.microsoft.com

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

  • PowerShell Core に対応していない
  • パラメーターが超絶的に面倒くさい

Az モジュール

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

docs.microsoft.com

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

  • 設定できるパラメーターが少ない
    • 例えば oauth2AllowImplicitFlow などが指定できないです。
  • IdentifierUris を省略できない

Azure CLI

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

docs.microsoft.com

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

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

Microsoft.Graph モジュール

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

github.com

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

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

まとめ

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