Azure Policy が割り当てられている場合、カテゴリ内にある場合 Guest Configuration ゲスト割り当てを記述するためのメタデータが含まれます。
ゲスト割り当ては、マシンと Azure Policy シナリオの間のリンクと考えることができます。 たとえば、次のスニペットは、Azure Windows ベースライン構成と最小バージョン 1.0.0 をポリシーのスコープ内の任意のマシンに関連付けます。
"metadata": {
"category": "Guest Configuration",
"guestConfiguration": {
"name": "AzureWindowsBaseline",
"version": "1.*"
}
//additional metadata properties exist
}
Azure Policy でマシン構成の割り当てを使用する方法
マシン構成サービスは、メタデータ情報を使用して、 AuditIfNotExists または DeployIfNotExists ポリシー効果を持つ定義の監査リソースを自動的に作成します。 リソースの種類は Microsoft.GuestConfiguration/guestConfigurationAssignments です。 Azure Policy では、ゲスト割り当てリソースの complianceStatus プロパティを使用して、コンプライアンスの状態を報告します。 詳細については、 コンプライアンス データの取得を参照してください。
注
ゲスト構成をデプロイするカスタム ポリシーを割り当てると、ゲスト割り当てリソースの assignmentType プロパティは、ポリシー定義で指定された値を反映するように更新される前に、一時的に "Null" として表示されることがあります。 これは予期される動作であり、通常は 1 時間以内に解決されます。
Azure Policy からのゲスト割り当ての削除
Azure Policy の割り当てが削除されると、ポリシーによってマシン構成の割り当てが作成された場合、マシン構成の割り当ても削除されます。
イニシアチブから Azure Policy の割り当てが削除された場合は、ポリシーによって作成されたマシン構成の割り当てを手動で削除する必要があります。 これを行うには、Azure portal のゲスト割り当てページに移動し、そこで割り当てを削除します。
マシン構成の割り当てを手動で作成する
Azure Policy または任意のクライアント SDK を使用して、Azure Resource Manager でゲスト割り当てリソースを作成できます。
デプロイ テンプレートの例:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"apiVersion": "2021-01-25",
"type": "Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments",
"name": "myMachine/Microsoft.GuestConfiguration/myConfig",
"___location": "westus2",
"properties": {
"guestConfiguration": {
"name": "myConfig",
"contentUri": "https://mystorageaccount.blob.core.windows.net/mystoragecontainer/myConfig.zip?sv=SASTOKEN",
"contentHash": "SHA256HASH",
"version": "1.0.0",
"assignmentType": "ApplyAndMonitor",
"configurationParameter": [
"name":"configurationName",
"value":"configurationValue"
]
}
}
}
]
}
configurationParameter の例:
"configurationParameter": [
{
"name": "[SecureWebServer]s1;MinimumTLSVersion",
"value": "1.2"
}
],
次の表では、ゲスト割り当てリソースの各プロパティについて説明します。
| プロパティ | Description |
|---|---|
| name | コンテンツ パッケージ MOF ファイル内の構成の名前。 |
| contentUri | コンテンツ パッケージ (.zip) への HTTPS URI パス。 |
| contentHash | コンテンツ パッケージの SHA256 ハッシュ値。変更されていないかどうかを確認するために使用されます。 |
| version | コンテンツ パッケージのバージョン。 組み込みパッケージにのみ使用され、カスタム コンテンツ パッケージには使用されません。 |
| 割り当てタイプ (assignmentType) | 割り当ての動作。 使用できる値: Audit、 ApplyandMonitor、および ApplyandAutoCorrect。 |
| configurationParameter | コンピューターにダウンロードされた後にオーバーライドされるコンテンツ パッケージ MOF ファイル内の DSC リソースの種類、名前、および値の一覧。 |
手動で作成されたマシン構成の割り当ての削除
手動による方法 (Azure Resource Manager テンプレートのデプロイなど) を使用して作成されたマシン構成の割り当てを手動で削除する必要があります。 親リソース (仮想マシンまたは Arc 対応マシン) を削除すると、マシン構成の割り当ても削除されます。
コンピューター構成の割り当てを手動で削除するには、次の例を使用します。
<>角かっこで示されている文字列の例をすべて置き換えてください。
# First get details about the machine configuration assignment
$resourceDetails = @{
ResourceGroupName = '<resource-group-name>'
ResourceType = 'Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments/'
ResourceName = '<vm-name>/Microsoft.GuestConfiguration'
ApiVersion = '2020-06-25'
}
$guestAssignment = Get-AzResource @resourceDetails
# Review details of the machine configuration assignment
$guestAssignment
# After reviewing properties of $guestAssignment to confirm
$guestAssignment | Remove-AzResource
次のステップ
- カスタム コンピューター構成パッケージを開発します。
- GuestConfiguration モジュールを使用して、環境を大規模に管理するための Azure Policy 定義を作成します。
- Azure portal を使用してカスタム ポリシー定義を割り当てる。
- マシン構成のポリシー割り当てのコンプライアンスの詳細を確認する方法を学ぶ。