New-AzureRmPolicyDefinition
ポリシー定義を作成します。
警告
AzureRM PowerShell モジュールは、2024 年 2 月 29 日の時点で正式に非推奨になりました。 引き続きサポートを受け、更新を受け取れるようにするために、AzureRM から Az PowerShell モジュールに移行することをお勧めします。
AzureRM モジュールは引き続き機能する可能性がありますが、メインが維持またはサポートされなくなり、ユーザーの判断とリスクで引き続き使用できます。 Az モジュールへの移行に関するガイダンスについては、移行リソースを参照してください。
構文
New-AzureRmPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <PolicyDefinitionMode>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
New-AzureRmPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <PolicyDefinitionMode>]
-ManagementGroupName <String>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
New-AzureRmPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <PolicyDefinitionMode>]
-SubscriptionId <Guid>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
説明
New-AzureRmPolicyDefinition コマンドレットは、JavaScript Object Notation (JSON) 形式のポリシー 規則を含むポリシー定義を作成します。
例
例 1: ポリシー ファイルを使用してポリシー定義を作成する
{
"if": {
"field": "location",
"notIn": ["eastus", "westus", "centralus"]
},
"then": {
"effect": "audit"
}
}
PS C:\> New-AzureRmPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json
このコマンドは、C:\LocationPolicy.json で指定されたポリシー 規則を含む LocationDefinition という名前のポリシー定義を作成します。 上記では、LocationPolicy.json ファイルのコンテンツの例を示します。
例 2: インライン パラメーターを使用してパラメーター化されたポリシー定義を作成する
{
"if": {
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
"then": {
"effect": "audit"
}
}
PS C:\> New-AzureRmPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json -Parameter '{ "listOfAllowedLocations": { "type": "array" } }'
このコマンドは、C:\LocationPolicy.json で指定されたポリシー 規則を含む LocationDefinition という名前のポリシー定義を作成します。 ポリシー規則のパラメーター定義はインラインで提供されます。
例 3: 管理グループにポリシー定義をインラインで作成する
PS C:\> New-AzureRmPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"source":"action","equals":"Microsoft.Compute/virtualMachines/write"},"then":{"effect":"deny"}}'
このコマンドは、管理グループ Dept42 に VMPolicyDefinition という名前のポリシー定義を作成します。 このコマンドは、有効な JSON 形式の文字列としてポリシーを指定します。
例 4: メタデータを含むポリシー定義をインラインで作成する
PS C:\> New-AzureRmPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"Category":"Virtual Machine"}' -Policy '{"if":{"source":"action","equals":"Microsoft.Compute/virtualMachines/write"},"then":{"effect":"deny"}}'
Name : VMPolicyDefinition
ResourceId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
ResourceName : VMPolicyDefinition
ResourceType : Microsoft.Authorization/policyDefinitions
SubscriptionId : 11111111-1111-1111-1111-111111111111
Properties : @{displayName=VMPolicyDefinition; policyType=Custom; mode=All; metadata=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
このコマンドは、VMPolicyDefinition という名前のポリシー定義を作成し、そのカテゴリが "仮想マシン" であることを示すメタデータを使用します。 このコマンドは、有効な JSON 形式の文字列としてポリシーを指定します。
パラメーター
-ApiVersion
使用するリソース プロバイダー API のバージョンを指定します。 バージョンを指定しない場合、このコマンドレットは使用可能な最新バージョンを使用します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DefaultProfile
Azure との通信に使用される資格情報、アカウント、テナント、サブスクリプション
型: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Description
ポリシー定義の説明を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-DisplayName
ポリシー定義の表示名を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-InformationAction
このコマンドレットが情報イベントに応答する方法を指定します。 このパラメーターの有効値は、次のとおりです。
- 続行
- Ignore
- Inquire
- SilentlyContinue
- 停止
- Suspend
型: | ActionPreference |
Aliases: | infa |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InformationVariable
情報変数を指定します。
型: | String |
Aliases: | iv |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ManagementGroupName
新しいポリシー定義の管理グループの名前。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Metadata
ポリシー定義のメタデータ。 これは、メタデータを含むファイル名へのパス、またはメタデータを文字列として指定できます。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Mode
ポリシー定義のモード
型: | Nullable<T>[PolicyDefinitionMode] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Name
ポリシー定義の名前を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Parameter
ポリシー定義のパラメーター宣言。 パラメーター宣言を含むファイル名へのパス、または文字列としてのパラメーター宣言を指定できます。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Policy
ポリシー定義のポリシー規則を指定します。 ポリシーを含む.json ファイルまたは文字列のパスを JSON 形式で指定できます。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Pre
このコマンドレットは、使用するバージョンを自動的に決定するときに、プレリリース API バージョンを考慮することを示します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SubscriptionId
新しいポリシー定義のサブスクリプション ID。
型: | Nullable<T>[Guid] |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |