Set-AzPolicyAssignment
ポリシーの割り当てを変更します。
構文
Set-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameterObject <Hashtable>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameter <String>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
-Id <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
-Id <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameterObject <Hashtable>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
-Id <String>
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
-PolicyParameter <String>
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzPolicyAssignment
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-AssignIdentity]
[-Location <String>]
[-EnforcementMode <PolicyAssignmentEnforcementMode>]
[-IdentityType <ManagedIdentityType>]
[-IdentityId <String>]
-InputObject <PsPolicyAssignment>
[-NonComplianceMessage <PsNonComplianceMessage[]>]
[-ApiVersion <String>]
[-Pre]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
説明
Set-AzPolicyAssignment コマンドレットは、ポリシーの割り当てを変更します。 ID または名前とスコープで割り当てを指定します。
例
例 1: 表示名を更新する
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -DisplayName 'Do not allow VM creation'
最初のコマンドは、Get-AzResourceGroup コマンドレットを使用して ResourceGroup11 という名前のリソース グループを取得します。 このコマンドは、そのオブジェクトを $ResourceGroup 変数に格納します。 2 番目のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して PolicyAssignment という名前のポリシー割り当てを取得します。 このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。 最後のコマンドは、$ResourceGroupの ResourceId プロパティによって識別されるリソース グループのポリシー割り当ての表示名を更新します。
例 2: システム割り当てマネージド ID をポリシー割り当てに追加する
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'SystemAssigned' -Location 'westus'
最初のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して、現在のサブスクリプションから PolicyAssignment という名前のポリシー割り当てを取得します。 このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。 最後のコマンドは、システム割り当てマネージド ID をポリシー割り当てに割り当てます。
例 3: ポリシー割り当てにユーザー割り当てマネージド ID を追加する
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'UserAssigned' -Location 'westus' -IdentityId $UserAssignedIdentity.Id
最初のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して、現在のサブスクリプションから PolicyAssignment という名前のポリシー割り当てを取得します。 このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。 2 番目のコマンドは、Get-AzUserAssignedIdentity コマンドレットを使用して 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'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -PolicyParameterObject $AllowedLocations
最初と 2 番目のコマンドは、名前が "france" または "uk" で始まるすべての Azure リージョンを含むオブジェクトを作成します。 2 番目のコマンドは、そのオブジェクトを $AllowedLocations 変数に格納します。 3 番目のコマンドは、"PolicyAssignment" という名前のポリシー割り当てを取得します。このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。 最後のコマンドは、PolicyAssignment という名前のポリシー割り当てのパラメーター値を更新します。
例 5: ポリシー割り当てパラメーターをポリシー パラメーター ファイルで更新する
次の内容を使用して、ローカル作業ディレクトリに AllowedLocations.json という名前のファイルを作成します。
{
"listOfAllowedLocations": {
"value": [
"uksouth",
"ukwest",
"francecentral",
"francesouth"
]
}
}
Set-AzPolicyAssignment -Name 'PolicyAssignment' -PolicyParameter .\AllowedLocations.json
このコマンドは、ローカル作業ディレクトリからAllowedLocations.jsonポリシー パラメーター ファイルを使用して、"PolicyAssignment" という名前のポリシー割り当てを更新します。
例 6: enforcementMode を更新する
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default
最初のコマンドは、Get-AzResourceGroup コマンドレットを使用して ResourceGroup11 という名前のリソース グループを取得します。 このコマンドは、そのオブジェクトを $ResourceGroup 変数に格納します。 2 番目のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して PolicyAssignment という名前のポリシー割り当てを取得します。 このコマンドは、そのオブジェクトを $PolicyAssignment 変数に格納します。 最後のコマンドは、$ResourceGroupの ResourceId プロパティによって識別されるリソース グループに対するポリシー割り当ての enforcementMode プロパティを更新します。
例 7: コンプライアンス違反メッセージを更新する
$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -NonComplianceMessage @{Message="All resources must follow resource naming guidelines."}
最初のコマンドは、Get-AzPolicyAssignment コマンドレットを使用して VirtualMachinePolicy という名前のポリシー割り当てを取得し、$PolicyAssignment変数に格納します。 最後のコマンドは、ポリシー割り当てのコンプライアンス違反メッセージを、ポリシーによってリソースが拒否された場合に表示される新しいメッセージで更新します。
パラメーター
-ApiVersion
使用するリソース プロバイダー API のバージョンを指定します。 バージョンを指定しない場合、このコマンドレットは使用可能な最新バージョンを使用します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AssignIdentity
このポリシー割り当てのシステム割り当てマネージド ID を生成して割り当てます。 ID は、'deployIfNotExists' および 'modify' ポリシーのデプロイを実行するときに使用されます。 ID を割り当てるときに場所が必要です。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
Azure との通信に使用される資格情報、アカウント、テナント、サブスクリプション
Type: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
ポリシー割り当ての説明
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DisplayName
ポリシー割り当ての新しい表示名を指定します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EnforcementMode
ポリシー割り当ての適用モード。 現在、有効な値は Default、DoNotEnforce です。
Type: | Nullable<T>[PolicyAssignmentEnforcementMode] |
Accepted values: | Default, DoNotEnforce |
Position: | Named |
Default value: | Default |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Id
このコマンドレットが変更するポリシー割り当ての完全修飾リソース ID を指定します。
Type: | String |
Aliases: | ResourceId |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IdentityId
このポリシー割り当てに割り当てるユーザー割り当てマネージド ID の ID を指定します。 この値は、値 'UserAssigned' が -IdentityType パラメーターに渡される場合に必要です。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IdentityType
このポリシー割り当てに割り当てるマネージド ID の種類を指定します。 "SystemAssigned" 値を指定すると、システム割り当てマネージド ID が生成され、このポリシー割り当てに割り当てられます。 'UserAssigned' 値を指定すると、ID を使用して -IdentityId パラメーターに渡されたユーザー割り当て ID がこのポリシー割り当てに割り当てられます。 ID は、'deployIfNotExists' および 'modify' ポリシーのデプロイを実行するときに使用されます。 ID を割り当てるときに場所が必要です。 システム割り当て ID が作成された後、New-AzRoleAssignment を使用して ID にアクセス許可を付与する必要があります。 AssignIdentity パラメーターと IdentityType パラメーターの両方が使用されている場合、IdentityType パラメーターが優先されます。
Type: | Nullable<T>[ManagedIdentityType] |
Accepted values: | SystemAssigned, UserAssigned, None |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
別のコマンドレットから出力された更新するポリシー割り当てオブジェクト。
Type: | PsPolicyAssignment |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Location
ポリシー割り当てのリソース ID の場所。 これは、-IdentityType 値が指定されている場合に必要です。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Metadata
ポリシー割り当ての更新されたメタデータ。 これは、メタデータを含むファイル名へのパスか、メタデータを文字列として指定できます。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
このコマンドレットが変更するポリシー割り当ての名前を指定します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NonComplianceMessage
リソースがポリシーに準拠していない理由を示す非準拠メッセージ。
Type: | PsNonComplianceMessage[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NotScope
ポリシーの割り当てはスコープではありません。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyParameter
新しいポリシー パラメーターは、ポリシー割り当てのファイル パスまたは文字列です。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyParameterObject
ポリシー割り当ての新しいポリシー パラメーター オブジェクト。
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Pre
このコマンドレットは、使用するバージョンを自動的に決定するときに、プレリリース API バージョンを考慮することを示します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
ポリシーを適用するスコープを指定します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
入力
String[]
Nullable<T>[[Microsoft.Azure.Commands.ResourceManager.Cmdlets.Entities.Policy.PolicyAssignmentEnforcementMode, Microsoft.Azure.PowerShell.Cmdlets.ResourceManager, Version=3.5.0.0, Culture=neutral, PublicKeyToken=null]]