Pola Azure Policy: definisi kebijakan grup

Inisiatif adalah grup definisi kebijakan. Dengan mengelompokkan definisi kebijakan terkait ke dalam satu objek, Anda dapat membuat satu penugasan yang akan menjadi beberapa penugasan.

Sampel definisi inisiatif

Inisiatif ini menyebarkan dua definisi kebijakan, yang masing-masing mengambil parameter tagName dan tagValue. Inisiatif itu sendiri memiliki dua parameter: costCenterValue dan productNameValue. Parameter inisiatif ini masing-masing disediakan untuk setiap definisi kebijakan yang dikelompokkan. Desain ini memaksimalkan penggunaan ulang definisi kebijakan yang ada sambil membatasi jumlah penugasan yang dibuat untuk mengimplementasikannya sesuai kebutuhan.

{
    "properties": {
        "displayName": "Billing Tags Policy Initiative",
        "description": "Specify cost Center tag and product name tag",
        "parameters": {
            "costCenterValue": {
                "type": "String",
                "metadata": {
                    "displayName": "required value for Cost Center tag"
                }
            },
            "productNameValue": {
                "type": "String",
                "metadata": {
                    "displayName": "required value for product Name tag"
                }
            }
        },
        "policyDefinitions": [{
                "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
                "parameters": {
                    "tagName": {
                        "value": "costCenter"
                    },
                    "tagValue": {
                        "value": "[parameters('costCenterValue')]"
                    }
                }
            },
            {
                "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
                "parameters": {
                    "tagName": {
                        "value": "costCenter"
                    },
                    "tagValue": {
                        "value": "[parameters('costCenterValue')]"
                    }
                }
            },
            {
                "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
                "parameters": {
                    "tagName": {
                        "value": "productName"
                    },
                    "tagValue": {
                        "value": "[parameters('productNameValue')]"
                    }
                }
            },
            {
                "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
                "parameters": {
                    "tagName": {
                        "value": "productName"
                    },
                    "tagValue": {
                        "value": "[parameters('productNameValue')]"
                    }
                }
            }
        ]
    }
}

Penjelasan

Parameter inisiatif

Inisiatif dapat menentukan parameternya sendiri yang kemudian diteruskan ke definisi kebijakan yang dikelompokkan. Dalam contoh ini, baik costCenterValue dan productNameValue ditentukan sebagai parameter inisiatif. Nilai diberikan saat inisiatif ditetapkan.

"parameters": {
    "costCenterValue": {
        "type": "String",
        "metadata": {
            "displayName": "required value for Cost Center tag"
        }
    },
    "productNameValue": {
        "type": "String",
        "metadata": {
            "displayName": "required value for product Name tag"
        }
    }
},

Termasuk definisi kebijakan

Setiap definisi kebijakan yang disertakan harus menyediakan policyDefinitionId dan array parameters jika definisi kebijakan menerima parameter. Dalam cuplikan berikut, definisi kebijakan yang disertakan menggunakan dua parameter: tagName dan tagValue. tagName ditentukan dengan harfiah, tetapi tagValue menggunakan parameter costCenterValue yang ditentukan oleh inisiatif. Melewati nilai ini meningkatkan penggunaan ulang.

{
    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
    "parameters": {
        "tagName": {
            "value": "costCenter"
        },
        "tagValue": {
            "value": "[parameters('costCenterValue')]"
        }
    }
},

Langkah berikutnya