إنشاء دور مخصص
في هذا الدليل الإرشادي، ستتعلم كيفية إنشاء دور مخصص لمشغلي الخدمة. يوفر الدور المخصص الأذونات الضرورية للوصول إلى موارد Publisher Azure Operator Service Manager (AOSM) عند نشر خدمة شبكة الموقع (SNS).
المتطلبات الأساسية
اتصل بفريق حساب Microsoft لتسجيل اشتراك Azure للوصول إلى Azure Operator Service Manager (AOSM) أو أعرب عن اهتمامك من خلال نموذج تسجيل الشريك.
الأذونات/الإجراءات المطلوبة من قبل الدور المخصص
إجراء Microsoft.HybridNetwork/Publishers/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/use/
Microsoft.HybridNetwork/Publishers/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/read
إجراء Microsoft.HybridNetwork/Publishers/NetworkServiceDesignGroups/NetworkServiceDesignVersions/use/
Microsoft.HybridNetwork/Publishers/NetworkServiceDesignGroups/NetworkServiceDesignVersions/read
Microsoft.HybridNetwork/Publishers/ConfigurationGroupSchemas/read
تحديد النطاق
حدد النطاق الذي تريد أن يكون الدور قابلا للتعيين إليه:
إذا كانت موارد الناشر في مجموعة موارد واحدة، يمكنك استخدام النطاق القابل للتعيين لمجموعة الموارد هذه.
إذا كانت موارد الناشر موزعة عبر مجموعات موارد متعددة ضمن اشتراك واحد، فيجب عليك استخدام النطاق القابل للتعيين لهذا الاشتراك.
إذا كانت موارد الناشر موزعة عبر اشتراكات متعددة، فيجب عليك إنشاء دور مخصص قابل للتعيين لكل اشتراك من هذه الاشتراكات.
إنشاء دور مخصص باستخدام Bicep
إنشاء دور مخصص باستخدام Bicep. لمزيد من المعلومات، راجع إنشاء أو تحديث أدوار Azure المخصصة باستخدام Bicep
على سبيل المثال، يمكنك استخدام النموذج التالي كقالب main.bicep. ينشئ هذا النموذج الدور مع نطاق قابل للتعيين على مستوى الاشتراك.
targetScope = 'subscription'
@description('Array of actions for the roleDefinition')
param actions array = [
'Microsoft.HybridNetwork/Publishers/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/use/action'
'Microsoft.HybridNetwork/Publishers/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/read'
'Microsoft.HybridNetwork/Publishers/NetworkServiceDesignGroups/NetworkServiceDesignVersions/use/action'
'Microsoft.HybridNetwork/Publishers/NetworkServiceDesignGroups/NetworkServiceDesignVersions/read'
'Microsoft.HybridNetwork/Publishers/ConfigurationGroupSchemas/read'
]
@description('Array of notActions for the roleDefinition')
param notActions array = []
@description('Friendly name of the role definition')
param roleName string = 'Custom Role - AOSM Service Operator access to Publisher'
@description('Detailed description of the role definition')
param roleDescription string = 'Provides read and use access to AOSM Publisher resources'
var roleDefName = guid(subscription().id, string(actions), string(notActions))
resource roleDef 'Microsoft.Authorization/roleDefinitions@2022-04-01' = {
name: roleDefName
properties: {
roleName: roleName
description: roleDescription
type: 'customRole'
permissions: [
{
actions: actions
notActions: notActions
}
]
assignableScopes: [
subscription().id
]
}
}
عند نشر القالب، يجب نشره في نفس الاشتراك مثل موارد Publisher.
az login
az account set --subscription <publisher subscription>
az deployment sub create --location <location> --name customRole --template-file main.bicep
إنشاء دور مخصص باستخدام مدخل Microsoft Azure
إنشاء دور مخصص باستخدام مدخل Microsoft Azure. لمزيد من المعلومات، راجع إنشاء أو تحديث أدوار Azure المخصصة باستخدام مدخل Microsoft Azure
إذا كنت تفضل ذلك، يمكنك تحديد معظم قيم الدور المخصص في ملف JSON.
نموذج JSON:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.22.6.54827",
"templateHash": "14238097231376848271"
}
},
"parameters": {
"actions": {
"type": "array",
"defaultValue": [
"Microsoft.HybridNetwork/Publishers/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/use/action",
"Microsoft.HybridNetwork/Publishers/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/read",
"Microsoft.HybridNetwork/Publishers/NetworkServiceDesignGroups/NetworkServiceDesignVersions/use/action",
"Microsoft.HybridNetwork/Publishers/NetworkServiceDesignGroups/NetworkServiceDesignVersions/read",
"Microsoft.HybridNetwork/Publishers/ConfigurationGroupSchemas/read"
],
"metadata": {
"description": "Array of actions for the roleDefinition"
}
},
"notActions": {
"type": "array",
"defaultValue": [],
"metadata": {
"description": "Array of notActions for the roleDefinition"
}
},
"roleName": {
"type": "string",
"defaultValue": "Custom Role - AOSM Service Operator Role",
"metadata": {
"description": "Friendly name of the role definition"
}
},
"roleDescription": {
"type": "string",
"defaultValue": "Role Definition for AOSM Service Operator Role",
"metadata": {
"description": "Detailed description of the role definition"
}
}
},
"variables": {
"roleDefName": "[guid(subscription().id, string(parameters('actions')), string(parameters('notActions')))]"
},
"resources": [
{
"type": "Microsoft.Authorization/roleDefinitions",
"apiVersion": "2022-04-01",
"name": "[variables('roleDefName')]",
"properties": {
"roleName": "[parameters('roleName')]",
"description": "[parameters('roleDescription')]",
"type": "customRole",
"permissions": [
{
"actions": "[parameters('actions')]",
"notActions": "[parameters('notActions')]"
}
],
"assignableScopes": [
"[subscription().id]"
]
}
}
]
}