サンプル - 複数の名前パターンを許可するSample - Allow multiple name patterns

多数の名前パターンのいずれかをリソースに使うことを許可します。Allow one of many name patterns to be used for resources. ポリシー ルールで、使用できる名前パターンを指定します。Specify the allowed name patterns in the policy rule.

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

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

{
    "properties": {
        "displayName": "Match multiple name patterns.",
        "description": "Allows one of multiple naming patterns for resources.",
        "mode": "Indexed",
        "policyRule": {
            "if": {
                "allOf": [
                    {
                        "not": {
                            "field": "name",
                            "match": "contoso??????"
                        }
                    },
                    {
                        "not": {
                            "field": "name",
                            "match": "contoso-???-##"
                        }
                    }
                ]
            },
            "then": {
                "effect": "deny"
            }
        }
    }
}

このテンプレートは、Azure PortalPowerShell、または Azure CLI を使用してデプロイできます。You can deploy this template using the Azure portal, with PowerShell or with the Azure CLI.

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

ポリシーのサンプルを Azure にデプロイするDeploy the Policy sample to Azure

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 = New-AzPolicyDefinition -Name "allow-multiple-name-patterns" -DisplayName "Allow one of many name patterns to be used for resources." -description "Allow one of many name patterns to be used for resources." -Policy 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/TextPatterns/allow-multiple-name-patterns/azurepolicy.rules.json' -Parameter 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/TextPatterns/allow-multiple-name-patterns/azurepolicy.parameters.json' -Mode All
$definition
$assignment = New-AzPolicyAssignment -Name <assignmentname> -Scope <scope> -PolicyDefinition $definition
$assignment

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

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

Remove-AzResourceGroup -Name myResourceGroup

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 definition create --name 'allow-multiple-name-patterns' --display-name 'Allow one of many name patterns to be used for resources.' --description 'Allow one of many name patterns to be used for resources.' --rules 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/TextPatterns/allow-multiple-name-patterns/azurepolicy.rules.json' --params 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/TextPatterns/allow-multiple-name-patterns/azurepolicy.parameters.json' --mode All

az policy assignment create --name <assignmentname> --scope <scope> --policy "allow-multiple-name-patterns" 

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

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

az group delete --name myResourceGroup --yes

次の手順Next steps