このハウツー ガイドでは、サービス オペレーターのカスタム ロールを作成する方法について説明します。 カスタム ロールは、Site Network Service (SNS) を展開するときに Azure Operator Service Manager (AOSM) パブリッシャー リソースにアクセスするために必要なアクセス許可を提供します。
[前提条件]
Azure Operator Service Manager (AOSM) にアクセスするための Azure サブスクリプションの登録については、Microsoft アカウント チームにお問い合わせいただくか、関心をお持ちであることをパートナー登録フォームからお知らせください。
カスタム ロールに必要なアクセス許可/アクション
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
スコープを決定する
役割が割り当て可能となるスコープを決めてください。
パブリッシャー リソースが 1 つのリソース グループ内にある場合は、そのリソース グループの割り当て可能なスコープを使用できます。
パブリッシャー リソースが 1 つのサブスクリプション内の複数のリソース グループに分散されている場合は、そのサブスクリプションの割り当て可能なスコープを使用する必要があります。
パブリッシャー リソースが複数のサブスクリプションに分散されている場合は、これらの各サブスクリプションに割り当て可能なカスタム ロールを作成する必要があります。
Bicep を使用してカスタム ロールを作成する
Bicep を使用してカスタム ロールを作成します。 詳細については、「Bicep を使用した Azure カスタム ロールの作成または更新」を参照してください。
例として、次のサンプルをメインとして使用できます。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
]
}
}
テンプレートをデプロイするときは、パブリッシャー リソースと同じサブスクリプションにデプロイする必要があります。
az login
az account set --subscription <publisher subscription>
az deployment sub create --___location <___location> --name customRole --template-file main.bicep
Azure portal を使用してカスタム ロールを作成する
Azure portal を使用してカスタム ロールを作成します。 詳細については、Azure portal を使用した 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]"
]
}
}
]
}