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 パラメーターがあります。

次のコマンド例を使用して、Azure サービス プリンシパルを使用した認証に使用できる接続を作成できます。

$ConnectionAssetName = "AzureConnection"
$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 アカウントに定義されていないという理由で操作が失敗します。 カスタム モジュール用に独自の接続の種類を作成する方法については、「接続の種類を追加する」をご覧ください。

接続の種類を追加する

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 AzureConnection
Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint

グラフィカルな Runbook の例

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

add to canvas

次の図は、グラフィカルな Runbook で接続オブジェクトを使用する例を示したものです。

get connections

次のステップ