サンプル - 許可されるリソースの種類Sample - Allowed resource types

このポリシーを適用すると、承認されているリソースの種類のみがデプロイされます。This policy ensures only approved resource types are deployed. 許可されているリソースの種類の配列を指定します。You specify an array of resource types that are permitted.

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

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

{
  "properties": {
    "displayName": "Allowed resource types",
    "policyType": "BuiltIn",
    "mode": "Indexed",
    "description": "This policy enables you to specify the resource types that your organization can deploy.",
    "parameters": {
      "listOfResourceTypesAllowed": {
        "type": "Array",
        "metadata": {
          "description": "The list of resource types that can be deployed.",
          "displayName": "Allowed resource types",
          "strongType": "resourceTypes"
        }
      }
    },
    "policyRule": {
      "if": {
        "not": {
          "field": "type",
          "in": "[parameters('listOfResourceTypesAllowed')]"
        }
      },
      "then": {
        "effect": "deny"
      }
    }
  },
  "id": "/providers/Microsoft.Authorization/policyDefinitions/a08ec900-254a-4555-9bf5-e42af04b5c5c",
  "type": "Microsoft.Authorization/policyDefinitions",
  "name": "a08ec900-254a-4555-9bf5-e42af04b5c5c"
}

このテンプレートは、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 "allowed-resourcetypes" -DisplayName "Allowed resource types" -description "This policy enables you to specify the resource types that your organization can deploy." -Policy 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/built-in-policy/allowed-resourcetypes/azurepolicy.rules.json' -Parameter 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/built-in-policy/allowed-resourcetypes/azurepolicy.parameters.json' -Mode All
$definition
$assignment = New-AzPolicyAssignment -Name <assignmentname> -Scope <scope>  -listOfResourceTypesAllowed <Allowed resource types> -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 'allowed-resourcetypes' --display-name 'Allowed resource types' --description 'This policy enables you to specify the resource types that your organization can deploy.' --rules 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/built-in-policy/allowed-resourcetypes/azurepolicy.rules.json' --params 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/built-in-policy/allowed-resourcetypes/azurepolicy.parameters.json' --mode All

az policy assignment create --name <assignmentname> --scope <scope> --policy "allowed-resourcetypes"

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