Tworzenie roli niestandardowej
Z tego przewodnika z instrukcjami dowiesz się, jak utworzyć rolę niestandardową dla operatorów usług. Rola niestandardowa zapewnia niezbędne uprawnienia dostępu do zasobów programu Publisher programu Azure Operator Service Manager (AOSM) podczas wdrażania usługi sieci lokacji (SNS).
Wymagania wstępne
Skontaktuj się z zespołem ds. kont Microsoft, aby zarejestrować subskrypcję platformy Azure w celu uzyskania dostępu do programu Azure Operator Service Manager (AOSM) lub wyrazić zainteresowanie za pośrednictwem formularza rejestracji partnera.
Uprawnienia/akcje wymagane przez rolę niestandardową
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
Wybieranie zakresu
Określ zakres, do którego chcesz przypisać rolę:
Jeśli zasoby wydawcy znajdują się w jednej grupie zasobów, możesz użyć możliwego do przypisania zakresu tej grupy zasobów.
Jeśli zasoby wydawcy są rozłożone na wiele grup zasobów w ramach jednej subskrypcji, musisz użyć możliwego do przypisania zakresu tej subskrypcji.
Jeśli zasoby wydawcy są rozłożone na wiele subskrypcji, musisz utworzyć rolę niestandardową, którą można przypisać do każdej z tych subskrypcji.
Tworzenie roli niestandardowej przy użyciu Bicep
Utwórz rolę niestandardową przy użyciu Bicep. Aby uzyskać więcej informacji, zobacz Tworzenie lub aktualizowanie ról niestandardowych platformy Azure przy użyciu Bicep
Na przykład możesz użyć następującego przykładu jako szablonu main.bicep. Ten przykład tworzy rolę z zakresem przypisywanym dla całej subskrypcji.
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
]
}
}
Podczas wdrażania szablonu należy go wdrożyć w tej samej subskrypcji co zasoby programu Publisher.
az login
az account set --subscription <publisher subscription>
az deployment sub create --location <location> --name customRole --template-file main.bicep
Tworzenie roli niestandardowej przy użyciu witryny Azure Portal
Utwórz rolę niestandardową przy użyciu witryny Azure Portal. Aby uzyskać więcej informacji, zobacz Tworzenie lub aktualizowanie ról niestandardowych platformy Azure przy użyciu witryny Azure Portal
Jeśli wolisz, możesz określić większość niestandardowych wartości roli w pliku JSON.
Przykładowy kod 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]"
]
}
}
]
}