다음을 통해 공유


New-AzPolicySetDefinition

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

구문

New-AzPolicySetDefinition
   -Name <String>
   -PolicyDefinition <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-PolicyDefinitionGroup <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzPolicySetDefinition
   -Name <String>
   -ManagementGroupName <String>
   -PolicyDefinition <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-PolicyDefinitionGroup <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzPolicySetDefinition
   -Name <String>
   -SubscriptionId <String>
   -PolicyDefinition <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-Parameter <String>]
   [-PolicyDefinitionGroup <String>]
   [-BackwardCompatible]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

New-AzPolicySetDefinition cmdlet은 지정된 구독 또는 관리 그룹에서 지정된 이름으로 정책 집합 정의를 만들거나 업데이트합니다.

예제

예제 1: 정책 집합 파일을 사용하여 메타데이터로 정책 집합 정의 만들기

[
   {
      "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
      "parameters": {
         "tagName": {
            "value": "Business Unit"
         },
         "tagValue": {
            "value": "Finance"
         }
      }
   },
   {
      "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/464dbb85-3d5f-4a1d-bb09-95a9b5dd19cf"
   }
]

New-AzPolicySetDefinition -Name 'VMPolicySetDefinition' -Metadata '{"category":"Virtual Machine"}' -PolicyDefinition C:\VMPolicySet.json

이 명령은 해당 범주가 C:\VMPolicy.json 지정된 정책 정의를 포함하는 "Virtual Machine"임을 나타내는 메타데이터를 사용하여 VMPolicySetDefinition이라는 정책 집합 정의를 만듭니다. VMPolicy.json 예제 콘텐츠가 위에 제공됩니다.

예제 2: 매개 변수가 있는 정책 집합 정의 만들기

[
   {
      "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
      "parameters": {
         "tagName": {
            "value": "Business Unit"
         },
         "tagValue": {
            "value": "[parameters('buTagValue')]"
         }
      }
   },
   {
      "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/464dbb85-3d5f-4a1d-bb09-95a9b5dd19cf"
   }
]

New-AzPolicySetDefinition -Name 'VMPolicySetDefinition' -PolicyDefinition C:\VMPolicySet.json -Parameter '{ "buTagValue": { "type": "string" } }'

이 명령은 C:\VMPolicy.json 지정된 정책 정의를 포함하는 VMPolicySetDefinition이라는 매개 변수가 있는 정책 집합 정의를 만듭니다. VMPolicy.json 예제 콘텐츠가 위에 제공됩니다.

예제 3: 정책 정의 그룹을 사용하여 정책 집합 정의 만들기

[
   {
      "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
      "groupNames": [ "group1" ]
   },
   {
      "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/464dbb85-3d5f-4a1d-bb09-95a9b5dd19cf",
      "groupNames": [ "group2" ]
   }
]

$groupsJson = ConvertTo-Json @{ name = "group1" }, @{ name = "group2" }
New-AzPolicySetDefinition -Name 'VMPolicySetDefinition' -GroupDefinition $groupsJson -PolicyDefinition C:\VMPolicySet.json

이 명령은 C:\VMPolicy.json 지정된 정책 정의 그룹을 사용하여 VMPolicySetDefinition이라는 정책 집합 정의를 만듭니다. VMPolicy.json 예제 콘텐츠가 위에 제공됩니다.

매개 변수

-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

-ManagementGroupName

관리 그룹의 ID입니다.

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

-Metadata

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

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

-Name

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

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

-Parameter

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

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

-PolicyDefinition

JSON 문자열 형식의 정책 정의 배열입니다.

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

-PolicyDefinitionGroup

정책 집합 정의 내의 정책 정의 참조 그룹을 설명하는 메타데이터입니다. 생성하려면 POLICYDEFINITIONGROUP 속성에 대한 NOTES 섹션을 참조하고 해시 테이블을 만듭니다.

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

-SubscriptionId

대상 구독의 ID입니다.

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

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

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

입력

String

출력

IPolicySetDefinition