Azure Automation データの管理
この記事には、Azure Automation 環境でデータを保護し、セキュリティを確保するしくみについて説明するいくつかのトピックが含まれています。
Azure Automation 用の TLS
Azure Automation に転送中のデータのセキュリティを確保するには、トランスポート層セキュリティ (TLS) の使用を構成することを強くお勧めします。 次に示すのは、HTTPS で Automation サービスと通信するメソッドまたはクライアントの一覧です。
Webhook 呼び出し
Hybrid Runbook Worker。Update Management および変更履歴とインベントリによって管理されるコンピューターが含まれます。
DSC ノード
以前のバージョンの TLS/SSL (Secure Sockets Layer) は脆弱であることが確認されています。現在、これらは下位互換性を維持するために使用可能ですが、推奨されていません。 エージェントで TLS 1.2 のみを使用するように明示的に設定することは、必要な場合を除いてお勧めしません。なぜなら、そうすることで、TLS 1.3 など、より新しく、より安全なプロトコルを自動的に検出して利用できるようにするプラットフォーム レベルのセキュリティ機能が無効になる可能性があるためです。
Windows および Linux 用の Log Analytics エージェントでの TLS サポート (これは Hybrid Runbook Worker ロールの依存関係です) については、Log Analytics エージェントの概要の TLS に関する記述を参照してください。
ハイブリッド worker と Webhook の呼び出し用に TLS プロトコルをアップグレードする
2024 年 10 月 31 日から、トランスポート層セキュリティ (TLS) 1.0 および 1.1 プロトコルを使用するすべてのエージェント ベースと拡張機能ベースのユーザー Hybrid Runbook Worker、Webhook、DSC ノードは Azure Automation に接続できなくなります。 TLS 1.0 および 1.1 プロトコルを使用し、ハイブリッド worker で実行中またはスケジュールされているジョブはすべて失敗します。
Runbook をトリガーする Webhook の呼び出しが、TLS 1.2 以降で転送されるようにしてください。 エージェントと拡張機能ベースの worker が TLS 1.2 以降のプロトコルでのみネゴシエートするように、レジストリを変更してください。 Windows マシン上の Windows ハイブリッド worker で TLS 1.0/1.1 プロトコルを無効にし、TLS 1.2 以降を有効にする方法を理解してください。
Linux ハイブリッド worker の場合、最新の TLS プロトコルにアップグレードするには次の Python スクリプトを実行します。
import os
# Path to the OpenSSL configuration file as per Linux distro
openssl_conf_path = "/etc/ssl/openssl.cnf"
# Open the configuration file for reading
with open(openssl_conf_path, "r") as f:
openssl_conf = f.read()
# Check if a default TLS version is already defined
if "DEFAULT@SECLEVEL" in openssl_conf:
# Update the default TLS version to TLS 1.2
openssl_conf = openssl_conf.replace("CipherString = DEFAULT@SECLEVEL", "CipherString = DEFAULT@SECLEVEL:TLSv1.2")
# Open the configuration file for writing and write the updated version
with open(openssl_conf_path, "w") as f:
f.write(openssl_conf)
# Restart any services that use OpenSSL to ensure that the new settings are applied
os.system("systemctl restart apache2")
print("Default TLS version has been updated to TLS 1.2.")
else:
# Add the default TLS version to the configuration file
openssl_conf += """
Options = PrioritizeChaCha,EnableMiddleboxCompat
CipherString = DEFAULT@SECLEVEL:TLSv1.2
MinProtocol = TLSv1.2
"""
# Open the configuration file for writing and write the updated version
with open(openssl_conf_path, "w") as f:
f.write(openssl_conf)
# Restart any services that use OpenSSL to ensure that the new settings are applied
os.system("systemctl restart apache2")
print("Default TLS version has been added as TLS 1.2.")
プラットフォーム固有のガイダンス
プラットフォーム/言語 | サポート | 詳細情報 |
---|---|---|
Linux | Linux ディストリビューションでは、TLS 1.2 のサポートに関して OpenSSL に依存する傾向があります。 | OpenSSL の Changelog を参照して、使用している OpenSSL のバージョンがサポートされていることを確認してください。 |
Windows 8.0 - 10 | サポートされています。既定で有効になっています。 | 既定の設定を使用していることを確認するには。 |
Windows Server 2012 - 2016 | サポートされています。既定で有効になっています。 | 既定の設定を使用していることを確認するには |
Windows 7 SP1 および Windows Server 2008 R2 SP1 | サポートされていますが、既定では有効になっていません。 | 有効にする方法の詳細については、「トランスポート層セキュリティ (TLS) のレジストリ設定」を参照してください。 |
データの保持
Azure Automation でリソースを削除すると、完全に削除される前に、監査目的に応じた日数だけ保持されます。 この期間にリソースを表示または使用することはできません。 このポリシーは、削除された Automation アカウントに属するリソースにも適用されます。 保持ポリシーはすべてのユーザーに適用され、現在カスタマイズすることはできません。 ただし、さらに長くデータを保持する必要がある場合は、Azure Automation ジョブのデータを Azure Monitor ログに転送することができます。
次の表は、さまざまなリソースの保持ポリシーをまとめたものです。
データ | ポリシー |
---|---|
Accounts | アカウントは、ユーザーによって削除された日から 30 日後に完全に消去されます。 |
アセット | アセットは、ユーザーによって削除された日から 30 日後、またはアセットを保持するアカウントがユーザーによって削除された日から 30 日後に、完全に消去されます。 アセットには、変数、スケジュール、資格情報、証明書、Python 2 パッケージ、および接続が含まれます。 |
DSC ノード | DSC ノード は、Azure portal または Windows PowerShell の Unregister-AzAutomationDscNode コマンドレットを使用して、Automation アカウントから登録解除された日から 30 日後に、完全に消去されます。 また、ノードは、ノードを保持するアカウントがユーザーによって削除されてから 30 日後に、完全に消去されます。 |
ジョブ | ジョブは、変更 (ジョブの完了など) が停止または中断された日から 30 日後に、削除されて完全に消去されます。 |
モジュール | モジュールは、ユーザーによって削除された日から 30 日後、またはモジュールを保持するアカウントがユーザーによって削除された日から 30 日後に、完全に消去されます。 |
ノード構成/MOF ファイル | 古いノード構成は、新しいノード構成が生成された日から 30 日後に、完全に消去されます。 |
ノード レポート | ノード レポートは、そのノードの新しいレポートが生成されてから 90 日後に、完全に消去されます。 |
Runbooks | Runbook は、ユーザーによってリソースが削除された日から 30 日後、またはリソースを保持するアカウントがユーザーによって削除された日から 30 日後に、完全に消去されます1。 |
1Runbook は、Microsoft Azure サポートに Azure サポート インシデントを提出することで、30 日以内に復旧できます。 Azure サポート サイトにアクセスし、[サポート リクエストの送信] を選択してください。
[データ バックアップ]
Azure で Automation アカウントを削除すると、そのアカウント内のすべてのオブジェクトが削除されます。 オブジェクトには、Runbook、モジュール、構成、設定、ジョブ、アセットが含まれます。 削除された Automation アカウントは、30 日以内であれば復旧できます。 削除する前に、以下の情報を使って Automation アカウントの内容をバックアップすることもできます。
Runbooks
Azure Portal または Windows PowerShell の Get-AzureAutomationRunbookDefinition コマンドレットを使用して、Runbook をスクリプト ファイルにエクスポートできます。 「Azure Automation で Runbook を管理する」で説明されているようにして、これらのスクリプト ファイルを別の Automation アカウントにインポートすることができます。
統合モジュール
Azure Automation から統合モジュールをエクスポートすることはできないため、Automation アカウントの外部で使用できるようにする必要があります。
アセット
Azure Automation のアセット (証明書、接続、資格情報、スケジュール、変数) をエクスポートすることはできません。 代わりに、Azure portal と Azure コマンドレットを使用して、これらのアセットの詳細を記録できます。 その後、これらの詳細を使用して、Runbook で使用されるアセットを作成し、別の Automation アカウントにインポートします。
暗号化されている変数または資格情報のパスワード フィールドの値を、コマンドレットを使用して取得することはできません。 これらの値がわからない場合は、Runbook で取得できます。 変数の値を取得する方法については、「Azure Automation での変数アセット」を参照してください。 資格情報の値の取得の詳細については、「Azure Automation での資格情報資産」を参照してください。
DSC の構成
Azure portal または Windows PowerShell の Export-AzAutomationDscConfiguration コマンドレットを使用して、DSC の構成をスクリプト ファイルにエクスポートできます。 これらの構成を別の Automation アカウントにインポートして使用できます。
データの保存場所
Azure Automation アカウントの作成時にリージョンを指定します。 資産、構成、ログなどのサービス データは、そのリージョンに格納され、同じ地域内の他のリージョンで転送または処理される可能性があります。 これらのグローバル エンドポイントは、場所に関係なく高パフォーマンスで低遅延のエクスペリエンスをエンド ユーザーに提供するために必要です。 ブラジル地域のブラジル南部 (サンパウロ州) リージョンおよびアジア太平洋地域の東南アジア リージョン (シンガポール) と東アジア リージョン (香港) の場合のみ、これらのリージョンのデータ所在地の要件に対応するために、Azure Automation データが同じリージョンに格納されます。
次のステップ
- セキュリティ ガイドラインの詳細については、「Azure Automation のセキュリティのベスト プラクティス」を参照してください。
- Azure Automation でのセキュリティ保護されたアセットの詳細については、「Azure Automation でセキュリティで保護された資産を暗号化する」を参照してください。
- geo レプリケーションの詳細については、「アクティブ geo レプリケーションの作成と使用」を参照してください。