Azure Automation の実行アカウントを管理する

重要

Azure Automation 実行アカウントは 2023 年 9 月 30 日に廃止され、マネージド ID に置き換えられます。 その日より前に、マネージド ID を使用するために Runbook の移行を開始する必要があります。 詳細については、既存の実行アカウントからマネージド ID への移行に関する記事を参照して、2023 年 9 月 30 日より前に実行アカウントからマネージド ID への Runbook の移行を開始してください。

Azure Automation の実行アカウントでは、Automation の Runbook やその他の自動化機能を使用し、Azure Resource Manager または Azure クラシック デプロイ モデルのリソースを管理する認証を提供します。

この記事では、実行アカウントまたはクラシック実行アカウントの管理方法について取り上げます。取り上げる内容は次のとおりです。

  • 自己署名証明書を更新する方法
  • エンタープライズ証明機関 (CA) またはサードパーティ証明機関から発行された証明書を更新する方法
  • 実行アカウントのアクセス許可を管理する

Azure Automation アカウントの認証、実行アカウントの管理に必要なアクセス許可、および自動化シナリオの処理に関連するガイダンスについては、「Automation アカウントの認証の概要」を参照してください。

自己署名証明書を更新する

実行アカウント用に作成した自己署名証明書は、作成日から 1 年後に有効期限が切れます。 実行アカウントの有効期限が切れる前のある時点で、証明書を更新する必要があります。 有効期限が切れる前にいつでも更新することができます。

自己署名証明書を更新するときに、現在有効な証明書は保持されます。これにより、キューに登録されているかアクティブに実行されていて、実行アカウントで認証される Runbook は確実に悪影響を受けることがなくなります。 証明書は、有効期限日を迎えるまで存在し続けます。

注意

実行アカウントが侵害されていると思われる場合は、自己署名証明書を削除してから再作成することができます。

注意

エンタープライズ CA またはサードパーティ CA によって発行された証明書を使用するように実行アカウントを構成している場合に、自己署名証明書を更新するオプションを使用すると、エンタープライズ証明書は自己署名証明書に置き換えられます。 このケースで証明書を更新する方法については、「エンタープライズ証明書またはサードパーティ証明書を更新する」を参照してください。

自己署名証明書を更新するには、次の手順を使用します。

  1. Azure ポータルにサインインします。

  2. Automation アカウントに移動し、アカウントの設定セクションで [実行アカウント] を選択します。

    Automation アカウントのプロパティ ウィンドウ。

  3. [実行アカウント] プロパティ ページで、証明書を更新する必要があるアカウントに応じて、 [実行アカウント] または [クラシック実行アカウント] を選択します。

  4. 選択したアカウントの [プロパティ] ページで、 [証明書の更新] を選択します。

    実行アカウントの証明書を更新する。

  5. 証明書が書き換えられている間、メニューの [通知] で進行状況を追跡できます。

エンタープライズ証明書またはサードパーティ証明書を更新する

証明書にはそれぞれ有効期限日が組み込まれています。 実行アカウントに割り当てた証明書が証明機関 (CA) によって発行されたものである場合、その有効期限が切れる前に各種の手順を実行し、新しい証明書で実行アカウントを構成する必要があります。 有効期限が切れる前にいつでも更新することができます。

  1. 新しい証明書を作成する」の手順に従って、更新済みの証明書をインポートします。 Automation では、証明書に次の構成が必要となります。

    • Microsoft Enhanced RSA and AES Cryptographic Provider プロバイダーを指定する
    • エクスポート可能としてマークされている
    • SHA256 アルゴリズムを使用するように構成されている
    • *.pfx または *.cer 形式で保存されている

    証明書をインポートしたら、その拇印の値をメモまたはコピーします。 この値は、実行アカウントの接続プロパティを新しい証明書で更新する際に使用されます。

  2. Azure portal にサインインします。

  3. Automation アカウントを検索して選択します。

  4. [Automation アカウント] ページで、一覧から Automation アカウントを選択します。

  5. 左ペインで [接続] を選択します。

  6. [Connections](接続) ページで [AzureRunAsConnection] を選択し、新しい証明書の拇印で [証明書の拇印] を更新します。

  7. [保存] を選択して、変更をコミットします。

実行アカウントに他のサブスクリプションのアクセス許可を付与する

Azure Automation では、1 つのサブスクリプションから 1 つの Automation アカウントを使用すること、および複数のサブスクリプション間で Azure Resource Manager リソースに対して Runbook を実行することがサポートされています。 この構成では、Azure クラシック デプロイ モデルはサポートされません。

実行アカウント サービス プリンシパルに、他のサブスクリプションの共同作成者ロール、またはより制限の厳しいアクセス許可を割り当てます。 詳細については、「Azure Automation におけるロールベースのアクセス制御」を参照してください。 実行アカウントを他のサブスクリプションのロールに割り当てるには、このタスクを実行するユーザー アカウントが、そのサブスクリプションの所有者ロールのメンバーである必要があります。

注意

この構成では、共通の Azure AD テナントを使用する組織の複数のサブスクリプションのみがサポートされます。

実行アカウントにアクセス許可を付与する前に、割り当てるサービス プリンシパルの表示名をメモする必要があります。

  1. Azure portal にサインインします。
  2. [Automation アカウント] で、 [アカウントの設定][実行アカウント] を選択します。
  3. [Azure 実行アカウント] を選択します。
  4. [Azure 実行アカウント] ページで [表示名] の値をコピーまたはメモします。

ロールの割り当てを追加する方法の詳細な手順については、使用する方法に応じて、次に関する記事を参照してください。

実行アカウントをロールに割り当てた後、Runbook で Set-AzContext -SubscriptionId "xxxx-xxxx-xxxx-xxxx" を指定して、使用するサブスクリプションのコンテキストを設定します。 詳細については、「Set-AzContext」を参照してください。

Azure Automation 実行アカウントのロールの割り当てを確認する

Automation 実行アカウント Azure AD に割り当てられているロールを確認するには、次の手順に従います。

  1. Azure portal にサインインします。

  2. Automation アカウントに移動し、[アカウント設定][実行アカウント] を選択します。

  3. [Azure 実行アカウント] を選択して、[アプリケーション ID] を表示します。

    アプリケーション ID のコピー方法を説明するスクリーンショット。

  4. Azure portal に移動し、Azure Active Directory を検索します。

  5. [Active Directory 概要] ページで、[概要] タブの検索ボックスに、アプリケーション ID を入力します。

    [概要] タブにコピーされたアプリケーション ID を説明するスクリーンショット。

    [エンタープライズ アプリケーション] セクションに、実行アカウントの表示名が表示されます。

  6. アプリケーション ID を選択し、その ID の [プロパティ] ページで [概要] ブレードの [プロパティ] に移動し、エンタープライズ アプリケーションの名前をコピーします。

  7. Azure portal に移動し、ご使用の [サブスクリプション] を検索し、サブスクリプションを選択します。

  8. [Access Control (IAM)][ロールの割り当て] に移動し、検索ボックスにエンタープライズ アプリケーションの名前を貼り付けて、アプリと、それに割り当てられたロールとスコープを合わせて表示します。 たとえば、以下のスクリーンショットでは、実行アカウントの Azure AD アプリに、サブスクリプション レベルで共同作成者アクセス権があります。

    エンタープライズ アプリケーションに割り当てられたロールとスコープを表示する方法を説明するスクリーンショット。

実行アカウントのアクセス許可を制限する

Azure のリソースに対する Automation のターゲット設定を制御するために、Update-AutomationRunAsAccountRoleAssignments.ps1 スクリプトを実行できます。 このスクリプトでは、カスタム ロールの定義を作成して使用するために、既存の実行アカウント サービス プリンシパルを変更します。 このロールには、Key Vault を除くすべてのリソースへのアクセス許可があります。

重要

Update-AutomationRunAsAccountRoleAssignments.ps1 スクリプトを実行した後、実行アカウントを使用して Key Vault にアクセスする Runbook が動作しなくなります。 スクリプトを実行する前に、アカウント内の Runbook で Azure Key Vault の呼び出しを確認する必要があります。 Azure Automation Runbook から Key Vault へのアクセスを有効にするには、実行アカウントを Key Vault のアクセス許可に追加する必要があります。

実行サービス プリンシパルで実行できる内容をさらに制限する必要がある場合は、カスタム ロール定義の NotActions 要素に他のリソースの種類を追加できます。 次の例では、Microsoft.Compute/* へのアクセスが制限されます。 このリソースの種類をロール定義の NotActions に追加すると、そのロールではどのコンピューティング リソースにもアクセスできなくなります。 ロール定義の詳細については、「Azure リソースのロール定義の概要」を参照してください。

$roleDefinition = Get-AzRoleDefinition -Name 'Automation RunAs Contributor'
$roleDefinition.NotActions.Add("Microsoft.Compute/*")
$roleDefinition | Set-AzRoleDefinition

実行アカウントで使用されるサービス プリンシパルに、共同作成者ロールとカスタム ロールのどちらが割り当てられているかを確認できます。

  1. Azure portal にサインインします。
  2. Automation アカウントに移動し、アカウントの設定セクションで [実行アカウント] を選択します。
  3. [Azure 実行アカウント] を選択します。
  4. [ロール] を選択し、使用されているロールの定義を見つけます。

実行アカウント ロールを検証します。

また、複数のサブスクリプションまたは Automation アカウントの実行アカウントで使用されるロールの定義を確認することができます。 これを行うには、PowerShell ギャラリーの Check-AutomationRunAsAccountRoleAssignments.ps1 スクリプトを使用します。

Key Vault へのアクセス許可を追加する

Key Vault と実行アカウントのサービス プリンシパルでカスタム ロールの定義が使用されているかどうかを、Azure Automation で確認できるようにすることができます。 次の手順が必要です。

  • Key Vault にアクセス許可を付与します。
  • アクセス ポリシーを設定します。

PowerShell ギャラリーの Extend-AutomationRunAsAccountRoleAssignmentToKeyVault.ps1 スクリプトを使用して、実行アカウントに Key Vault へのアクセス許可を付与できます。 Key Vault へのアクセス許可の設定について詳しくは、「Key Vault アクセス ポリシーを割り当てる」を参照してください。

実行アカウントの間違った構成に関する問題を解決する

実行またはクラシック実行アカウントに必要な構成項目の一部が削除されたか、初期セットアップ中に正しく作成されなかった可能性があります。 構成が間違っている可能性のあるインスタンスは、次のとおりです。

  • 証明書資産
  • 接続資産
  • 共同作成者ロールから削除された実行アカウント
  • Azure AD のサービス プリンシパルまたはアプリケーション

このような構成が間違っているインスタンスについては、Automation アカウントによって変更が検出され、そのアカウントの実行アカウントのプロパティ ペインに [Incomplete](不完全) の状態が表示されます。

不完全な実行アカウントの構成。

実行アカウントを選択すると、アカウントのプロパティ ペインに次のエラー メッセージが表示されます。

The Run As account is incomplete. Either one of these was deleted or not created - Azure Active Directory Application, Service Principal, Role, Automation Certificate asset, Automation Connect asset - or the Thumbprint is not identical between Certificate and Connection. Please delete and then re-create the Run As Account.

こうした実行アカウントの問題は、実行アカウントを削除してから再作成すればすぐに解決できます。

次のステップ