다음을 통해 공유


New-AzPolicyDefinition

정책 정의를 만들거나 업데이트합니다.

구문

Name (기본값)

New-AzPolicyDefinition
    -Name <String>
    -Policy <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-Metadata <String>]
    [-Parameter <String>]
    [-Mode <String>]
    [-BackwardCompatible]
    [-DefaultProfile <PSObject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ManagementGroupName

New-AzPolicyDefinition
    -Name <String>
    -ManagementGroupName <String>
    -Policy <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-Metadata <String>]
    [-Parameter <String>]
    [-Mode <String>]
    [-BackwardCompatible]
    [-DefaultProfile <PSObject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

SubscriptionId

New-AzPolicyDefinition
    -Name <String>
    -SubscriptionId <String>
    -Policy <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-Metadata <String>]
    [-Parameter <String>]
    [-Mode <String>]
    [-BackwardCompatible]
    [-DefaultProfile <PSObject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

New-AzPolicyDefinition cmdlet은 정책 규칙 JSON 형식을 포함하는 정책 정의를 만들거나 업데이트합니다.

예제

예제 1: 정책 파일을 사용하여 정책 정의 만들기

{
   "if": {
      "field": "location",
      "notIn": ["eastus", "westus", "centralus"]
   },
   "then": {
      "effect": "audit"
   }
}

New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json

이 명령은 C:\LocationPolicy.js지정된 정책 규칙을 포함하는 LocationDefinition이라는 정책 정의를 만듭니다. LocationPolicy.json 파일의 예제 콘텐츠는 위에 제공됩니다. 3개의 파일 콘텐츠 형식이 지원됩니다. 1. 정책 규칙만(위 예제). 2. 정책 속성 개체입니다. 이 형식은 정책 정의를 편집할 때 포털에 표시되며 매개 변수를 포함할 수 있습니다. 3. 전체 정책 개체입니다. 이 형식은 Azure Policy 내보내기 함수에 의해 생성되며 매개 변수를 포함할 수 있습니다.

참고: 명령줄에 제공된 값(예: 매개 변수, 메타데이터)은 파일에 있는 해당 값을 재정의합니다.

예제 2: 인라인 매개 변수를 사용하여 매개 변수가 있는 정책 정의 만들기

{
   "if": {
      "field": "location",
      "notIn": "[parameters('listOfAllowedLocations')]"
   },
   "then": {
      "effect": "audit"
   }
}
New-AzPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json -Parameter '{ "listOfAllowedLocations": { "type": "array" } }'

이 명령은 C:\LocationPolicy.js지정된 정책 규칙을 포함하는 LocationDefinition이라는 정책 정의를 만듭니다. 정책 규칙에 대한 매개 변수 정의가 인라인으로 제공됩니다.

예제 3: 관리 그룹에서 인라인으로 정책 정의 만들기

New-AzPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}'

이 명령은 관리 그룹 Dept42에서 VMPolicyDefinition이라는 정책 정의를 만듭니다. 이 명령은 정책을 유효한 JSON 형식의 문자열로 지정합니다.

예제 4: 메타데이터를 사용하여 인라인으로 정책 정의 만들기

New-AzPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"category":"Virtual Machine"}' -Policy '{"if":{"field":"type","equals":"Microsoft.Compute/virtualMachines"},"then":{"effect":"deny"}}' | Format-List

이 명령은 범주가 "Virtual Machine"임을 나타내는 메타데이터를 사용하여 VMPolicyDefinition이라는 정책 정의를 만듭니다. 이 명령은 정책을 유효한 JSON 형식의 문자열로 지정합니다.

예제 5: 모드를 사용하여 인라인으로 정책 정의 만들기

New-AzPolicyDefinition -Name 'TagsPolicyDefinition' -Policy '{"if":{"value":"[less(length(field(''tags'')), 3)]","equals":true},"then":{"effect":"deny"}}' -Mode Indexed

이 명령은 태그 및 위치를 지원하는 리소스 유형에 대해서만 정책을 평가해야 함을 나타내는 "Indexed" 모드로 TagsPolicyDefinition이라는 정책 정의를 만듭니다.

매개 변수

-BackwardCompatible

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

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Confirm

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

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False
별칭:cf(cf)

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-DefaultProfile

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

매개 변수 속성

형식:PSObject
Default value:None
와일드카드 지원:False
DontShow:False
별칭:AzureRMContext, AzureCredential

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Description

정책 정의 설명입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-DisplayName

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

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-ManagementGroupName

관리 그룹의 ID입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

ManagementGroupName
Position:Named
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-Metadata

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

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-Mode

정책 정의 모드입니다. 일부 예는 All, Indexed, Microsoft.KeyVault.Data입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-Name

만들 정책 정의의 이름입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False
별칭:PolicyDefinitionName

매개 변수 집합

(All)
Position:Named
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-Parameter

정책 규칙에 사용되는 매개 변수에 대한 매개 변수 정의입니다. 키는 매개 변수 이름입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-Policy

정책 규칙입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-SubscriptionId

대상 구독의 ID입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

SubscriptionId
Position:Named
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-WhatIf

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

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False
별칭:위스콘신

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

CommonParameters

이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.

입력

String

출력

IPolicyDefinition