Azure Automationを利用することで仮想マシンの起動停止の自動化などで運用されている場合があると思います。
[Azure Automation の実行アカウントを管理する]
https://learn.microsoft.com/ja-jp/azure/automation/manage-run-as-account
しかしながら2023年9月30日をもって実行アカウントは廃止されるとマイクロソフトから広報がありました。
[Azure Automation の実行アカウントは、2023 年 9 月 30 日に廃止されます。]
https://learn.microsoft.com/ja-jp/azure/automation/migrate-run-as-accounts-managed-identity?tabs=run-as-account
実行アカウントでは、AutomationのRunbookやその他の自動化機能使用して、ARMもしくはAzureクラシックモデルのリソースを管理する為の認証を提供しているのですが廃止されてしまう為、マネージドIDに移行する必要があります。
また、実行アカウントの認証ですが、証明書の期限が1年となり証明書を更新する必要があります。しかしながら、マネージドIDへ移行することで証明書の更新を行う必要がなくなりますので早めに移行することをお勧めいたします。
■前提条件
Runbook内のAzureRMモジュールやAzモジュールなどで実行アカウントを利用するコマンドが存在する場合のみ、移行作業が必須です。
・確認方法
Runbookのスクリプトで利用されているコマンドを確認します。
[1.Runbook に実行アカウントを利用しているコマンドが存在するかを確認]
https://jpazmon-integ.github.io/blog/automation/MigrateRunAsAccountsToManagedIdentity/#1-Runbook-%E3%81%AB%E5%AE%9F%E8%A1%8C%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C%E5%AD%98%E5%9C%A8%E3%81%99%E3%82%8B%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D
Azモジュールコマンドを利用している場合、下記のような記述となります。
例)
————————————–
$connectionName = “AzureRunAsConnection”
$servicePrincipalConnection = Get-AutomationConnection -Name $connectionName
Add-AzureRmAccount -ServicePrincipal -TenantId $servicePrincipalConnection.TenantId -ApplicationId $servicePrincipalConnection.ApplicationId -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
————————————–
Runbookのスクリプトで実行アカウントを利用しているコマンドを確認したら下記を参考にしてマネージドへ移行を行って下さい。
■マネージドIDへの移行方法
①該当のAutomationアカウントにてマネージドIDを作成します。
マネージドIDにはシステム割り当てとユーザー割り当ての2種類あります。
システム割り当てをすると該当のリソースを削除すると一緒に削除されます。ユーザー割り当てにすると個別のAzureリソースとなりますのでマネージドID専用のアカウントがAzureADに作成されます。
利用用途などを鑑みてどちらを利用するかを決定します。
[マネージド ID の種類]
https://learn.microsoft.com/ja-jp/azure/active-directory/managed-identities-azure-resources/overview#managed-identity-types
「Automationアカウント 」→ 「アカウント設定[ID]」にて、作成したい種類のマネージドIDの状態を[オン]にして保存することで作成されます。
②”①”で作成したマネージドIDに対し、必要最低限のロールを割り当てます。
マネージドIDの状態の[オン/オフ]設定項目の下にあるアクセス許可[Azureロールの割り当て]をクリックするとAzureロールの割り当て設定画面が表示されます。
[+ロールの割り当ての追加(プレビュー)より、割り当てが可能となります。
③Runbookスクリプへトへマネージド ID による認証コマンド(Connect-AzAccount -Identity)に書き換えます。
実際に運用されているRunbookのスクリプトのコピーを作成し、コピーしたRunbookにて動作テストをしてください。
※運用中のRunbookへ認証コマンドを書き換えて更新すすることをマイクロソフトで推奨をしています。
サンプルスクリプトは下記をご参照下さい。
実際の運用ではAzure Automationを作成して自動化してしまうとあまり気にすることはないと思います。しかしながら、このように廃止される機能などがあり運用に影響を及ぼしかねない場合もありますのでご注意ください。