サンプル - 診断設定の監査Sample - Audit diagnostic setting

このビルトイン ポリシーでは、指定されたリソースの種類で診断設定が有効になっていない場合に監査を行います。This built-in policy audits if diagnostic settings are not enabled for specified resource types. リソースの種類の配列を指定して、診断設定が有効になっているかどうかを確認します。You specify an array of resource types to check whether diagnostic settings are enabled.

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure subscription, create a free account before you begin.

サンプル テンプレートSample template

{
    "name": "audit-diagnostic-setting",
    "properties": {
        "displayName": "Audit diagnostic setting",
        "description": "Audit diagnostic setting for selected resource types",
        "mode": "All",
        "parameters": {
            "listOfResourceTypes": {
                "type": "Array",
                "metadata": {
                    "displayName": "Resource Types",
                    "strongType": "resourceTypes"
                }
            }
        },
        "policyRule": {
            "if": {
                "field": "type",
                "in": "[parameters('listOfResourceTypes')]"
            },
            "then": {
                "effect": "auditIfNotExists",
                "details": {
                    "type": "Microsoft.Insights/diagnosticSettings",
                    "existenceCondition": {
                        "allOf": [
                            {
                                "field": "Microsoft.Insights/diagnosticSettings/logs.enabled",
                                "equals": "true"
                            },
                            {
                                "field": "Microsoft.Insights/diagnosticSettings/metrics.enabled",
                                "equals": "true"
                            }
                        ]
                    }
                }
            }
        }
    }
}

このテンプレートは、Azure PortalPowerShell、または Azure CLI を使用してデプロイできます。You can deploy this template using the Azure portal, with PowerShell or with the Azure CLI. ビルトイン ポリシーを取得するには、ID 7f89b1eb-583c-429a-8828-af049802c1d9 を使用します。To get the built-in policy, use the ID 7f89b1eb-583c-429a-8828-af049802c1d9.

parametersParameters

パラメーター値を渡すには、次の形式を使用してください。To pass in the parameter value, use the following format:

{"listOfResourceTypes":{"value":["Microsoft.Cache/Redis","Microsoft.Compute/virtualmachines"]}}

ポータルでのデプロイDeploy with the portal

ポリシーを割り当てるときに、利用可能なビルトイン定義から [診断設定の監査] を選択します。When assigning a policy, select Audit diagnostic setting from the available built-in definitions.

PowerShell でデプロイするDeploy with PowerShell

このサンプルには、Azure PowerShell が必要です。This sample requires Azure PowerShell. バージョンを確認するには、Get-Module -ListAvailable Az を実行します。Run Get-Module -ListAvailable Az to find the version. インストールまたはアップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。If you need to install or upgrade, see Install Azure PowerShell module.

Connect-AzAccount コマンドレットを実行して Azure に接続します。Run the Connect-AzAccount cmdlet to connect to Azure.

$definition = Get-AzPolicyDefinition -Id /providers/Microsoft.Authorization/policyDefinitions/7f89b1eb-583c-429a-8828-af049802c1d9

New-AzPolicyAssignment -name "Audit diagnostics" -PolicyDefinition $definition -PolicyParameter '{"listOfResourceTypes":{"value":["Microsoft.Cache/Redis","Microsoft.Compute/virtualmachines"]}}' -Scope <scope>

PowerShell でのデプロイをクリーンアップするClean up PowerShell deployment

次のコマンドを実行して、リソース グループ、VM、すべての関連リソースを削除します。Run the following command to remove the resource group, VM, and all related resources.

Remove-AzPolicyAssignment -Name "Audit diagnostics" -Scope <scope>

Azure CLI でのデプロイDeploy with Azure CLI

このサンプルを実行するには、最新バージョンの Azure CLI をインストールします。To run this sample, install the latest version of the Azure CLI. 開始するには、az login を実行して、Azure との接続を作成します。To start, run az login to create a connection with Azure.

Azure CLI のサンプルは、bash シェル用に記述されています。Samples for the Azure CLI are written for the bash shell. このサンプルを Windows PowerShell またはコマンド プロンプトで実行するには、スクリプトの要素を変更する必要があります。To run this sample in Windows PowerShell or Command Prompt, you may need to change elements of the script.

az policy assignment create --scope <scope> --name "Audit diagnostics" --policy 7f89b1eb-583c-429a-8828-af049802c1d9 --params '{"listOfResourceTypes":{"value":["Microsoft.Cache/Redis","Microsoft.Compute/virtualmachines"]}}'

Azure CLI でのデプロイをクリーンアップするClean up Azure CLI deployment

次のコマンドを実行して、リソース グループ、VM、すべての関連リソースを削除します。Run the following command to remove the resource group, VM, and all related resources.

az policy assignment delete --name "Audit diagnostics" --resource-group myResourceGroup

次の手順Next steps