Update-AzPolicyAssignment
この操作により、指定されたスコープと名前でポリシーの割り当てが更新されます。
ポリシーの割り当ては、スコープ内に含まれるすべてのリソースに適用されます。
たとえば、リソース グループ スコープでポリシーを割り当てると、そのポリシーはグループ内のすべてのリソースに適用されます。
構文
Name (既定)
Update-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
NameParameterObject
Update-AzPolicyAssignment
-Name <String>
-PolicyParameterObject <PSObject>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
NameParameterString
Update-AzPolicyAssignment
-Name <String>
-PolicyParameter <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Id
Update-AzPolicyAssignment
-Id <String>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
IdParameterObject
Update-AzPolicyAssignment
-Id <String>
-PolicyParameterObject <PSObject>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
IdParameterString
Update-AzPolicyAssignment
-Id <String>
-PolicyParameter <String>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzPolicyAssignment
-InputObject <IPolicyAssignment>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
この操作により、指定されたスコープと名前でポリシーの割り当てが更新されます。
ポリシーの割り当ては、スコープ内に含まれるすべてのリソースに適用されます。
たとえば、リソース グループ スコープでポリシーを割り当てると、そのポリシーはグループ内のすべてのリソースに適用されます。
例
例 1: 表示名を更新する
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Update-AzPolicyAssignment -Id $PolicyAssignment.Id -DisplayName 'Do not allow VM creation'
最初のコマンドは、Get-AzResourceGroup コマンドレットを使用して ResourceGroup11 という名前のリソース グループを取得します。
このコマンドは、そのオブジェクトを $ResourceGroup 変数に格納します。
2 番目のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して PolicyAssignment という名前のポリシー割り当てを取得します。
このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。
最後のコマンドは、$ResourceGroupの ResourceId プロパティによって識別されるリソース グループのポリシー割り当ての表示名を更新します。
例 2: システム割り当てマネージド ID をポリシー割り当てに追加する
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Update-AzPolicyAssignment -Id $PolicyAssignment.Id -IdentityType 'SystemAssigned' -Location 'westus'
最初のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して、現在のサブスクリプションから PolicyAssignment という名前のポリシー割り当てを取得します。
このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。
最後のコマンドは、システム割り当てマネージド ID をポリシー割り当てに割り当てます。
例 3: ポリシー割り当てにユーザー割り当てマネージド ID を追加する
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
Update-AzPolicyAssignment -Id $PolicyAssignment.Id -IdentityType 'UserAssigned' -Location 'westus' -IdentityId $UserAssignedIdentity.Id
最初のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して、現在のサブスクリプションから PolicyAssignment という名前のポリシー割り当てを取得します。
このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。
2 番目のコマンドは、Get-AzUserAssignedIdentity コマンドレットを使用して UserAssignedIdentity1 という名前のユーザー割り当てマネージド ID を取得し、$UserAssignedIdentity変数に格納します。
最後のコマンドは、$UserAssignedIdentityの Id プロパティによって識別されるユーザー割り当てマネージド ID をポリシー割り当てに割り当てます。
例 4: 新しいポリシー パラメーター オブジェクトを使用してポリシー割り当てパラメーターを更新する
$Locations = Get-AzLocation | Where-Object {($_.displayname -like 'france*') -or ($_.displayname -like 'uk*')}
$AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Update-AzPolicyAssignment -Id $PolicyAssignment.Id -PolicyParameterObject $AllowedLocations
最初と 2 番目のコマンドは、名前が "france" または "uk" で始まるすべての Azure リージョンを含むオブジェクトを作成します。
2 番目のコマンドは、そのオブジェクトを $AllowedLocations 変数に格納します。
3 番目のコマンドは、"PolicyAssignment" という名前のポリシー割り当てを取得します。このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。
最後のコマンドは、PolicyAssignment という名前のポリシー割り当てのパラメーター値を更新します。
例 5: ポリシー割り当てパラメーターをポリシー パラメーター ファイルで更新する
{
"listOfAllowedLocations": {
"value": [
"uksouth",
"ukwest",
"francecentral",
"francesouth"
]
}
}
Update-AzPolicyAssignment -Name 'PolicyAssignment' -PolicyParameter .\AllowedLocations.json
このコマンドは、ローカル作業ディレクトリから AllowedLocations.json ポリシー パラメーター ファイルを使用して、"PolicyAssignment" という名前のポリシー割り当てを更新します。
例 6: enforcementMode を更新する
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Update-AzPolicyAssignment -Id $PolicyAssignment.Id -EnforcementMode Default
最初のコマンドは、Get-AzResourceGroup コマンドレットを使用して ResourceGroup11 という名前のリソース グループを取得します。
このコマンドは、そのオブジェクトを $ResourceGroup 変数に格納します。
2 番目のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して PolicyAssignment という名前のポリシー割り当てを取得します。
このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。
最後のコマンドは、$ResourceGroupの ResourceId プロパティによって識別されるリソース グループに対するポリシー割り当ての enforcementMode プロパティを更新します。
例 7: コンプライアンス違反メッセージを更新する
$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Update-AzPolicyAssignment -Id $PolicyAssignment.Id -NonComplianceMessage @{Message="All resources must follow resource naming guidelines."}
最初のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して VirtualMachinePolicy という名前のポリシー割り当てを取得し、$PolicyAssignment変数に格納します。
最後のコマンドは、ポリシー割り当てのコンプライアンス違反メッセージを、ポリシーによってリソースが拒否された場合に表示される新しいメッセージで更新します。
例 8: リソース セレクターを更新する
$ResourceSelector = @{Name = "MyLocationSelector"; Selector = @(@{Kind = "resourceLocation"; NotIn = @("eastus", "eastus2")})}
Update-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -ResourceSelector $ResourceSelector
最初のコマンドは、割り当てを指定するために使用されるリソース セレクター オブジェクトを作成します。これは、米国東部または米国東部 2 以外のリソースにのみ適用し、$ResourceSelector変数に格納します。
最後のコマンドは、VirtualMachinePolicyAssignment という名前のポリシー割り当てを、$ResourceSelectorで指定されたリソース セレクターで更新します。
例 9: 更新のオーバーライド
$Selector = @{Kind = "resourceLocation"; NotIn = @("eastus", "eastus2")}
$Override = @(@{Kind = "policyEffect"; Value = 'Disabled'; Selector = @($Selector)})
Update-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -Override $Override
最初のコマンドは、米国東部または米国東部 2 以外の場所を指定する場所セレクターを作成し、$Selector変数に格納します。
2 番目のコマンドは、割り当てられた定義が、$Selectorで識別される場所で Disabled 効果を持つ必要があることを指定するために使用されるオーバーライド オブジェクトを作成します。
最後のコマンドは、VirtualMachinePolicyAssignment という名前のポリシー割り当てを、$Overrideで指定されたオーバーライドで更新します。
例 10: [Backcompat] enforcementMode を更新する
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId -BackwardCompatible
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default
最初のコマンドは、Get-AzResourceGroup コマンドレットを使用して ResourceGroup11 という名前のリソース グループを取得します。
このコマンドは、そのオブジェクトを $ResourceGroup 変数に格納します。
2 番目のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して PolicyAssignment という名前のポリシー割り当てを取得します。
このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。
最後のコマンドは、$ResourceGroupの ResourceId プロパティによって識別されるリソース グループに対するポリシー割り当ての enforcementMode プロパティを更新します。
パラメーター
-BackwardCompatible
プロパティ バッグ オブジェクトにポリシー固有のプロパティを配置する従来の形式を使用して、コマンドレットから成果物が返されます。
パラメーターのプロパティ
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
パラメーターのプロパティ
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
-DefaultProfile
DefaultProfile パラメーターは機能しません。
別のサブスクリプションに対してコマンドレットを実行する場合は、使用可能な場合は SubscriptionId パラメーターを使用します。
パラメーターのプロパティ
型: PSObject
規定値: None
ワイルドカードのサポート: False
DontShow: False
Aliases: AzureRMContext, AzureCredential
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
-Description
このメッセージは、ポリシー違反が発生した場合の応答の一部になります。
パラメーターのプロパティ
型: String
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
-DisplayName
ポリシー割り当ての表示名。
パラメーターのプロパティ
型: String
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
-EnforcementMode
ポリシー割り当て適用モード。
使用できる値は Default と DoNotEnforce です。
パラメーターのプロパティ
型: String
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
-Id
更新するポリシー割り当ての ID。
'{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}' の形式を使用します。
パラメーターのプロパティ
型: String
規定値: None
ワイルドカードのサポート: False
DontShow: False
Aliases: リソースID, PolicyAssignmentId
パラメーター セット
Id
配置: Named
必須: True
パイプラインからの値: True
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
IdParameterObject
配置: Named
必須: True
パイプラインからの値: True
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
IdParameterString
配置: Named
必須: True
パイプラインからの値: True
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
-IdentityId
ポリシーに関連付けられているユーザー ID。
ユーザー ID ディクショナリ のキー参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。
パラメーターのプロパティ
型: String
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
-IdentityType
ID の種類。
これは、システム割り当て ID またはユーザー割り当て ID をリソースに追加するときに必要な唯一のフィールドです。
パラメーターのプロパティ
型: String
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
この操作により、指定されたスコープと名前でポリシーの割り当てが更新されます。
ポリシーの割り当ては、スコープ内に含まれるすべてのリソースに適用されます。
たとえば、リソース グループ スコープでポリシーを割り当てると、そのポリシーはグループ内のすべてのリソースに適用されます。
InputObject
配置: Named
必須: True
パイプラインからの値: True
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
-Location
ポリシー割り当ての場所。
マネージド ID を使用する場合にのみ必要です。
パラメーターのプロパティ
型: String
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
ポリシー割り当てのメタデータ。
メタデータはオープン エンド オブジェクトであり、通常はキーと値のペアのコレクションです。
型: String
規定値: None
ワイルドカードのサポート: False
DontShow: False
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
-Name
ポリシー割り当ての名前。
パラメーターのプロパティ
型: String
規定値: None
ワイルドカードのサポート: False
DontShow: False
Aliases: PolicyAssignmentName
パラメーター セット
Name
配置: Named
必須: True
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
NameParameterObject
配置: Named
必須: True
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
NameParameterString
配置: Named
必須: True
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
-NonComplianceMessage
リソースがポリシーに準拠していない理由を説明するメッセージ。
構築するには、NONCOMPLIANCEMESSAGE プロパティの NOTES セクションを参照し、ハッシュ テーブルを作成します。
パラメーターのプロパティ
型: PSObject [ ]
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
-NotScope
ポリシーの除外されたスコープ。
パラメーターのプロパティ
型: String [ ]
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
-Override
ポリシー プロパティ値のオーバーライド。
パラメーターのプロパティ
型: IOverride [ ]
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
-PolicyParameter
割り当てられたポリシー ルールのパラメーター値。
キーはパラメーター名です。
パラメーターのプロパティ
型: String
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
NameParameterString
配置: Named
必須: True
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
IdParameterString
配置: Named
必須: True
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
-PolicyParameterObject
割り当てられたポリシー ルールのパラメーター値。
キーはパラメーター名です。
パラメーターのプロパティ
型: PSObject
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
NameParameterObject
配置: Named
必須: True
パイプラインからの値: False
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
IdParameterObject
配置: Named
必須: True
パイプラインからの値: False
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
-ResourceSelector
リソース のプロパティでポリシーをフィルター処理するリソース セレクターの一覧。
パラメーターのプロパティ
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
-Scope
ポリシー割り当てのスコープ。
有効なスコープは、管理グループ (形式: '/providers/Microsoft.Management/managementGroups/{managementGroup}')、サブスクリプション (形式: '/subscriptions/{subscriptionId}')、リソース グループ (形式: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}') です。 またはリソース (形式: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'
パラメーターのプロパティ
型: String
規定値: None
ワイルドカードのサポート: False
DontShow: False
パラメーター セット
Name
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
NameParameterObject
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
NameParameterString
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: True
残りの引数からの値: False
-WhatIf
コマンドレットを実行した場合の動作を示します。
コマンドレットは実行されません。
パラメーターのプロパティ
型: SwitchParameter
規定値: None
ワイルドカードのサポート: False
DontShow: False
Aliases: ウィスコンシン
パラメーター セット
(All)
配置: Named
必須: False
パイプラインからの値: False
プロパティ名別のパイプラインからの値: False
残りの引数からの値: False
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParameters を参照してください。
出力
メモ
別名
Set-AzPolicyAssignment