Azure AutomationのギャラリーにあるグラフィカルRunbookをサービスプリンシパルに対応させてみる
この記事の続き。 asazure.hatenablog.jp
Automation Account --> Runbooks --> Browse Gallery と辿ったら出てくるこの2つです。
手順
先にAutomation Accountのアセットに、サービスプリンシパルの情報でCredentialを、テナントIDの情報でVariablesを作っておきましょう。前記事にも書きましたが AppIdが「User name」、パスワードは「Password」です。
- Runbookをインポートして作成
- Edit
- エディタ上の「Input and Output」をクリック
- 「AzureConnectionAssetName」は使わないので削除
- 「Add Input」から、サービスプリンシパル用のCredential名を指定するためのInputを定義(String)。
- OKでブレードを閉じながらグラフィカルエディタまで戻る
- 最上段の「Get Run as Connection」を削除
- 左メニューの「CMDLETS」から「Get-AutomationPSCredential」を探して「Add Canvas」。検索するのが早いが階層としては「Orchestrator.AssetManagement.Cmdlets」の中にある
- 「Get-AutomationPSCredential」と下の「Connect to Azure」をドラッグアンドドロップでつなぐ。
- 「Get-AutomationPSCredential」をクリックし、「Parameters」を開く
- 「NAME」を開き、「Runbook input」から先に作ったサービスプリンシパル用Credential名のInputを選択 --> OK
- 「Connect to Azure」をクリック、「Parameters」を開いて以下のように編集
- 「Parameter Sets」から「ServicePrincipal」を選択
- 「Credential」は「Data Source」に「Activity Output」を選択、下のボックスで「Get-AutomationPSCredential」
- 「Serviceprincipal」は「Data Sourceに「Constant value」を指定して「True」を選択
- 「Tenantid」は「Variable asset」を選択してテナントIDの入ったVariablesを選択
修正は以上です。保存時にエラーが出たときには、戻ってみると指定したはずの項目が指定されていなかったりしますので、改めて指定するか、何度やってもダメならブラウザをリロードしたり、コマンドレットを消して置き直すなどしてみましょう。