New-AzureRmPolicyDefinition
정책 정의를 만듭니다.
Warning
AzureRM PowerShell 모듈은 2024년 2월 29일부터 공식적으로 사용되지 않습니다. 사용자는 지속적인 지원 및 업데이트를 보장하기 위해 AzureRM에서 Az PowerShell 모듈로 마이그레이션하는 것이 좋습니다.
AzureRM 모듈은 여전히 작동할 수 있지만 더 이상 유지 관리되거나 지원되지 않으므로 사용자의 재량에 따라 계속 사용할 수 있습니다. Az 모듈로 전환하는 방법에 대한 지침은 마이그레이션 리소스를 참조하세요.
구문
New-AzureRmPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <PolicyDefinitionMode>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
New-AzureRmPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <PolicyDefinitionMode>]
-ManagementGroupName <String>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
New-AzureRmPolicyDefinition
-Name <String>
[-DisplayName <String>]
[-Description <String>]
-Policy <String>
[-Metadata <String>]
[-Parameter <String>]
[-Mode <PolicyDefinitionMode>]
-SubscriptionId <Guid>
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[<CommonParameters>]
Description
New-AzureRmPolicyDefinition cmdlet은 JSON(JavaScript Object Notation) 형식의 정책 규칙을 포함하는 정책 정의를 만듭니다.
예제
예제 1: 정책 파일을 사용하여 정책 정의 만들기
{
"if": {
"field": "location",
"notIn": ["eastus", "westus", "centralus"]
},
"then": {
"effect": "audit"
}
}
PS C:\> New-AzureRmPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json
이 명령은 C:\LocationPolicy.json 지정된 정책 규칙을 포함하는 LocationDefinition이라는 정책 정의를 만듭니다. LocationPolicy.json 파일의 예제 콘텐츠는 위에 제공됩니다.
예제 2: 인라인 매개 변수를 사용하여 매개 변수가 있는 정책 정의 만들기
{
"if": {
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
"then": {
"effect": "audit"
}
}
PS C:\> New-AzureRmPolicyDefinition -Name 'LocationDefinition' -Policy C:\LocationPolicy.json -Parameter '{ "listOfAllowedLocations": { "type": "array" } }'
이 명령은 C:\LocationPolicy.json 지정된 정책 규칙을 포함하는 LocationDefinition이라는 정책 정의를 만듭니다. 정책 규칙에 대한 매개 변수 정의가 인라인으로 제공됩니다.
예제 3: 관리 그룹에서 인라인으로 정책 정의 만들기
PS C:\> New-AzureRmPolicyDefinition -Name 'VMPolicyDefinition' -ManagementGroupName Dept42 -DisplayName 'Virtual Machine policy definition' -Policy '{"if":{"source":"action","equals":"Microsoft.Compute/virtualMachines/write"},"then":{"effect":"deny"}}'
이 명령은 관리 그룹 Dept42에서 VMPolicyDefinition이라는 정책 정의를 만듭니다. 이전 명령은 정책을 유효한 JSON 형식의 문자열로 지정합니다.
예제 4: 메타데이터를 사용하여 인라인으로 정책 정의 만들기
PS C:\> New-AzureRmPolicyDefinition -Name 'VMPolicyDefinition' -Metadata '{"Category":"Virtual Machine"}' -Policy '{"if":{"source":"action","equals":"Microsoft.Compute/virtualMachines/write"},"then":{"effect":"deny"}}'
Name : VMPolicyDefinition
ResourceId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
ResourceName : VMPolicyDefinition
ResourceType : Microsoft.Authorization/policyDefinitions
SubscriptionId : 11111111-1111-1111-1111-111111111111
Properties : @{displayName=VMPolicyDefinition; policyType=Custom; mode=All; metadata=; policyRule=}
PolicyDefinitionId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/policyDefinitions/VMPolicyDefinition
이 명령은 범주가 "Virtual Machine"임을 나타내는 메타데이터를 사용하여 VMPolicyDefinition이라는 정책 정의를 만듭니다. 이전 명령은 정책을 유효한 JSON 형식의 문자열로 지정합니다.
매개 변수
-ApiVersion
사용할 리소스 공급자 API의 버전을 지정합니다. 버전을 지정하지 않으면 이 cmdlet은 사용 가능한 최신 버전을 사용합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DefaultProfile
Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독
형식: | IAzureContextContainer |
별칭: | 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 |
-InformationAction
이 cmdlet이 정보 이벤트에 응답하는 방법을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
- 계속
- 무시
- 묻다
- SilentlyContinue
- 중지
- 일시 중단됨
형식: | ActionPreference |
별칭: | infa |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-InformationVariable
정보 변수를 지정합니다.
형식: | String |
별칭: | iv |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ManagementGroupName
새 정책 정의의 관리 그룹의 이름입니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Metadata
정책 정의에 대한 메타데이터입니다. 메타데이터를 포함하는 파일 이름의 경로이거나 메타데이터를 문자열로 사용할 수 있습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Mode
정책 정의의 모드
형식: | Nullable<T>[PolicyDefinitionMode] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Name
정책 정의의 이름을 지정합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Parameter
정책 정의에 대한 매개 변수 선언입니다. 매개 변수 선언을 포함하는 파일 이름의 경로이거나 매개 변수 선언을 문자열로 사용할 수 있습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Policy
정책 정의에 대한 정책 규칙을 지정합니다. JSON 형식의 정책을 포함하는 .json 파일 또는 문자열의 경로를 지정할 수 있습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Pre
이 cmdlet은 사용할 버전을 자동으로 결정할 때 시험판 API 버전을 고려한다는 것을 나타냅니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-SubscriptionId
새 정책 정의의 구독 ID입니다.
형식: | Nullable<T>[Guid] |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |