다음을 통해 공유


New-AzureRmPolicyAssignment

정책 할당을 만듭니다.

Warning

AzureRM PowerShell 모듈은 2024년 2월 29일부터 공식적으로 사용되지 않습니다. 사용자는 지속적인 지원 및 업데이트를 보장하기 위해 AzureRM에서 Az PowerShell 모듈로 마이그레이션하는 것이 좋습니다.

AzureRM 모듈은 여전히 작동할 수 있지만 더 이상 기본 또는 지원되지 않으므로 사용자의 재량에 따라 계속 사용할 수 있습니다. Az 모듈로 전환하는 방법에 대한 지침은 마이그레이션 리소스를 참조하세요.

구문

New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   [-PolicySetDefinition <PSObject>]
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

Description

New-AzureRmPolicyAssignment cmdlet은 정책 할당을 만듭니다. 정책 및 범위를 지정합니다.

예제

예제 1: 리소스 그룹 수준에서 정책 할당

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId

첫 번째 명령은 Get-AzureRMResourceGroup cmdlet을 사용하여 ResourceGroup11이라는 리소스 그룹을 가져오고 $ResourceGroup 변수에 저장합니다. 두 번째 명령은 Get-AzureRmPolicyDefinition cmdlet을 사용하여 VirtualMachinePolicy라는 정책 정의를 가져오고 $Policy 변수에 저장합니다. 최종 명령은 $ResourceGroup ResourceId 속성으로 식별되는 리소스 그룹 수준에서 $Policy 정책을 할당합니다.

예제 2: 정책 매개 변수 개체를 사용하여 리소스 그룹 수준에서 정책 할당

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> $Locations = Get-AzureRmLocation | where displayname -like '*east*'
PS C:\> $AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations

첫 번째 명령은 Get-AzureRMResourceGroup cmdlet을 사용하여 ResourceGroup11이라는 리소스 그룹을 가져옵니다. 명령은 해당 개체를 $ResourceGroup 변수에 저장합니다. 두 번째 명령은 Get-AzureRmPolicyDefinition cmdlet을 사용하여 허용된 위치에 대한 기본 제공 정책 정의를 가져옵니다. 명령은 해당 개체를 $Policy 변수에 저장합니다. 세 번째 및 네 번째 명령은 이름에 "east"가 있는 모든 Azure 지역을 포함하는 개체를 만듭니다. 명령은 해당 개체를 $AllowedLocations 변수에 저장합니다. 최종 명령은 $AllowedLocations 정책 매개 변수 개체를 사용하여 리소스 그룹 수준에서 $Policy 정책을 할당합니다. $ResourceGroup ResourceId 속성은 리소스 그룹을 식별합니다.

예제 3: 정책 매개 변수 파일을 사용하여 리소스 그룹 수준에서 정책 할당

다음 콘텐츠를 사용하여 로컬 작업 디렉터리에 AllowedLocations.json 파일을 만듭니다.

{
    "listOfAllowedLocations":  {
      "value": [
        "westus",
        "westeurope",
        "japanwest"
      ]
    }
}

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json

첫 번째 명령은 Get-AzureRMResourceGroup cmdlet을 사용하여 ResourceGroup11이라는 리소스 그룹을 가져오고 $ResourceGroup 변수에 저장합니다. 두 번째 명령은 Get-AzureRmPolicyDefinition cmdlet을 사용하여 허용된 위치에 대한 기본 제공 정책 정의를 가져오고 $Policy 변수에 저장합니다. 최종 명령은 로컬 작업 디렉터리에서 AllowedLocations.json 정책 매개 변수 파일을 사용하여 $ResourceGroup ResourceId 속성으로 식별된 리소스 그룹의 $Policy 정책을 할당합니다.

예제 4: 관리 ID를 사용하여 정책 할당

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -AssignIdentity

첫 번째 명령은 Get-AzureRMResourceGroup cmdlet을 사용하여 ResourceGroup11이라는 리소스 그룹을 가져오고 $ResourceGroup 변수에 저장합니다. 두 번째 명령은 Get-AzureRmPolicyDefinition cmdlet을 사용하여 VirtualMachinePolicy라는 정책 정의를 가져오고 $Policy 변수에 저장합니다. 최종 명령은 $Policy 정책을 리소스 그룹에 할당합니다. 관리 ID가 자동으로 만들어지고 정책 할당에 할당됩니다.

매개 변수

-ApiVersion

사용할 리소스 공급자 API의 버전을 지정합니다. 버전을 지정하지 않으면 이 cmdlet은 사용 가능한 최신 버전을 사용합니다.

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

-AssignIdentity

이 정책 할당에 대한 Microsoft Entra ID를 생성하고 할당합니다. ID는 'deployIfNotExists' 정책에 대한 배포를 실행할 때 사용됩니다. ID를 할당할 때는 위치가 필요합니다.

형식:SwitchParameter
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

-Location

정책 할당의 리소스 ID 위치입니다. -AssignIdentity 스위치를 사용할 때 필요합니다.

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

-Metadata

새 정책 할당에 대한 메타데이터입니다. 메타데이터를 포함하는 파일 이름의 경로이거나 메타데이터를 문자열로 사용할 수 있습니다.

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

-Name

정책 할당의 이름을 지정합니다.

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

-NotScope

정책 할당에 대한 범위가 아닙니다.

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

-PolicyDefinition

정책 규칙을 포함하는 PsPolicyDefinition 개체로 정책을 지정합니다.

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

-PolicyParameter

정책 매개 변수 파일 경로 또는 정책 매개 변수 문자열입니다.

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

-PolicyParameterObject

정책 매개 변수 개체입니다.

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

-PolicySetDefinition

정책 집합 정의 개체입니다.

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

-Pre

이 cmdlet은 사용할 버전을 자동으로 결정할 때 시험판 API 버전을 고려한다는 것을 나타냅니다.

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

-Scope

정책을 할당할 범위를 지정합니다. 예를 들어 리소스 그룹에 정책을 할당하려면 구독 /subscriptions/ID/resourcegroups/리소스 그룹 이름을 지정합니다.

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

-Sku

SKU 속성을 나타내는 해시 테이블입니다. 기본값은 다음과 같은 값을 @{Name = 'A0'; Tier = 'Free'}가진 Free SKU입니다. 표준 SKU를 사용하려면 다음 값을 @{Name = 'A1'; Tier = 'Standard'}사용합니다.

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