Policy Restrictions - Check At Resource Group Scope
檢查 Azure 原則會對資源群組內的資源放置哪些限制。 當資源群組中建立資源已已知時,請使用此選項。
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/checkPolicyRestrictions?api-version=2023-03-01
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
resource
|
path | True |
string minLength: 1maxLength: 90 |
資源群組的名稱。 名稱不區分大小寫。 |
subscription
|
path | True |
string minLength: 1 |
目標訂用帳戶的標識碼。 |
api-version
|
query | True |
string minLength: 1 |
要用於這項作業的 API 版本。 |
要求本文
名稱 | 必要 | 類型 | Description |
---|---|---|---|
resourceDetails | True |
將評估之資源的相關信息。 |
|
includeAuditEffect |
boolean |
是否要在結果中包含具有「稽核」效果的原則。 默認值為 false。 |
|
pendingFields |
應評估是否有潛在限制的欄位和值清單。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
Azure 原則將針對資源的限制。 |
|
Other Status Codes |
描述作業失敗原因的錯誤回應。 |
安全性
azure_auth
Azure Active Directory OAuth2 Flow
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
名稱 | Description |
---|---|
user_impersonation | 模擬您的用戶帳戶 |
範例
Check policy restrictions at resource group scope |
Check policy restrictions at resource group scope including audit effect |
Check policy restrictions at resource group scope
範例要求
POST https://management.azure.com/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/vmRg/providers/Microsoft.PolicyInsights/checkPolicyRestrictions?api-version=2023-03-01
{
"resourceDetails": {
"resourceContent": {
"type": "Microsoft.Compute/virtualMachines",
"properties": {
"priority": "Spot"
}
},
"apiVersion": "2019-12-01"
},
"pendingFields": [
{
"field": "name",
"values": [
"myVMName"
]
},
{
"field": "location",
"values": [
"eastus",
"westus",
"westus2",
"westeurope"
]
},
{
"field": "tags"
}
]
}
範例回覆
{
"fieldRestrictions": [
{
"field": "tags.newtag",
"restrictions": [
{
"result": "Required",
"defaultValue": "defaultVal",
"policy": {
"policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/1D0906C3",
"policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/57DAC8A0",
"policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/05D92080",
"policyDefinitionReferenceId": "DefRef"
},
"policyEffect": "Deny",
"reason": "tags.newtag is required"
}
]
},
{
"field": "tags.environment",
"restrictions": [
{
"result": "Required",
"values": [
"Prod",
"Int",
"Test"
],
"policy": {
"policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/30BD79F6",
"policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/7EB1508A",
"policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/735551F1",
"policyDefinitionReferenceId": "DefRef"
},
"policyEffect": "Deny",
"reason": "tags.environment is required"
}
]
},
{
"field": "location",
"restrictions": [
{
"result": "Deny",
"values": [
"west europe"
],
"policy": {
"policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/0711CCC1",
"policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/1563EBD3",
"policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/1E17783A",
"policyDefinitionReferenceId": "DefRef"
},
"policyEffect": "Deny",
"reason": "location must be one of the following: eastus, westus, westus2"
},
{
"result": "Deny",
"values": [
"eastus",
"westus"
],
"policy": {
"policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/25C9F66B",
"policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/5382A69D",
"policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/392D107B",
"policyDefinitionReferenceId": "DefRef"
},
"policyEffect": "Deny",
"reason": "location must be one of the following: westus2"
}
]
}
],
"contentEvaluationResult": {
"policyEvaluations": [
{
"policyInfo": {
"policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/435CAE41",
"policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/2162358E",
"policyDefinitionReferenceId": "defref222",
"policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/2FF66C37"
},
"evaluationResult": "NonCompliant",
"evaluationDetails": {
"evaluatedExpressions": [
{
"result": "True",
"expressionKind": "field",
"expression": "type",
"path": "type",
"expressionValue": "microsoft.compute/virtualmachines",
"targetValue": "microsoft.compute/virtualmachines",
"operator": "equals"
}
]
},
"effectDetails": {
"policyEffect": "Deny"
}
}
]
}
}
Check policy restrictions at resource group scope including audit effect
範例要求
POST https://management.azure.com/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/vmRg/providers/Microsoft.PolicyInsights/checkPolicyRestrictions?api-version=2023-03-01
{
"resourceDetails": {
"resourceContent": {
"type": "Microsoft.Compute/virtualMachines",
"properties": {
"priority": "Spot"
}
},
"apiVersion": "2019-12-01"
},
"pendingFields": [
{
"field": "name",
"values": [
"myVMName"
]
},
{
"field": "location",
"values": [
"eastus",
"westus",
"westus2",
"westeurope"
]
},
{
"field": "tags"
}
],
"includeAuditEffect": true
}
範例回覆
{
"fieldRestrictions": [
{
"field": "tags.newtag",
"restrictions": [
{
"result": "Required",
"defaultValue": "defaultVal",
"policy": {
"policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/1D0906C3",
"policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/57DAC8A0",
"policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/05D92080",
"policyDefinitionReferenceId": "DefRef"
},
"policyEffect": "Deny",
"reason": "tags.newtag is required"
}
]
},
{
"field": "tags.environment",
"restrictions": [
{
"result": "Required",
"values": [
"Prod",
"Int",
"Test"
],
"policy": {
"policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/30BD79F6",
"policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/7EB1508A",
"policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/735551F1",
"policyDefinitionReferenceId": "DefRef"
},
"policyEffect": "Audit",
"reason": "tags.environment is required"
}
]
},
{
"field": "location",
"restrictions": [
{
"result": "Deny",
"values": [
"west europe"
],
"policy": {
"policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/0711CCC1",
"policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/1563EBD3",
"policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/1E17783A",
"policyDefinitionReferenceId": "DefRef"
},
"policyEffect": "Deny",
"reason": "The selected location is not allowed"
},
{
"result": "Audit",
"values": [
"eastus",
"westus"
],
"policy": {
"policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/25C9F66B",
"policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/5382A69D",
"policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/392D107B",
"policyDefinitionReferenceId": "DefRef"
},
"policyEffect": "Audit",
"reason": "The selected location is not allowed"
}
]
}
],
"contentEvaluationResult": {
"policyEvaluations": [
{
"policyInfo": {
"policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/435CAE41",
"policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/2162358E",
"policyDefinitionReferenceId": "defref222",
"policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/2FF66C37"
},
"evaluationResult": "NonCompliant",
"evaluationDetails": {
"evaluatedExpressions": [
{
"result": "True",
"expressionKind": "field",
"expression": "type",
"path": "type",
"expressionValue": "microsoft.compute/virtualmachines",
"targetValue": "microsoft.compute/virtualmachines",
"operator": "equals"
}
],
"reason": "Resource creation of the selected type is not allowed"
},
"effectDetails": {
"policyEffect": "Audit"
}
}
]
}
}
定義
名稱 | Description |
---|---|
Check |
原則評估詳細數據。 |
Check |
檢查原則限制參數,描述正在評估的資源。 |
Check |
將評估之資源的相關信息。 |
Check |
資源上檢查原則限制評估的結果。 |
Content |
所提供部分資源內容的評估結果。 |
Error |
錯誤定義。 |
Error |
錯誤回應。 |
Expression |
原則語言表達式的評估詳細數據。 |
Field |
特定原則所強加之欄位的限制。 |
Field |
對欄位施加的限制類型。 |
Field |
將依原則在資源中的欄位上設定的限制。 |
If |
IfNotExists 效果的評估詳細數據。 |
Pending |
應根據 Azure 原則評估的欄位,以判斷限制。 |
Policy |
套用至資源之效果的詳細數據。 |
Policy |
針對指定資源內容進行不符合規範的原則評估結果。 |
Policy |
原則的資源標識碼。 |
Typed |
案例特定錯誤詳細數據。 |
CheckRestrictionEvaluationDetails
原則評估詳細數據。
名稱 | 類型 | Description |
---|---|---|
evaluatedExpressions |
評估表達式的詳細數據。 |
|
ifNotExistsDetails |
IfNotExists 效果的評估詳細數據。 |
|
reason |
string |
評估結果的原因。 |
CheckRestrictionsRequest
檢查原則限制參數,描述正在評估的資源。
名稱 | 類型 | 預設值 | Description |
---|---|---|---|
includeAuditEffect |
boolean |
False |
是否要在結果中包含具有「稽核」效果的原則。 默認值為 false。 |
pendingFields |
應評估是否有潛在限制的欄位和值清單。 |
||
resourceDetails |
將評估之資源的相關信息。 |
CheckRestrictionsResourceDetails
將評估之資源的相關信息。
名稱 | 類型 | Description |
---|---|---|
apiVersion |
string |
資源內容的 API 版本。 |
resourceContent |
object |
資源內容。 這應該包含任何已知屬性,而且可以是所有資源屬性的一組部分。 |
scope |
string |
正在建立資源的範圍。 例如,如果資源是子資源,這會是父資源的資源標識符。 |
CheckRestrictionsResult
資源上檢查原則限制評估的結果。
名稱 | 類型 | Description |
---|---|---|
contentEvaluationResult |
所提供部分資源內容的評估結果。 |
|
fieldRestrictions |
原則將放在資源中各種欄位的限制。 |
ContentEvaluationResult
所提供部分資源內容的評估結果。
名稱 | 類型 | Description |
---|---|---|
policyEvaluations |
針對指定資源內容的原則評估結果。 這表示所提供的部分內容是否會遭到拒絕,as-is。 |
ErrorDefinition
錯誤定義。
名稱 | 類型 | Description |
---|---|---|
additionalInfo |
其他案例特定錯誤詳細數據。 |
|
code |
string |
服務特定的錯誤碼,做為 HTTP 錯誤碼的子狀態。 |
details |
內部錯誤詳細數據。 |
|
message |
string |
錯誤的描述。 |
target |
string |
錯誤的目標。 |
ErrorResponse
錯誤回應。
名稱 | 類型 | Description |
---|---|---|
error |
錯誤詳細數據。 |
ExpressionEvaluationDetails
原則語言表達式的評估詳細數據。
名稱 | 類型 | Description |
---|---|---|
expression |
string |
評估的表達式。 |
expressionKind |
string |
評估的表達式種類。 |
expressionValue |
object |
表達式的值。 |
operator |
string |
比較表達式值和目標值的運算元。 |
path |
string |
如果表達式是欄位或別名,則屬性路徑。 |
result |
string |
評估結果。 |
targetValue |
object |
要與表達式值比較的目標值。 |
FieldRestriction
特定原則所強加之欄位的限制。
名稱 | 類型 | Description |
---|---|---|
defaultValue |
string |
如果使用者未提供值,則原則會為字段設定的值。 |
policy |
造成欄位限制的原則詳細數據。 |
|
policyEffect |
string |
造成欄位限制的原則效果。 http://aka.ms/policyeffects |
reason |
string |
限制的原因。 |
result |
對欄位施加的限制類型。 |
|
values |
string[] |
原則要求或拒絕欄位的值。 |
FieldRestrictionResult
對欄位施加的限制類型。
值 | Description |
---|---|
Audit |
欄位和/或值將由原則稽核。 |
Deny |
原則會拒絕欄位和/或值。 |
Removed |
欄位將會由原則移除。 |
Required |
原則需要欄位和/或值。 |
FieldRestrictions
將依原則在資源中的欄位上設定的限制。
名稱 | 類型 | Description |
---|---|---|
field |
string |
功能變數名稱。 這可以是最上層屬性,例如 'name' 或 'type' 或 Azure 原則欄位別名。 |
restrictions |
原則對該欄位的限制。 |
IfNotExistsEvaluationDetails
IfNotExists 效果的評估詳細數據。
名稱 | 類型 | Description |
---|---|---|
resourceId |
string |
IfNotExists 效果最後評估資源標識符。 |
totalResources |
integer |
存在條件適用的資源總數。 |
PendingField
應根據 Azure 原則評估的欄位,以判斷限制。
名稱 | 類型 | Description |
---|---|---|
field |
string |
功能變數名稱。 這可以是最上層屬性,例如 'name' 或 'type' 或 Azure 原則欄位別名。 |
values |
string[] |
應根據 Azure 原則評估之字段的潛在值清單。 |
PolicyEffectDetails
套用至資源之效果的詳細數據。
名稱 | 類型 | Description |
---|---|---|
policyEffect |
string |
套用至資源的效果。 http://aka.ms/policyeffects |
PolicyEvaluationResult
針對指定資源內容進行不符合規範的原則評估結果。
名稱 | 類型 | Description |
---|---|---|
effectDetails |
套用至資源之效果的詳細數據。 |
|
evaluationDetails |
評估的原則表達式和值的詳細結果。 |
|
evaluationResult |
string |
針對資源的原則評估結果。 這通常為 『NonCompliant』,但如果發生錯誤,可能會包含其他值。 |
policyInfo |
評估之原則的詳細數據。 |
PolicyReference
原則的資源標識碼。
名稱 | 類型 | Description |
---|---|---|
policyAssignmentId |
string |
原則指派的資源標識碼。 |
policyDefinitionId |
string |
原則定義的資源標識碼。 |
policyDefinitionReferenceId |
string |
原則集定義內特定原則定義的參考標識符。 |
policySetDefinitionId |
string |
原則集定義的資源標識碼。 |
TypedErrorInfo
案例特定錯誤詳細數據。
名稱 | 類型 | Description |
---|---|---|
info |
案例特定的錯誤詳細數據。 |
|
type |
string |
包含的錯誤詳細數據類型。 |