Özel rol oluşturma
Bu nasıl yapılır kılavuzunda, Hizmet İşleçleri için özel rol oluşturmayı öğreneceksiniz. Özel rol, Site Ağ Hizmeti (SNS) dağıtırken Azure Operatör Hizmeti Yöneticisi (AOSM) Yayımcı kaynaklarına erişmek için gerekli izinleri sağlar.
Önkoşullar
Azure Operatör Hizmeti Yöneticisi'ne (AOSM) erişim için Azure aboneliğinizi kaydetmek veya iş ortağı kayıt formu aracılığıyla ilginizi belirtmek için Microsoft hesabı ekibinize başvurun.
Özel rol için gereken izinler/eylemler
Microsoft.HybridNetwork/Publishers/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/use/eylemi
Microsoft.HybridNetwork/Publishers/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/read
Microsoft.HybridNetwork/Publishers/NetworkServiceDesignGroups/NetworkServiceDesignVersions/use/eylemi
Microsoft.HybridNetwork/Publishers/NetworkServiceDesignGroups/NetworkServiceDesignVersions/read
Microsoft.HybridNetwork/Publishers/ConfigurationGroupSchemas/read
Kapsamı belirleme
Rolün atanmasını istediğiniz kapsama karar verin:
Yayımcı kaynakları tek bir kaynak grubundaysa, bu kaynak grubunun atanabilir kapsamını kullanabilirsiniz.
Yayımcı kaynakları tek bir abonelik içinde birden çok kaynak grubuna yayılmışsa, bu aboneliğin atanabilir kapsamını kullanmanız gerekir.
Yayımcı kaynakları birden çok aboneliğe yayılmışsa, bu aboneliklerin her birine atanabilir bir özel rol oluşturmanız gerekir.
Bicep kullanarak özel rol oluşturma
Bicep kullanarak özel bir rol oluşturun. Daha fazla bilgi için bkz . Bicep kullanarak Azure özel rolleri oluşturma veya güncelleştirme
Örneğin, main.bicep şablonu olarak aşağıdaki örneği kullanabilirsiniz. Bu örnek, abonelik genelinde atanabilir kapsamla rolü oluşturur.
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
]
}
}
Şablonu dağıttığınızda, şablonun Yayımcı kaynaklarıyla aynı abonelikte dağıtılması gerekir.
az login
az account set --subscription <publisher subscription>
az deployment sub create --location <location> --name customRole --template-file main.bicep
Azure portalını kullanarak özel rol oluşturma
Azure portalını kullanarak özel bir rol oluşturun. Daha fazla bilgi için bkz. Azure portalını kullanarak Azure özel rolleri oluşturma veya güncelleştirme
İsterseniz, özel rol değerlerinizin çoğunu bir JSON dosyasında belirtebilirsiniz.
Örnek 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]"
]
}
}
]
}