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 |
입력
PSObject[]
String[]
출력
참고
별칭
Set-AzPolicyAssignment
Azure PowerShell