New-AzPolicyAttestation
정책 할당에 대한 새 정책 증명을 만듭니다.
구문
New-AzPolicyAttestation
-Name <String>
[-Scope <String>]
[-ResourceGroupName <String>]
-PolicyAssignmentId <String>
[-ComplianceState <String>]
[-PolicyDefinitionReferenceId <String>]
[-ExpiresOn <DateTime>]
[-Owner <String>]
[-Comment <String>]
[-Evidence <PSAttestationEvidence[]>]
[-AssessmentDate <DateTime>]
[-Metadata <String>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzPolicyAttestation
-ResourceId <String>
-PolicyAssignmentId <String>
[-ComplianceState <String>]
[-PolicyDefinitionReferenceId <String>]
[-ExpiresOn <DateTime>]
[-Owner <String>]
[-Comment <String>]
[-Evidence <PSAttestationEvidence[]>]
[-AssessmentDate <DateTime>]
[-Metadata <String>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
New-AzPolicyAttestation cmdlet은 특정 정책 할당에 대한 정책 증명을 만듭니다. 증명은 Azure Policy에서 수동 정책의 대상이 되는 리소스 또는 범위의 준수 상태를 설정하는 데 사용됩니다. 또한 사용자가 추가 메타데이터를 제공하거나 증명된 준수 상태를 수반하는 증거에 대한 링크를 제공할 수 있습니다.
예제
예제 1: 구독 범위에서 증명 만들기
Set-AzContext -Subscription "d1acb22b-c876-44f7-b08e-3fcf9f6767f4"
$policyAssignmentId = "/subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/providers/microsoft.authorization/policyassignments/psattestationsubassignment"
$attestationName = "attestation-subscription"
New-AzPolicyAttestation -PolicyAssignmentId $policyAssignmentId -Name $attestationName -ComplianceState "Compliant"
Id : /subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/providers/microsoft.policyinsights
/attestations/attestation-subscription
Name : attestation-subscription
Type : Microsoft.PolicyInsights/attestations
PolicyAssignmentId : /subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/providers/microsoft.authorization/
policyassignments/psattestationsubassignment
PolicyDefinitionReferenceId :
ComplianceState : Compliant
ExpiresOn :
Owner :
Comment :
Evidence :
ProvisioningState : Succeeded
LastComplianceStateChangeAt : 1/27/2023 2:26:24 AM
AssessmentDate :
Metadata :
SystemData :
이 명령은 지정된 정책 할당에 대한 구독 'd1acb22b-c876-44f7-b08e-3fcf9f6767f4'에 새 정책 증명을 만듭니다.
참고: 이 명령은 구독 아래에 있는 리소스가 아닌 구독에 대한 증명을 만듭니다. 관리 편의성을 위해 수동 정책은 규정 준수 상태를 증명해야 하는 리소스의 경계를 정의하는 범위를 대상으로 하도록 설계되어야 합니다. 이 경우 수동 정책은
Microsoft.Resources/subscriptions
대상으로 지정해야 합니다. 자세한 내용은 https://learn.microsoft.com/en-us/azure/governance/policy/concepts/attestation-structure 이동하여 증명을 만드는 모범 사례를 이해하세요.
예제 2: 리소스 그룹에서 증명 만들기
$policyAssignmentId = "/subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/providers/microsoft.authorization/policyassignments/psattestationrgassignment"
$attestationName = "attestation-RG"
$rgName = "ps-attestation-test-rg"
New-AzPolicyAttestation -ResourceGroupName $RGName -PolicyAssignmentId $policyAssignmentId -Name $attestationName -ComplianceState "Compliant"
Id : /subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/resourcegroups/ps-attestation-test
-rg/providers/microsoft.policyinsights/attestations/attestation-rg
Name : attestation-RG
Type : Microsoft.PolicyInsights/attestations
PolicyAssignmentId : /subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/providers/microsoft.authorization/
policyassignments/psattestationrgassignment
PolicyDefinitionReferenceId :
ComplianceState : Compliant
ExpiresOn :
Owner :
Comment :
Evidence :
ProvisioningState : Succeeded
LastComplianceStateChangeAt : 1/27/2023 2:35:28 AM
AssessmentDate :
Metadata :
SystemData :
이 명령은 지정된 정책 할당에 대한 리소스 그룹 'ps-attestation-test-rg'에 새 정책 증명을 만듭니다.
참고: 이 명령은 그 아래에 있는 리소스가 아닌 리소스 그룹에 대한 증명을 만듭니다. 관리 편의성을 위해 수동 정책은 규정 준수 상태를 증명해야 하는 리소스의 경계를 정의하는 범위를 대상으로 하도록 설계되어야 합니다. 이 경우 수동 정책은
Microsoft.Resources/subscriptions/resourceGroups
대상으로 지정해야 합니다. 자세한 내용은 https://learn.microsoft.com/en-us/azure/governance/policy/concepts/attestation-structure 이동하여 증명을 만드는 모범 사례를 이해하세요.
예제 3: 리소스에서 증명 만들기
$policyAssignmentId = "/subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/providers/microsoft.authorization/policyassignments/psattestationresourceassignment"
$attestationName = "attestation-resource"
$scope = "/subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/resourceGroups/ps-attestation-test-rg/providers/Microsoft.Network/networkSecurityGroups/pstests0"
New-AzPolicyAttestation `
-PolicyAssignmentId $policyAssignmentId `
-Name $attestationName `
-Scope $scope `
-ComplianceState "NonCompliant"
Id : /subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/resourcegroups/ps-attestation-test
-rg/providers/microsoft.network/networksecuritygroups/pstests0/providers/microsoft.pol
icyinsights/attestations/attestation-resource
Name : attestation-resource
Type : Microsoft.PolicyInsights/attestations
PolicyAssignmentId : /subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/providers/microsoft.authorization/
policyassignments/psattestationresourceassignment
PolicyDefinitionReferenceId :
ComplianceState : NonCompliant
ExpiresOn :
Owner :
Comment :
Evidence :
ProvisioningState : Succeeded
LastComplianceStateChangeAt : 1/27/2023 2:38:17 AM
AssessmentDate :
Metadata :
SystemData :
이 명령은 지정된 정책 할당에 대한 리소스 'pstests0'에 대한 증명을 만듭니다.
예제 4: 리소스 그룹의 모든 속성을 사용하여 증명 만들기
$attestationName = "attestationRGAllProps"
$policyInitiativeAssignmentId = "/subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/providers/microsoft.authorization/policyassignments/psattestationinitiativergassignment"
$policyDefinitionReferenceId = "PSTestAttestationRG_1"
$RGName = "ps-attestation-test-rg"
$description = "This is a test description"
$sourceURI = "https://contoso.org/test.pdf"
$evidence = @{
"Description"=$description
"SourceUri"=$sourceURI
}
$policyEvidence = @($evidence)
$owner = "Test Owner"
$expiresOn = [datetime]::UtcNow.AddYears(1)
$metadata = '{"TestKey":"TestValue"}'
New-AzPolicyAttestation `
-Name $attestationName `
-ResourceGroupName $RGName `
-PolicyAssignmentId $policyInitiativeAssignmentId `
-PolicyDefinitionReferenceId $policyDefinitionReferenceId `
-ComplianceState $Compliant `
-Comment $comment `
-Evidence $policyEvidence `
-ExpiresOn $expiresOn `
-AssessmentDate $expiresOn.AddDays(-2) `
-Owner $owner `
-Metadata $metadata
Id : /subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/resourcegroups/ps-attestation-test
-rg/providers/microsoft.policyinsights/attestations/attestationrgallprops
Name : attestationRGAllProps
Type : Microsoft.PolicyInsights/attestations
PolicyAssignmentId : /subscriptions/d1acb22b-c876-44f7-b08e-3fcf9f6767f4/providers/microsoft.authorization/
policyassignments/psattestationinitiativergassignment
PolicyDefinitionReferenceId : pstestattestationrg_1
ComplianceState :
ExpiresOn : 1/27/2024 2:51:54 AM
Owner : Test Owner
Comment :
Evidence : {Microsoft.Azure.Commands.PolicyInsights.Models.Attestations.PSAttestationEvidence}
ProvisioningState : Succeeded
LastComplianceStateChangeAt : 1/27/2023 2:51:57 AM
AssessmentDate : 1/25/2024 2:51:54 AM
Metadata : {
"TestKey": "TestValue"
}
SystemData :
매개 변수
-AssessmentDate
증명의 증거가 평가된 시간입니다.
형식: | Nullable<T>[DateTime] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Comment
이 증명이 만들어진 이유를 설명하는 주석입니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-ComplianceState
리소스의 준수 상태입니다. 예: '준수', '비준수', '알 수 없음'
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Confirm
cmdlet을 실행하기 전에 확인 메시지를 표시합니다.
형식: | SwitchParameter |
별칭: | cf |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DefaultProfile
Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.
형식: | IAzureContextContainer |
별칭: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Evidence
이 증명에 설정된 준수 상태를 지원하는 증거입니다.
형식: | PSAttestationEvidence[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-ExpiresOn
증명에 설정된 준수 상태가 만료되어야 하는 시간입니다.
형식: | Nullable<T>[DateTime] |
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 |
-Owner
리소스의 상태를 설정할 책임이 있는 사람입니다. 이 값은 일반적으로 Microsoft Entra 개체 ID입니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-PolicyAssignmentId
정책 할당 ID입니다. 예: '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments/{assignmentName}'.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-PolicyDefinitionReferenceId
개별 정의의 정책 정의 참조 ID입니다. 정책 할당이 정책 집합 정의를 할당할 때 필요합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-ResourceGroupName
리소스 그룹 이름입니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-ResourceId
리소스 ID입니다.
형식: | String |
별칭: | Id |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Scope
리소스의 범위입니다. 예: '/subscriptions/{subscriptionId}/resourceGroups/{rgName}'.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-WhatIf
cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.
형식: | SwitchParameter |
별칭: | wi |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
Nullable<T>[[System.DateTime, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]
출력
관련 링크
Azure PowerShell