Skip to content

Commit 7f0b6d1

Browse files
author
Andy Churchard
committed
More secure user permissions, misc other minor changes.
1 parent be928bb commit 7f0b6d1

11 files changed

+79
-47
lines changed

articles/operator-service-manager/quickstart-containerized-network-function-create-site-network-service.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,15 @@ ms.service: azure-operator-service-manager
7070
> [!TIP]
7171
> Refer to the Retrieve Custom Location section for config group value for the customlocationID. For more information, see [Quickstart: Prerequisites for Operator and Containerized Network Function (CNF)](quickstart-containerized-network-function-operator.md).
7272

73-
10. Select **Review + Create** then **Create**.
73+
1. Select **Review + Create** then **Create**.
7474
1. Allow the deployment state to reach a state of **Succeeded**. This status indicates your CNF is up and running.
7575
1. Access your CNF by navigating to the **Site Network Service Object** in the Azure portal. Select the **Current State -> Resources** to view the managed resource group created by Azure Operator Service Manager (AOSM).
7676

7777
:::image type="content" source="media/site-network-service-preview.png" alt-text="Screenshot shows an overview of the site network service created." lightbox="media/site-network-service-preview.png":::
7878

7979
You have successfully created a Site Network Service for a Nginx Container as a CNF in Azure. You can now manage and monitor your CNF through the Azure portal.
80+
81+
When you have finished, remember to delete the resources. You can do this by:
82+
83+
1. Deleting the Operator Resource Group.
84+
1. When the above is complete, deleting the Publisher Resource Group.

articles/operator-service-manager/quickstart-containerized-network-function-network-design.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ az aosm nsd generate-config
2828
Execution of the preceding command generates an nsd-input.jsonc file.
2929

3030
> [!NOTE]
31-
> Edit the input.json file. Replace it with the values shown in the sample. Save the file as **input-cnf-nsd.jsonc**.
31+
> Edit the input.json file. Replace it with the values shown in the sample below. Save the file as **input-cnf-nsd.jsonc**.
32+
>
33+
> If you changed the name of the publisher when publishing the NFDV, use your publisher name for both the `publisher_name` and `publisher` fields (the latter is within the `resource_element_templates` array).
34+
>
35+
> If you have used a different resource group name, update both the `publisher_resource_group_name` and `publisher_resource_group` fields (the latter is within the `resource_element_templates` array).
3236
3337
Here's a sample **input-cnf-nsd.jsonc**:
3438

@@ -123,7 +127,7 @@ To publish the NSDV and its associated artifacts, issue the following command:
123127
az aosm nsd publish --build-output-folder nsd-cli-output
124128
```
125129

126-
When the Publish process is complete, navigate to your Publisher Resource Group to observe and review the resources and artifacts that were produced.
130+
When the publish process is complete, navigate to your Publisher Resource Group to observe and review the resources and artifacts that were produced.
127131

128132
## Next steps
129133

articles/operator-service-manager/quickstart-containerized-network-function-operator.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ This quickstart contains the prerequisite tasks for Operator and Containerized N
1818
1919
## Permissions
2020

21-
In order to complete these prerequisites for Operator and Containerized Network Function, you need an Azure subscription where you have the _Contributor_ role (in order to create a Resource Group) and you need to be able to attain the _Owner_ or _User Access Administrator_ role over this Resource Group. Alternatively, you need an existing Resource Group where you have the ‘Owner’ or ‘User Access Administrator’ Role.
21+
You need an Azure subscription with an existing Resource Group over which you have the _Contributor_ role and the _User Access Administrator_ role.
2222

23-
You also need the _Owner_ or _User Access Administrator_ role in the Network Function Definition Publisher Resource Group. The Network Function Definition Publisher Resource Group was created in [Quickstart: Publish Nginx container as Containerized Network Function (CNF)](quickstart-publish-containerized-network-function-definition.md) and named nginx-publisher-rg in the input.json file.
23+
Alternatively you need the _Contributor_ role over this subscription so that the AOSM CLI extension can create the Resource Group, but you will then need to add to your user the _User Access Administrator_ role with scope of this newly created Resource Group.
24+
25+
You also need the _User Access Administrator_ role over the Network Function Definition Publisher Resource Group. The Network Function Definition Publisher Resource Group was used in [Quickstart: Publish Nginx container as Containerized Network Function (CNF)](quickstart-publish-containerized-network-function-definition.md). Check the input-cnf-nfd.jsonc file for the Resource Group name.
2426

2527
## Set environment variables
2628

@@ -51,11 +53,8 @@ az group create -n ${resourceGroup} -l ${location}
5153

5254
## Provision Azure Kubernetes Service (AKS) cluster
5355

54-
> [!NOTE]
55-
> Ensure that `agentCount` is set to 1. Only one node is required at this time.
56-
5756
```azurecli
58-
az aks create -g ${resourceGroup} -n ${clusterName} --node-count 1 --generate-ssh-keys
57+
az aks create -g ${resourceGroup} -n ${clusterName} --node-count 3 --generate-ssh-keys
5958
```
6059

6160
## Enable Azure Arc

articles/operator-service-manager/quickstart-containerized-network-function-prerequisites.md

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -39,30 +39,14 @@ az extension add --name aosm
3939

4040
## Requirements for Containerized Network Function (CNF)
4141

42+
### Install required local tools
43+
4244
For those utilizing Containerized Network Functions, it's essential to ensure that the following packages are installed on the machine from which you're executing the CLI:
4345

4446
- **Install docker**, refer to [Install the Docker Engine](https://docs.docker.com/engine/install/).
4547
- **Install Helm**, refer to [Install Helm CLI](https://helm.sh/docs/intro/install/). You must use Helm v3.8.0 or later.
4648

4749

48-
### Configure Containerized Network Function (CNF) deployment
49-
50-
For deployments of Containerized Network Functions (CNFs), it's crucial to have the following stored on the machine from which you're executing the CLI:
51-
52-
- **Helm Packages with Schema** - These packages should be present on your local storage and referenced within the `cnf-input.jsonc` configuration file. When following this quickstart, you download the required helm package.
53-
- **Creating a Sample Configuration File** - Generate an example configuration file for defining a CNF deployment. Issue this command to generate an `cnf-input.jsonc` file that you need to populate with your specific configuration.
54-
55-
```azurecli
56-
az aosm nfd generate-config --definition-type cnf
57-
```
58-
59-
- Your container images must be present in either:
60-
- A reference to existing Azure Container Registries that contain the images for your CNF.
61-
- A reference to other Container Registries that contain the images for your CNF.
62-
63-
> [!IMPORTANT]
64-
> Use the `docker login` command to sign in to a non-Azure container registry hosting your container images before you run any `az aosm` commands.
65-
6650
### Download sample Helm chart
6751

6852
Download the sample Helm chart from here [Sample Helm chart](https://download.microsoft.com/download/c/5/1/c512cc48-ad99-4a69-afdc-db2bda449914/nginxdemo-0.3.0.tgz) for use with this quickstart.

articles/operator-service-manager/quickstart-publish-containerized-network-function-definition.md

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ This quickstart describes how to use the `az aosm` Azure CLI extension to create
1616

1717
- An Azure account with an active subscription is required. If you don't have an Azure subscription, follow the instructions here [Start free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) to create an account before you begin.
1818

19-
- The Contributor and AcrPush roles over this subscription in order to create a Resource Group, or an existing Resource Group where you have the Contributor role.
20-
2119
- Complete the [Quickstart: Complete the prerequisites to deploy a Containerized Network Function in Azure Operator Service Manager](quickstart-containerized-network-function-prerequisites.md).
2220

21+
- An existing Resource Group where you have the Contributor role, or the Contributor role over this subscription so that the AOSM CLI extension can create the resource group.
22+
2323
## Create input file
2424

2525
Create an input file for publishing the Network Function Definition. Execute the following command to generate the input configuration file for the Network Function Definition (NFD).
@@ -32,8 +32,14 @@ Execution of the preceding command generates an cnf-input.jsonc file.
3232

3333
> [!NOTE]
3434
> Edit the cnf-input.jsonc file. Replace it with the values shown in the following sample. Save the file as **input-cnf-nfd.jsonc**.
35-
> [!NOTE]
36-
> You can use multiple Container Registries as sources for your images in the AOSM CLI. The images to be copied from these Registries are populated automatically based on the helm package schema. To configure these source Registries, fill in `image_sources` list in the cnf-input.jsonc file. When using ACRs, you must have Reader/AcrPull permissions. When using other private Registries, you must run `docker login` to authenticate with all non-ACR Registries before running the `az aosm nfd build` command. In this quickstart we use `docker.io` as the image source Registry. This is a public Registry and does not require authentication.
35+
>
36+
> If you are using an existing resource group, change the `publisher_resource_group_name` field to match it.
37+
38+
> [!TIP]
39+
> You can use multiple container registries as sources for your images in the AOSM CLI. The images to be copied from these registries are selected automatically based on the helm package schema. The source registries are configured in the `image_sources` list of the cnf-input.jsonc file.
40+
>
41+
>When using ACRs, you must have the Reader and AcrPull roles on the ACR. When using non-ACR registries, you must run `docker login` to authenticate with each private registry before running the `az aosm nfd build` command.
42+
> **In this quickstart we use `docker.io` as the image source registry. This is a *public* registry and does not require authentication.**
3743
3844
Here's sample input-cnf-nfd.jsonc file:
3945

@@ -45,7 +51,7 @@ Here's sample input-cnf-nfd.jsonc file:
4551
// Will be created if it does not exist.
4652
"publisher_name": "nginx-publisher",
4753
// Resource group for the Publisher resource.
48-
// You should create this before running the publish command
54+
// Will be created if it does not exist.
4955
"publisher_resource_group_name": "nginx-publisher-rg",
5056
// Name of the ACR Artifact Store resource.
5157
// Will be created if it does not exist.
@@ -63,9 +69,8 @@ Here's sample input-cnf-nfd.jsonc file:
6369
"helm_packages": [
6470
{
6571
"name": "nginxdemo",
66-
"path_to_chart": "nginxdemo-0.1.0.tgz",
67-
"default_values": "",
68-
"depends_on": []
72+
"path_to_chart": "nginxdemo-0.3.0.tgz",
73+
"default_values": ""
6974
}
7075
]
7176
}
@@ -110,6 +115,13 @@ Execute the following command to publish the Network Function Definition (NFD) a
110115
> [!NOTE]
111116
> If you are using Windows, you must have Docker Desktop running during the publish step.
112117
118+
> [!NOTE]
119+
> Publisher names must be unique within a region. It is quite likely that the 'nginx-publisher' defined in the example config file already exists.
120+
>
121+
>If you get an error saying "**A private publisher resource with the name 'nginx-publisher' already exists in the provided region**", edit the `publisher_name` field in the config file so that it is unique (e.g. add a random string suffix), re-run the `build` command (above), and then re-run this `publish` command.
122+
>
123+
>If you go on to create a network service design, you will need to use this new pubilsher name in the `resource_element_templates` array.
124+
113125
```azurecli
114126
az aosm nfd publish -b cnf-cli-output --definition-type cnf
115127
```

articles/operator-service-manager/quickstart-publish-virtualized-network-function-definition.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ This quickstart describes how to use the `az aosm` Azure CLI extension to create
1616

1717
- An Azure account with an active subscription is required. If you don't have an Azure subscription, follow the instructions here [Start free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) to create an account before you begin.
1818

19-
- The Contributor role over this subscription in order to create a Resource Group, or an existing Resource Group where you have the Contributor role.
19+
- Complete the [Quickstart: Complete the prerequisites to deploy a Virtualized Network Function in Azure Operator Service Manager](quickstart-virtualized-network-function-prerequisites.md)
2020

21-
- It's also assumed that you followed the prerequisites in [Quickstart: Complete the prerequisites to deploy a Virtualized Network Function in Azure Operator Service Manager](quickstart-virtualized-network-function-prerequisites.md)
21+
- An existing Resource Group where you have the Contributor role, or the Contributor role over this subscription so that the AOSM CLI extension can create the resource group.
2222

2323
## Create input file
2424

@@ -32,6 +32,8 @@ Once you execute this command, a vnf-input.jsonc file is generated.
3232

3333
> [!NOTE]
3434
> Edit the vnf-input.jsonc file, replacing it with the values shown in the sample. Save the file as **input-vnf-nfd.jsonc**.
35+
>
36+
> If you are using an existing resource group, change the `publisher_resource_group_name` field to match it.
3537
3638
Here is a sample input-vnf-nfd.jsonc file:
3739

@@ -155,6 +157,13 @@ These files are created in a subdirectory called **vnf-cli-output**:
155157

156158
Execute the following command to publish the Network Function Definition (NFD) and upload the associated artifacts:
157159

160+
> [!NOTE]
161+
> Publisher names must be unique within a region. It is quite likely that the 'ubuntu-publisher' defined in the example config file already exists.
162+
>
163+
>If you get an error saying "**A private publisher resource with the name 'ubuntu-publisher' already exists in the provided region**", edit the `publisher_name` field in the config file so that it is unique (e.g. add a random string suffix), re-run the `build` command (above), and then re-run this `publish` command.
164+
>
165+
>If you go on to create a network service design, you will need to use this new pubilsher name in the `resource_element_templates` array.
166+
158167
```azurecli
159168
az aosm nfd publish --build-output-folder vnf-cli-output --definition-type vnf
160169
```

articles/operator-service-manager/quickstart-virtualized-network-function-create-site-network-service.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,8 @@ Wait for the deployment to reach the 'Succeeded' state. After completion, your V
103103
1. Select the link under **Current State -> Resources**. The link takes you to the managed resource group created by Azure Operator Service Manager.
104104

105105
Congratulations! You have successfully created a Site Network Service for Ubuntu Virtual Machine (VM) as a Virtual Network Function (VNF) in Azure. You can now manage and monitor your Virtual Network Function (VNF) through the Azure portal.
106+
107+
When you have finished, remember to delete the resources. You can do this by:
108+
109+
1. Deleting the Operator Resource Group.
110+
1. When the above is complete, deleting the Publisher Resource Group.

articles/operator-service-manager/quickstart-virtualized-network-function-network-design.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ An `nsd-input.jsonc` file is generated when you run this command.
3030

3131
> [!NOTE]
3232
> Edit the nsd-input.jsonc file, replacing it with the values shown in the sample. Remove the section where resource_element_type is set to ArmTemplate. This is for adding infrastructure (such as VNets) to more complicated NSDs, which is not needed in this quickstart. Save the file as **input-vnf-nsd.jsonc**.
33+
>
34+
> If you changed the name of the publisher when publishing the NFDV, use your publisher name for both the `publisher_name` and `publisher` fields (the latter is within the `resource_element_templates` array).
35+
>
36+
> If you have used a different resource group name, update both the `publisher_resource_group_name` and `publisher_resource_group` fields (the latter is within the `resource_element_templates` array).
3337
3438
```json
3539
{

articles/operator-service-manager/quickstart-virtualized-network-function-operator.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,6 @@ This quickstart contains the prerequisite tasks for Operator and Virtualized Net
107107
```
108108
1. The script creates a Virtual Network, a Network Security Group and the Managed Identity.
109109
110-
111-
112110
## Locate Resource ID for managed identity
113111
114112
1. **Login to Azure portal**: Open a web browser and sign in to the Azure portal (https://portal.azure.com/) using your Azure account credentials.
@@ -134,7 +132,7 @@ This quickstart contains the prerequisite tasks for Operator and Virtualized Net
134132
135133
## Update Site Network Service (SNS) permissions
136134
137-
To perform this task, you need either the 'Owner' or 'User Access Administrator' role in the respective Resource Group.
135+
To perform this task, you need the 'User Access Administrator' role over the respective Resource Group.
138136
In prior steps, you created a Managed Identity labeled *identity-for-ubuntu-vm-sns* inside your reference resource group. This identity plays a crucial role in deploying the Site Network Service. (SNS). Grant the identity 'Contributor' permissions for relevant resources. These actions facilitate the connection of the Virtual Machine (VM) to the Virtual Network (VNET). Through this identity, the Site Network Service (SNS) attains the required permissions.
139137
140138
In prior steps, you created a Managed Identity labeled identity-for-ubuntu-vm-sns inside your reference resource group. This identity plays a crucial role in deploying the Site Network Service (SNS). Grant the identity 'Contributor' permissions for relevant resources. These actions facilitate the deployment of the Virtual Network Function and the connection of the Virtual Machine (VM) to the Virtual Network (VNET). Through this identity, the Site Network Service (SNS) attains the required permissions.
@@ -199,7 +197,7 @@ In prior steps, you created a Managed Identity labeled identity-for-ubuntu-vm-sn
199197
200198
1. Select **Review and assign**.
201199
202-
Completion of all the tasks outlined in this article ensures that the Service Network Slice (SNS) has the necessary permissions to function effectively within the specified Azure environment.
200+
Completion of all the tasks outlined in this article ensures that the Site Network Service (SNS) has the necessary permissions to function effectively within the specified Azure environment.
203201
204202
## Next steps
205203

articles/operator-service-manager/quickstart-virtualized-network-function-prerequisites.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ Prior to using the Azure Operator Service Manager you must first register the re
6161

6262
```azurecli
6363
# Register Resource Provider
64-
az provider register --namespace Microsoft.ContainerRegistry
6564
az provider register --namespace Microsoft.ContainerInstance
6665
```
6766
## Verify registration status
@@ -70,17 +69,12 @@ To verify the registration status of the resource providers, you can run the fol
7069

7170
```azurecli
7271
# Query the Resource Provider
73-
az provider show -n Microsoft.ContainerRegistry --query "{RegistrationState: registrationState, ProviderName: namespace}"
7472
az provider show -n Microsoft.ContainerInstance --query "{RegistrationState: registrationState, ProviderName: namespace}"
7573
```
7674

7775
Upon success, the following output displays:
7876

7977
```azurecli
80-
{
81-
"ProviderName": "Microsoft.ContainerRegistry",
82-
"RegistrationState": "Registered"
83-
}
8478
{
8579
"ProviderName": "Microsoft.ContainerInstance",
8680
"RegistrationState": "Registered"

0 commit comments

Comments
 (0)