Azure Automation の接続を管理する

Azure Automation の接続資産には、以下に示す情報が含まれています。 この情報は、Runbook または DSC 構成から外部サービスまたはアプリケーションに接続するために必要です。

  • ユーザー名やパスワードなどの認証に必要な情報
  • URL やポートなどの接続情報

接続資産では、特定のアプリケーションに接続するためのすべてのプロパティがまとめて保持されるため、複数の変数を作成する必要がありません。 1 つの場所で接続のための値を編集でき、1 つのパラメーターで Runbook または DSC 構成に接続の名前を渡すことができます。 Runbook または構成は、内部の Get-AutomationConnection コマンドレットを使用して接続のプロパティにアクセスします。

接続を作成するときは、接続の種類を指定する必要があります。 接続の種類は、一連のプロパティを定義しているテンプレートです。 統合モジュールとメタデータ ファイルを使用して Azure Automation に接続の種類を追加できます。 統合モジュールに接続の種類が含まれており、Automation アカウントにインポートされる場合、Azure Automation API を使用して接続の種類を作成することもできます。

Note

Azure Automation でセキュリティ保護される資産としては、資格情報、証明書、接続、暗号化された変数などがあります。 これらの資産は、各 Automation アカウント用に生成された一意のキーを使って暗号化され、Azure Automation に保存されます。 Azure Automation では、キーはシステムによって管理される Key Vault に格納されます。 セキュリティで保護された資産を保存する前に、Automation によって Key Vault からキーが読み込まれ、それを使用して資産が暗号化されます。

接続の種類

Azure Automation によって、次の組み込みの接続の種類を使用できるようになります。

  • AzureAzure - クラシック リソースを管理するために使用される接続を表します。
  • AzureServicePrincipal - Azure 実行アカウントによって使用される接続を表します。
  • AzureClassicCertificate - クラシック Azure 実行アカウントによって使用される接続を表します。

ほとんどの場合、実行アカウントの作成時に作成されるので、接続リソースを作成する必要はありません。

接続にアクセスするための PowerShell コマンドレット

PowerShell を使用して Automation 接続を作成および管理するためのコマンドレットを次の表に示します。 これらは、Az モジュールの一部として出荷されます。

コマンドレット 説明
Get-AzAutomationConnection 接続に関する情報を取得します。
New-AzAutomationConnection 新しい接続を作成します。
Remove-AzAutomationConnection 既存の接続を削除します。
Set-AzAutomationConnectionFieldValue 既存の接続の特定のフィールドの値を設定します。

接続にアクセスするための内部コマンドレット

Runbook および DSC 構成内で接続にアクセスするための内部コマンドレットを次の表に示します。 このコマンドレットには、グローバル モジュール Orchestrator.AssetManagement.Cmdlets が付属しています。 詳細については、「内部コマンドレット」を参照してください。

内部コマンドレット 説明
Get-AutomationConnection 接続のさまざまなフィールドの値を取得し、それらをハッシュ テーブルとして返します。 その後、このハッシュ テーブルを、Runbook または DSC 構成の適切なコマンドで使用できます。

Note

Get-AutomationConnectionName パラメーターには変数を使用しないようにしてください。 この場合に変数を使用すると、デザイン時に、Runbook または DSC 構成と接続資産間の依存関係の検出が複雑になる可能性があります。

接続にアクセスするための Python 関数

次の表の関数は、Python 2 および 3 の Runbook の接続へのアクセスに使用します。 Python 3 Runbook は現在プレビュー段階です。

機能 説明
automationassets.get_automation_connection 接続を取得します。 接続のプロパティでディクショナリを返します。

Note

資産関数にアクセスするには、お使いの Python Runbook の上部にある automationassets モジュールをインポートする必要があります。

新しい接続を作成する

Azure portal で新しい接続を作成する

Azure portal で新しい接続を作成するには:

  1. Automation アカウントから、 [共有リソース][接続] をクリックします。
  2. [接続] ページで [+ 接続の追加] をクリックします。
  3. [新しい接続] ウィンドウの [種類] フィールドで、作成する接続の種類を選択します。 選択できるのは、AzureAzureServicePrincipal、および AzureClassicCertificate です。
  4. フォームには、選択した接続の種類のプロパティが表示されます。 フォームに入力し、 [作成] をクリックして新しい接続を保存します。

Windows PowerShell で新しい接続を作成する

Windows PowerShell で新しい接続を作成するには、New-AzAutomationConnection コマンドレットを使用します。 このコマンドレットには、接続の種類で定義されている各プロパティの値を定義しているハッシュ テーブルを受け取る ConnectionFieldValues パラメーターがあります。

新しい接続資産を作成するには、ポータルで実行アカウントを作成する代わりに、次のコマンド例を使用できます。

$ConnectionAssetName = "AzureRunAsConnection"
$ConnectionFieldValues = @{"ApplicationId" = $Application.ApplicationId; "TenantId" = $TenantID.TenantId; "CertificateThumbprint" = $Cert.Thumbprint; "SubscriptionId" = $SubscriptionId}
New-AzAutomationConnection -ResourceGroupName $ResourceGroup -AutomationAccountName $AutomationAccountName -Name $ConnectionAssetName -ConnectionTypeName AzureServicePrincipal -ConnectionFieldValues $ConnectionFieldValues

Automation アカウントを作成すると、AzureRunAsConnection 接続資産を作成する接続の種類である AzureServicePrincipal と一緒に、さまざまなグローバル モジュールが既定で含まれます。 別の認証方法を使用してサービスまたはアプリケーションに接続する新しい接続資産を作成しようとすると、接続の種類が Automation アカウントに定義されていないという理由で操作が失敗します。 カスタム モジュール用に独自の接続の種類を作成する方法については、「接続の種類を追加する」をご覧ください。

接続の種類を追加する

Runbook または DSC 構成を外部サービスに接続する場合は、統合モジュールと呼ばれるカスタム モジュールで接続の種類を定義する必要があります。 このモジュールは接続の種類のプロパティを指定するメタデータ ファイルを含み、名前は <ModuleName>-Automation.json となり、圧縮された .zip ファイルのモジュール フォルダー内に配置されます。 このファイルには、モジュールが示すシステムまたはサービスに接続するために必要な接続のフィールドが含まれています。 このファイルを使用して、接続の種類のフィールド名、データ型、暗号化の状態、および任意指定の状態を設定できます。

次の例は、MyModuleConnection という名前のカスタム接続のユーザー名とパスワードのプロパティを定義する .json ファイル形式のテンプレートです。

{
   "ConnectionFields": [
   {
      "IsEncrypted":  false,
      "IsOptional":  true,
      "Name":  "Username",
      "TypeName":  "System.String"
   },
   {
      "IsEncrypted":  true,
      "IsOptional":  false,
      "Name":  "Password",
      "TypeName":  "System.String"
   }
   ],
   "ConnectionTypeName":  "MyModuleConnection",
   "IntegrationModuleName":  "MyModule"
}

Runbook または DSC 構成で接続を取得する

内部 Get-AutomationConnection コマンドレットを使用して、Runbook または DSC 構成で接続を取得します。 このコマンドレットは、接続に関する情報ではなく接続値を取得するため、Get-AzAutomationConnection コマンドレットよりも推奨されます。

次の例は、実行アカウントを使用して Runbook 内で Azure Resource Manager リソースを認証する方法を示しています。 実行アカウントを表す接続資産を使用し、証明書ベースのサービス プリンシパルを参照します。

$Conn = Get-AutomationConnection -Name AzureRunAsConnection
Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint

グラフィカルな Runbook の例

グラフィカルな Runbook に、内部コマンドレット Get-AutomationConnection のアクティビティを追加できます。 グラフィカル エディターの [ライブラリ] ウィンドウで接続を右クリックし、 [キャンバスに追加] を選択します。

add to canvas

次の図は、グラフィカルな Runbook で接続オブジェクトを使用する例を示したものです。 この例では、Get RunAs Connection アクティビティ用の Constant value データ セットを使用し、認証に接続オブジェクトを使用します。 ServicePrincipalCertificate パラメーターは、オブジェクトを 1 つ受け取るので、ここではパイプライン リンクを使用します。

get connections

次のステップ