Erstellen einer benutzerdefinierten Rolle
In dieser Anleitung erfahren Sie, wie Sie eine benutzerdefinierte Rolle für Dienstanbieter erstellen. Eine benutzerdefinierte Rolle bietet die erforderlichen Berechtigungen für den Zugriff auf Azure Operator Service Manager (AOSM)-Publisher-Ressourcen bei der Bereitstellung eines Standortnetzwerkdiensts (Site Network Service, SNS).
Voraussetzungen
Wenden Sie sich an Ihr Microsoft-Kontoteam, um Ihr Azure-Abonnement für den Zugriff auf Azure Operator Service Manager (AOSM) zu registrieren oder Ihr Interesse über das Partnerregistrierungsformular auszudrücken.
Berechtigungen/Aktionen, die von der benutzerdefinierten Rolle erforderlich sind
Microsoft.HybridNetwork/Publisher/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/use/action
Microsoft.HybridNetwork/Publisher/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/read
Microsoft.HybridNetwork/Publisher/NetworkServiceDesignGroups/NetworkServiceDesignVersions/use/action
Microsoft.HybridNetwork/Publisher/NetworkServiceDesignGroups/NetworkServiceDesignVersions/read
Microsoft.HybridNetwork/Publisher/ConfigurationGroupSchemas/read
Festlegen des Bereichs
Legen Sie den Bereich fest, dem die Rolle zugewiesen werden soll:
Wenn sich die Herausgeberressourcen in einer einzelnen Ressourcengruppe befinden, können Sie den zuordnungsfähigen Bereich dieser Ressourcengruppe verwenden.
Wenn die Herausgeberressourcen über mehrere Ressourcengruppen innerhalb eines einzelnen Abonnements verteilt sind, müssen Sie den zuweisungsfähigen Bereich dieses Abonnements verwenden.
Wenn die Herausgeberressourcen über mehrere Abonnements verteilt sind, müssen Sie eine benutzerdefinierte Rolle erstellen, die jedem dieser Abonnements zugewiesen werden kann.
Erstellen einer benutzerdefinierten Rolle mithilfe von Bicep
Erstellen Sie eine benutzerdefinierte Rolle mit Bicep. Weitere Informationen finden Sie unter Erstellen oder Aktualisieren von benutzerdefinierten Azure-Rollen mit Bicep
Als Beispiel können Sie das folgende Beispiel als vorlage "Standard.bicep" verwenden. In diesem Beispiel wird die Rolle mit abonnementweitem zuzuweisenden Bereich erstellt.
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
]
}
}
Wenn Sie die Vorlage bereitstellen, sollte sie im selben Abonnement wie die Publisher-Ressourcen bereitgestellt werden.
az login
az account set --subscription <publisher subscription>
az deployment sub create --location <location> --name customRole --template-file main.bicep
Erstellen einer benutzerdefinierten Rolle mithilfe der Azure-Portal
Erstellen Sie eine benutzerdefinierte Rolle mit Azure-Portal. Weitere Informationen finden Sie unter Erstellen oder Aktualisieren von benutzerdefinierten Azure-Rollen mithilfe von Azure-Portal
Sie können die meisten Werte Ihrer benutzerdefinierten Rolle in einer JSON-Datei angeben.
JSON-Beispielcode:
{
"$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]"
]
}
}
]
}