Update-AzPolicyAssignment

この操作により、指定されたスコープと名前でポリシーの割り当てが更新されます。 ポリシーの割り当ては、スコープ内に含まれるすべてのリソースに適用されます。 たとえば、リソース グループ スコープでポリシーを割り当てると、そのポリシーはグループ内のすべてのリソースに適用されます。

構文

Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameterObject <PSObject>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Name <String>
      [-Scope <String>]
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameter <String>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameterObject <PSObject>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      -Id <String>
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -PolicyParameter <String>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzPolicyAssignment
      [-NotScope <String[]>]
      [-DisplayName <String>]
      [-Description <String>]
      [-Metadata <String>]
      [-Location <String>]
      [-EnforcementMode <String>]
      [-IdentityType <String>]
      [-IdentityId <String>]
      [-NonComplianceMessage <PSObject[]>]
      [-BackwardCompatible]
      -InputObject <IPolicyAssignment>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

説明

この操作により、指定されたスコープと名前でポリシーの割り当てが更新されます。 ポリシーの割り当ては、スコープ内に含まれるすべてのリソースに適用されます。 たとえば、リソース グループ スコープでポリシーを割り当てると、そのポリシーはグループ内のすべてのリソースに適用されます。

例 1: 表示名を更新する

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -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.ResourceId -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.ResourceId -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.ResourceId -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.ResourceId -EnforcementMode Default

最初のコマンドは、Get-AzResourceGroup コマンドレットを使用して ResourceGroup11 という名前のリソース グループを取得します。 このコマンドは、そのオブジェクトを $ResourceGroup 変数に格納します。 2 番目のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して PolicyAssignment という名前のポリシー割り当てを取得します。 このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。 最後のコマンドは、$ResourceGroupの ResourceId プロパティによって識別されるリソース グループに対するポリシー割り当ての enforcementMode プロパティを更新します。

例 7: コンプライアンス違反メッセージを更新する

$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -NonComplianceMessage @{Message="All resources must follow resource naming guidelines."}

最初のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して VirtualMachinePolicy という名前のポリシー割り当てを取得し、$PolicyAssignment変数に格納します。 最後のコマンドは、ポリシー割り当てのコンプライアンス違反メッセージを、ポリシーによってリソースが拒否された場合に表示される新しいメッセージで更新します。

例 8: [Backcompat] enforcementMode を更新する

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default

最初のコマンドは、Get-AzResourceGroup コマンドレットを使用して ResourceGroup11 という名前のリソース グループを取得します。 このコマンドは、そのオブジェクトを $ResourceGroup 変数に格納します。 2 番目のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して PolicyAssignment という名前のポリシー割り当てを取得します。 このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。 最後のコマンドは、$ResourceGroupの ResourceId プロパティによって識別されるリソース グループに対するポリシー割り当ての enforcementMode プロパティを更新します。

パラメーター

-BackwardCompatible

プロパティ バッグ オブジェクトにポリシー固有のプロパティを配置する従来の形式を使用して、コマンドレットから成果物が返されます。

型:SwitchParameter
Position:Named
既定値:None
必須:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

型:SwitchParameter
Aliases:cf
Position:Named
既定値:None
必須:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

DefaultProfile パラメーターは機能しません。 別のサブスクリプションに対してコマンドレットを実行する場合は、使用可能な場合は SubscriptionId パラメーターを使用します。

型:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
既定値:None
必須:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

このメッセージは、ポリシー違反が発生した場合の応答の一部になります。

型:String
Position:Named
既定値:None
必須:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

ポリシー割り当ての表示名。

型:String
Position:Named
既定値:None
必須:False
Accept pipeline input:True
Accept wildcard characters:False

-EnforcementMode

ポリシー割り当て適用モード。 使用できる値は Default と DoNotEnforce です。

型:String
Position:Named
既定値:None
必須:False
Accept pipeline input:True
Accept wildcard characters:False

-Id

更新するポリシー割り当ての ID。 '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}' の形式を使用します。

型:String
Aliases:ResourceId, PolicyAssignmentId
Position:Named
既定値:None
必須:True
Accept pipeline input:True
Accept wildcard characters:False

-IdentityId

ポリシーに関連付けられているユーザー ID。 ユーザー ID 辞書の主な照会先は、次の形式の ARM リソース ID になります: 「/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}」。

型:String
Position:Named
既定値:None
必須:False
Accept pipeline input:False
Accept wildcard characters:False

-IdentityType

ID の種類。 これは、システム割り当て ID またはユーザー割り当て ID をリソースに追加するときに必要な唯一のフィールドです。

型:String
Position:Named
既定値:None
必須:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

型:IPolicyAssignment
Position:Named
既定値:None
必須:True
Accept pipeline input:True
Accept wildcard characters:False

-Location

ポリシー割り当ての場所。 マネージド ID を使用する場合にのみ必要です。

型:String
Position:Named
既定値:None
必須:False
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

ポリシー割り当てのメタデータ。 メタデータはオープン エンド オブジェクトであり、通常はキーと値のペアのコレクションです。

型:String
Position:Named
既定値:None
必須:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

ポリシー割り当ての名前。

型:String
Aliases:PolicyAssignmentName
Position:Named
既定値:None
必須:True
Accept pipeline input:True
Accept wildcard characters:False

-NonComplianceMessage

リソースがポリシーに準拠していない理由を説明するメッセージ。 構築するには、NONCOMPLIANCEMESSAGE プロパティの NOTES セクションを参照し、ハッシュ テーブルを作成します。

型:PSObject[]
Position:Named
既定値:None
必須:False
Accept pipeline input:True
Accept wildcard characters:False

-NotScope

ポリシーの除外されたスコープ。

型:String[]
Position:Named
既定値:None
必須:False
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameter

割り当てられたポリシー ルールのパラメーター値。 キーはパラメーター名です。

型:String
Position:Named
既定値:None
必須:True
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameterObject

割り当てられたポリシー ルールのパラメーター値。 キーはパラメーター名です。

型:PSObject
Position:Named
既定値:None
必須:True
Accept pipeline input:False
Accept wildcard characters:False

-Scope

ポリシー割り当てのスコープ。 有効なスコープは、管理グループ (形式: '/providers/Microsoft.Management/managementGroups/{managementGroup}')、サブスクリプション (形式: '/subscriptions/{subscriptionId}')、リソース グループ (形式: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}') です。 またはリソース (形式: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'

型:String
Position:Named
既定値:None
必須:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
Position:Named
既定値:None
必須:False
Accept pipeline input:False
Accept wildcard characters:False

入力

IPolicyAssignment

PSObject[]

String

String[]

出力

IPolicyAssignment

メモ

別名

Set-AzPolicyAssignment