New-AzPolicyDefinition
ポリシー定義を作成または更新します。
構文
New-AzPolicyDefinition
-Name <String>
-Policy <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzPolicyDefinition
-Name <String>
-ManagementGroupName <String>
-Policy <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzPolicyDefinition
-Name <String>
-SubscriptionId <String>
-Policy <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Parameter <String>]
[-Mode <String>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
New-AzPolicyDefinition コマンドレットは、ポリシー ルールの JSON 形式を含むポリシー定義を作成または更新します。
例
例 1: ポリシー ファイルを使用してポリシー定義を作成する
{
"if": {
"field": "location",
"notIn": ["eastus", "westus", "centralus"]
},
"then": {
"effect": "audit"
}
}
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json
このコマンドは、C:\LocationPolicy.json で指定されたポリシー 規則を含む LocationDefinition という名前のポリシー定義を作成します。 上記では、LocationPolicy.json ファイルのコンテンツの例を示します。 3 つのファイル コンテンツ形式がサポートされています。1。ポリシー ルールのみ (上記の例)。 2. ポリシー プロパティ オブジェクト。 この形式は、ポリシー定義を編集するときにポータルに表示され、パラメーターを含めることができます。 3. 完全なポリシー オブジェクト。 この形式は、Azure Policy エクスポート関数によって生成され、パラメーターを含めることができます。
注: コマンド ラインで指定された値 (パラメーター、メタデータなど) は、ファイルに存在する対応する値をオーバーライドします。
例 2: インライン パラメーターを使用してパラメーター化されたポリシー定義を作成する
{
"if": {
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
"then": {
"effect": "audit"
}
}
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json -Parameter '{ "listOfAllowedLocations": { "type": "array" } }'
このコマンドは、C:\LocationPolicy.json で指定されたポリシー 規則を含む LocationDefinition という名前のポリシー定義を作成します。 ポリシー規則のパラメーター定義はインラインで提供されます。
例 3: 管理グループにポリシー定義をインラインで作成する
New-AzPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}'
このコマンドは、管理グループ Dept42 に VMPolicyDefinition という名前のポリシー定義を作成します。 このコマンドは、有効な JSON 形式の文字列としてポリシーを指定します。
例 4: メタデータを含むポリシー定義をインラインで作成する
New-AzPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"category":"Virtual Machine"}' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}' | Format-List
このコマンドは、VMPolicyDefinition という名前のポリシー定義を作成し、そのカテゴリが "仮想マシン" であることを示すメタデータを使用します。 このコマンドは、有効な JSON 形式の文字列としてポリシーを指定します。
例 5: モードを使用してポリシー定義をインラインで作成する
New-AzPolicyDefinition -Name 'TagsPolicyDefinition' -Policy '{"if":{"value":"[less(length(field(''tags'')), 3)]","equals":true},"then":{"effect":"deny"}}' -Mode Indexed
このコマンドは、タグと場所をサポートするリソースの種類に対してのみポリシーを評価する必要があることを示す、モード "Indexed" を持つ TagsPolicyDefinition という名前のポリシー定義を作成します。
パラメーター
-BackwardCompatible
プロパティ バッグ オブジェクトにポリシー固有のプロパティを配置する従来の形式を使用して、コマンドレットから成果物が返されます。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DefaultProfile
DefaultProfile パラメーターは機能しません。 別のサブスクリプションに対してコマンドレットを実行する場合は、使用可能な場合は SubscriptionId パラメーターを使用します。
型: | PSObject |
Aliases: | AzureRMContext, AzureCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Description
ポリシー定義の説明。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-DisplayName
ポリシー定義の表示名。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-ManagementGroupName
管理グループの ID。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Metadata
ポリシー定義メタデータ。 メタデータはオープン エンド オブジェクトであり、通常はキーと値のペアのコレクションです。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Mode
ポリシー定義モード。 たとえば、All、Indexed、Microsoft.KeyVault.Data などです。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Name
作成するポリシー定義の名前。
型: | String |
Aliases: | PolicyDefinitionName |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Parameter
ポリシー規則で使用されるパラメーターのパラメーター定義。 キーはパラメーター名です。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Policy
ポリシー ルール。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-SubscriptionId
ターゲット サブスクリプションの ID。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
出力
Azure PowerShell