Membuat peran kustom
Dalam panduan cara ini, Anda mempelajari cara membuat peran kustom untuk Operator Layanan. Peran kustom menyediakan izin yang diperlukan untuk mengakses sumber daya Penerbit Azure Operator Service Manager (AOSM) saat menyebarkan Layanan Jaringan Situs (SNS).
Prasyarat
Hubungi tim akun Microsoft Anda untuk mendaftarkan langganan Azure Anda untuk akses ke Azure Operator Service Manager (AOSM) atau ekspresikan minat Anda melalui formulir pendaftaran mitra.
Izin/Tindakan yang diperlukan oleh peran kustom
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
Tentukan cakupan
Tentukan cakupan yang Anda inginkan agar peran dapat ditetapkan:
Jika sumber daya penerbit berada dalam satu grup sumber daya, Anda dapat menggunakan cakupan yang dapat ditetapkan dari grup sumber daya tersebut.
Jika sumber daya penerbit tersebar di beberapa grup sumber daya dalam satu langganan, Anda harus menggunakan cakupan langganan yang dapat ditetapkan.
Jika sumber daya penerbit tersebar di beberapa langganan, Anda harus membuat peran kustom yang dapat ditetapkan untuk masing-masing langganan ini.
Membuat peran kustom menggunakan Bicep
Buat peran kustom menggunakan Bicep. Untuk informasi selengkapnya, lihat Membuat atau memperbarui peran kustom Azure menggunakan Bicep
Sebagai contoh, Anda dapat menggunakan sampel berikut sebagai templat main.bicep. Sampel ini membuat peran dengan cakupan yang dapat ditetapkan di seluruh langganan.
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
]
}
}
Saat Anda menyebarkan templat, templat harus disebarkan dalam langganan yang sama dengan sumber daya Publisher.
az login
az account set --subscription <publisher subscription>
az deployment sub create --location <location> --name customRole --template-file main.bicep
Membuat peran kustom menggunakan portal Azure
Buat peran kustom menggunakan portal Azure. Untuk informasi selengkapnya, lihat Membuat atau memperbarui peran kustom Azure menggunakan portal Azure
Jika diinginkan, Anda dapat menentukan sebagian besar nilai peran kustom Anda dalam file JSON.
JSON Sampel:
{
"$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]"
]
}
}
]
}