다음을 통해 공유


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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-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[]>]
      [-Override <IOverride[]>]
      [-ResourceSelector <IResourceSelector[]>]
      [-BackwardCompatible]
      -InputObject <IPolicyAssignment>
      [-DefaultProfile <PSObject>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

이 작업은 지정된 범위 및 이름으로 정책 할당을 업데이트합니다. 정책 할당은 해당 범위 내에 포함된 모든 리소스에 적용됩니다. 예를 들어 리소스 그룹 범위에서 정책을 할당하면 해당 정책이 그룹의 모든 리소스에 적용됩니다.

예제

예제 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 cmdlet을 사용하여 ResourceGroup11이라는 리소스 그룹을 가져옵니다. 명령은 해당 개체를 $ResourceGroup 변수에 저장합니다. 두 번째 명령은 Get-AzPolicyAssignment cmdlet을 사용하여 PolicyAssignment라는 정책 할당을 가져옵니다. 명령은 해당 개체를 $PolicyAssignment 변수에 저장합니다. 최종 명령은 $ResourceGroup ResourceId 속성으로 식별된 리소스 그룹의 정책 할당에 대한 표시 이름을 업데이트합니다.

예제 2: 정책 할당에 시스템 할당 관리 ID 추가

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'SystemAssigned' -Location 'westus'

첫 번째 명령은 Get-AzPolicyAssignment cmdlet을 사용하여 현재 구독에서 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 cmdlet을 사용하여 현재 구독에서 PolicyAssignment라는 정책 할당을 가져옵니다. 명령은 해당 개체를 $PolicyAssignment 변수에 저장합니다. 두 번째 명령은 Get-AzUserAssignedIdentity cmdlet을 사용하여 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

첫 번째 및 두 번째 명령은 이름이 "france" 또는 "uk"로 시작하는 모든 Azure 지역을 포함하는 개체를 만듭니다. 두 번째 명령은 해당 개체를 $AllowedLocations 변수에 저장합니다. 세 번째 명령은 '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 cmdlet을 사용하여 ResourceGroup11이라는 리소스 그룹을 가져옵니다. 명령은 해당 개체를 $ResourceGroup 변수에 저장합니다. 두 번째 명령은 Get-AzPolicyAssignment cmdlet을 사용하여 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 cmdlet을 사용하여 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 변수에 저장합니다. 두 번째 명령은 할당된 정의가 $Selector 식별된 위치에 사용 안 함 효과를 적용하도록 지정하는 데 사용되는 재정의 개체를 만듭니다. 최종 명령은 VirtualMachinePolicyAssignment라는 정책 할당을 $Override 지정한 재정의로 업데이트합니다.

예제 10: [Backcompat] enforcementMode 업데이트

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

첫 번째 명령은 Get-AzResourceGroup cmdlet을 사용하여 ResourceGroup11이라는 리소스 그룹을 가져옵니다. 명령은 해당 개체를 $ResourceGroup 변수에 저장합니다. 두 번째 명령은 Get-AzPolicyAssignment cmdlet을 사용하여 PolicyAssignment라는 정책 할당을 가져옵니다. 명령은 해당 개체를 $PolicyAssignment 변수에 저장합니다. 최종 명령은 $ResourceGroup ResourceId 속성으로 식별된 리소스 그룹의 정책 할당에 대한 enforcementMode 속성을 업데이트합니다.

매개 변수

-BackwardCompatible

cmdlet이 속성 모음 개체에 정책별 속성을 배치하는 레거시 형식을 사용하여 아티팩트를 반환하도록 합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefaultProfile

DefaultProfile 매개 변수가 작동하지 않습니다. 다른 구독에 대해 cmdlet을 실행하는 경우 사용 가능한 경우 SubscriptionId 매개 변수를 사용합니다.

형식:PSObject
별칭:AzureRMContext, AzureCredential
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Description

이 메시지는 정책 위반의 경우 응답의 일부가 됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-DisplayName

정책 할당의 표시 이름입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-EnforcementMode

정책 할당 적용 모드입니다. 가능한 값은 Default 및 DoNotEnforce입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Id

업데이트할 정책 할당의 ID입니다. '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}' 형식을 사용합니다.

형식:String
별칭:ResourceId, PolicyAssignmentId
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-IdentityId

정책과 연결된 사용자 ID입니다. 사용자 ID 사전 키 참조는 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' 형식의 ARM 리소스 ID입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-IdentityType

ID 형식입니다. 이 필드는 리소스에 시스템 또는 사용자 할당 ID를 추가할 때 유일한 필수 필드입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

형식:IPolicyAssignment
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Location

정책 할당의 위치입니다. 관리 ID를 활용하는 경우에만 필요합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Metadata

정책 할당 메타데이터입니다. 메타데이터는 열려 있는 종료된 개체이며 일반적으로 키 값 쌍의 컬렉션입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Name

정책 할당의 이름입니다.

형식:String
별칭:PolicyAssignmentName
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-NonComplianceMessage

리소스가 정책을 준수하지 않는 이유를 설명하는 메시지입니다. 구성하려면 NONCOMPLIANCEMESSAGE 속성에 대한 NOTES 섹션을 참조하고 해시 테이블을 만듭니다.

형식:PSObject[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-NotScope

정책의 제외된 범위입니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Override

정책 속성 값이 재정의됩니다.

형식:IOverride[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PolicyParameter

할당된 정책 규칙의 매개 변수 값입니다. 키는 매개 변수 이름입니다.

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-PolicyParameterObject

할당된 정책 규칙의 매개 변수 값입니다. 키는 매개 변수 이름입니다.

형식:PSObject
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ResourceSelector

리소스 속성별로 정책을 필터링할 리소스 선택기 목록입니다.

형식:IResourceSelector[]
Position:Named
Default value:None
필수: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
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

IPolicyAssignment

PSObject[]

String

String[]

출력

IPolicyAssignment

참고

별칭

Set-AzPolicyAssignment