次の方法で共有


New-AzureRmPolicyAssignment

ポリシーの割り当てを作成します。

警告

AzureRM PowerShell モジュールは、2024 年 2 月 29 日の時点で正式に非推奨になりました。 引き続きサポートを受け、更新を受け取れるようにするために、AzureRM から Az PowerShell モジュールに移行することをお勧めします。

AzureRM モジュールは引き続き機能する可能性がありますが、メインが維持またはサポートされなくなり、ユーザーの判断とリスクで引き続き使用できます。 Az モジュールへの移行に関するガイダンスについては、移行リソースを参照してください。

構文

New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   [-PolicySetDefinition <PSObject>]
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

説明

New-AzureRmPolicyAssignment コマンドレットは、ポリシー割り当てを作成します。 ポリシーとスコープを指定します。

例 1: リソース グループ レベルでのポリシーの割り当て

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId

最初のコマンドは、Get-AzureRMResourceGroup コマンドレットを使用して ResourceGroup11 という名前のリソース グループを取得し、$ResourceGroup変数に格納します。 2 番目のコマンドは、Get-AzureRmPolicyDefinition コマンドレットを使用して VirtualMachinePolicy という名前のポリシー定義を取得し、$Policy変数に格納します。 最後のコマンドは、$ResourceGroupの ResourceId プロパティによって識別されるリソース グループのレベルで、$Policyのポリシーを割り当てます。

例 2: ポリシー パラメーター オブジェクトを使用したリソース グループ レベルでのポリシーの割り当て

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> $Locations = Get-AzureRmLocation | where displayname -like '*east*'
PS C:\> $AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations

最初のコマンドは、Get-AzureRMResourceGroup コマンドレットを使用して ResourceGroup11 という名前のリソース グループを取得します。 このコマンドは、そのオブジェクトを $ResourceGroup 変数に格納します。 2 番目のコマンドは、Get-AzureRmPolicyDefinition コマンドレットを使用して、許可されている場所の組み込みのポリシー定義を取得します。 このコマンドは、そのオブジェクトを $Policy 変数に格納します。 3 番目と 4 番目のコマンドは、名前に "east" を持つすべての Azure リージョンを含むオブジェクトを作成します。 コマンドは、そのオブジェクトを $AllowedLocations 変数に格納します。 最後のコマンドは、$AllowedLocationsのポリシー パラメーター オブジェクトを使用して、リソース グループのレベルで$Policyのポリシーを割り当てます。 $ResourceGroupの ResourceId プロパティは、リソース グループを識別します。

例 3: ポリシー パラメーター ファイルを使用したリソース グループ レベルでのポリシーの割り当て

次の内容を使用して、ローカル作業ディレクトリに AllowedLocations.json という名前のファイルを作成します。

{
    "listOfAllowedLocations":  {
      "value": [
        "westus",
        "westeurope",
        "japanwest"
      ]
    }
}

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json

最初のコマンドは、Get-AzureRMResourceGroup コマンドレットを使用して ResourceGroup11 という名前のリソース グループを取得し、$ResourceGroup変数に格納します。 2 番目のコマンドは、Get-AzureRmPolicyDefinition コマンドレットを使用して許可される場所の組み込みのポリシー定義を取得し、$Policy変数に格納します。 最後のコマンドは、ローカル作業ディレクトリからAllowedLocations.jsonポリシー パラメーター ファイルを使用して、$ResourceGroupの ResourceId プロパティによって識別されるリソース グループで$Policyのポリシーを割り当てます。

例 4: マネージド ID を使用したポリシーの割り当て

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -AssignIdentity

最初のコマンドは、Get-AzureRMResourceGroup コマンドレットを使用して ResourceGroup11 という名前のリソース グループを取得し、$ResourceGroup変数に格納します。 2 番目のコマンドは、Get-AzureRmPolicyDefinition コマンドレットを使用して VirtualMachinePolicy という名前のポリシー定義を取得し、$Policy変数に格納します。 最後のコマンドは、$Policy内のポリシーをリソース グループに割り当てます。 マネージド ID が自動的に作成され、ポリシー割り当てに割り当てられます。

パラメーター

-ApiVersion

使用するリソース プロバイダー API のバージョンを指定します。 バージョンを指定しない場合、このコマンドレットは使用可能な最新バージョンを使用します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-AssignIdentity

このポリシー割り当ての Microsoft Entra ID を生成して割り当てます。 ID は、'deployIfNotExists' ポリシーのデプロイを実行するときに使用されます。 ID を割り当てるときに場所が必要です。

型:SwitchParameter
配置: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

-Location

ポリシー割り当てのリソース ID の場所。 これは、-AssignIdentity スイッチを使用する場合に必要です。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Metadata

新しいポリシー割り当てのメタデータ。 これは、メタデータを含むファイル名へのパスか、メタデータを文字列として指定できます。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Name

ポリシー割り当ての名前を指定します。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-NotScope

ポリシー割り当てのスコープではありません。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-PolicyDefinition

ポリシー規則を含む PsPolicyDefinition オブジェクトとしてポリシーを指定します。

型:PSObject
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-PolicyParameter

ポリシー パラメーター ファイルのパスまたはポリシー パラメーター文字列。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-PolicyParameterObject

ポリシー パラメーター オブジェクト。

型:Hashtable
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PolicySetDefinition

ポリシー セット定義オブジェクト。

型:PSObject
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Pre

このコマンドレットは、使用するバージョンを自動的に決定するときに、プレリリース API バージョンを考慮することを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Scope

ポリシーを割り当てるスコープを指定します。 たとえば、リソース グループにポリシーを割り当てるには、サブスクリプション ID/resourcegroups/リソース グループ名を/subscriptions/指定します。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Sku

SKU プロパティを表すハッシュ テーブル。 既定値は Free SKU で、値は次のとおりです @{Name = 'A0'; Tier = 'Free'}。 Standard SKU を使用するには、次の値を使用します @{Name = 'A1'; Tier = 'Standard'}

型:Hashtable
Aliases:SkuObject
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False