Effettuare il provisioning di nuovi SIM per il modello 5G Core privato di Azure - Arm

Le risorse SIM rappresentano SIM fisici o eSIM usati dalle apparecchiature utente (UES) servite dalla rete mobile privata. In questa guida pratica si apprenderà come effettuare il provisioning di nuovi SIM per una rete mobile privata esistente usando un modello di Azure Resource Manager (modello arm).

Un modello di Azure Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione per il progetto. Il modello utilizza la sintassi dichiarativa. Si descrive la distribuzione prevista senza scrivere la sequenza di comandi di programmazione per creare la distribuzione.

Se l'ambiente soddisfa i prerequisiti e si ha familiarità con l'uso dei modelli di Resource Manager, selezionare il pulsante Distribuisci in Azure. Il modello verrà aperto nel portale di Azure.

Pulsante per distribuire il modello di Resource Manager in Azure.

Prerequisiti

  • Assicurarsi di poter accedere al portale di Azure usando un account con accesso alla sottoscrizione attiva identificata in Completare le attività dei prerequisiti per la distribuzione di una rete mobile privata. Questo account deve avere il ruolo Collaboratore predefinito nell'ambito della sottoscrizione.
  • Identificare il nome della risorsa rete mobile corrispondente alla rete mobile privata e al gruppo di risorse che lo contiene.
  • Identificare l'area di Azure in cui è stata distribuita la rete mobile privata.
  • Scegliere un nome per il nuovo gruppo SIM a cui verranno aggiunti i SIM.
  • Identificare i criteri SIM da assegnare ai SIM di cui si sta eseguendo il provisioning. È necessario aver già creato questo criterio SIM usando le istruzioni riportate in Configurare un criterio SIM - portale di Azure.

Raccogliere le informazioni necessarie per le macchine virtuali

Per iniziare, raccogliere i valori nella tabella seguente per ogni SIM di cui si vuole eseguire il provisioning.

Valore Nome parametro
Nome SIM. Il nome della SIM deve contenere solo caratteri alfanumerici, trattini e caratteri di sottolineatura. simName
Numero di identificazione scheda circuito integrato (ICCID). L'ICCID identifica una specifica SIM fisica o eSIM e include informazioni sul paese/area geografica della SIM e sull'emittente. L'ICCID è facoltativo ed è un valore numerico univoco compreso tra 19 e 20 cifre, a partire da 89. integratedCircuitCardIdentifier
Identità internazionale del sottoscrittore di dispositivi mobili (IMSI). IMSI è un numero univoco (in genere 15 cifre) che identifica un dispositivo o un utente in una rete mobile. internationalMobileSubscriberIdentity
Chiave di autenticazione (Ki). Ki è un valore univoco a 128 bit assegnato alla SIM da un operatore e viene usato con il codice dell'operatore derivato (OPc) per autenticare un utente. Deve essere una stringa di 32 caratteri, contenente solo caratteri esadecimali. authenticationKey
Codice dell'operatore derivato (OPc). L'OPc viene ricavato dal ki della SIM e dal codice dell'operatore (OP) della rete. L'istanza di base del pacchetto lo usa per autenticare un utente usando un algoritmo basato su standard. OPc deve essere una stringa di 32 caratteri, contenente solo caratteri esadecimali. operatorKeyCode
Tipo di dispositivo che usa questa SIM. Questo valore è una stringa facoltativa in formato libero. È possibile usarlo in base alle esigenze per identificare facilmente i tipi di dispositivo usando la rete mobile privata dell'organizzazione. deviceType
Criterio SIM da assegnare alla SIM. Questa opzione è facoltativa, ma i sim non potranno usare la rete mobile privata senza un criterio SIM assegnato. simPolicyId

Raccogliere le informazioni necessarie per l'assegnazione di indirizzi IP statici

È necessario completare questo passaggio solo se si applicano tutte le operazioni seguenti:

  • Si usano una o più matrici JSON per effettuare il provisioning dei SIM.
  • È stata configurata l'allocazione di indirizzi IP statici per le istanze core del pacchetto.
  • Si vogliono assegnare indirizzi IP statici alle MACCHINE VIRTUALI durante il provisioning sim.

Raccogliere i valori nella tabella seguente per ogni SIM di cui si vuole eseguire il provisioning. Se la rete mobile privata ha più reti dati e si vuole assegnare un indirizzo IP statico diverso per ogni rete dati a questa SIM, raccogliere i valori per ogni indirizzo IP.

Ogni indirizzo IP deve provenire dal pool assegnato per l'allocazione di indirizzi IP statici durante la creazione della rete dati pertinente, come descritto in Raccogliere i valori della rete dati. Per altre informazioni, vedere Allocare pool di indirizzi IP ue (User Equipment).

Valore Campo nome in portale di Azure Nome del parametro JSON
Rete dati che verrà usata dalla SIM. Non applicabile. staticIpConfiguration.attachedDataNetworkId
Sezione di rete che verrà usata dalla SIM. Non applicabile. staticIpConfiguration.sliceId
Indirizzo IP statico da assegnare alla SIM. Non applicabile. staticIpConfiguration.staticIpAddress

Preparare una o più matrici JSON per le macchine virtuali

Usare le informazioni raccolte in Raccogliere le informazioni necessarie per i SIM per creare una o più matrici JSON contenenti proprietà per un massimo di 1000 delle VM di cui si vuole eseguire il provisioning. Di seguito è riportato un esempio di matrice contenente proprietà per due SIM (SIM1 e SIM2).

Se non vuoi assegnare un criterio SIM o un indirizzo IP statico ora, puoi eliminare i simPolicy parametri e/o staticIpConfiguration .

Nota

La dimensione massima del corpo della richiesta API è 4 MB. È consigliabile immettere un massimo di 1000 SIM per matrice JSON per rimanere al di sotto di questo limite. Se si vuole effettuare il provisioning di più di 1000 SIM, creare più matrici e ripetere il processo di provisioning per ognuno di essi. In alternativa, è possibile usare il portale di Azure per effettuare il provisioning di un massimo di 10.000 SIM per ogni file JSON.

[
 {
  "simName": "SIM1",
  "integratedCircuitCardIdentifier": "8912345678901234566",
  "internationalMobileSubscriberIdentity": "001019990010001",
  "authenticationKey": "00112233445566778899AABBCCDDEEFF",
  "operatorKeyCode": "63bfa50ee6523365ff14c1f45f88737d",
  "deviceType": "Cellphone",
  "simPolicyId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/simPolicies/SimPolicy1",
  "staticIpConfiguration" :[
	{
	  "attachedDataNetworkId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/site-1/packetCoreDataPlanes/site-1/attachedDataNetworks/adn1",
	  "sliceId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/slices/slice-1",
	  "staticIpAddress": "10.132.124.54"
	},
    {
	  "attachedDataNetworkId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/site-1/packetCoreDataPlanes/site-1/attachedDataNetworks/adn2",
	  "sliceId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/slices/slice-1",
	  "staticIpAddress": "10.132.124.55"
	}
   ]
 },
 {
  "simName": "SIM2",
  "integratedCircuitCardIdentifier": "8922345678901234567",
  "internationalMobileSubscriberIdentity": "001019990010002",
  "authenticationKey": "11112233445566778899AABBCCDDEEFF",
  "operatorKeyCode": "63bfa50ee6523365ff14c1f45f88738d",
  "deviceType": "Sensor",
  "simPolicyId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/simPolicies/SimPolicy2",
  "staticIpConfiguration" :[
	{
	  "attachedDataNetworkId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/site-1/packetCoreDataPlanes/site-1/attachedDataNetworks/adn1",
	  "sliceId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/slices/slice-1",
	  "staticIpAddress": "10.132.124.54"
	},
	{
	  "attachedDataNetworkId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/site-1/packetCoreDataPlanes/site-1/attachedDataNetworks/adn2",
	  "sliceId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/slices/slice-1",
	  "staticIpAddress": "10.132.124.55"
	}
   ]
 }
]

Rivedere il modello

Il modello usato in questo avvio rapido proviene dai modelli di avvio rapido di Azure.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.25.53.49325",
      "templateHash": "9173523895323587869"
    }
  },
  "parameters": {
    "location": {
      "type": "string",
      "metadata": {
        "description": "Region where the SIM group will be deployed (must match the resource group region)."
      }
    },
    "existingMobileNetworkName": {
      "type": "string",
      "metadata": {
        "description": "The name of the mobile network to which you are adding the SIM group."
      }
    },
    "existingSimPolicyName": {
      "type": "string",
      "metadata": {
        "description": "The name of the SIM policy to be assigned to the SIM(s)."
      }
    },
    "simGroupName": {
      "type": "string",
      "metadata": {
        "description": "The name for the SIM group."
      }
    },
    "existingEncryptionKeyUrl": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "A unversioned key vault key to encrypt the SIM data that belongs to this SIM group. For example: https://contosovault.vault.azure.net/keys/azureKey."
      }
    },
    "existingUserAssignedIdentityResourceId": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "User-assigned identity is an identity in Azure Active Directory that can be used to give access to other Azure resource such as Azure Key Vault. This identity should have Get, Wrap key, and Unwrap key permissions on the key vault."
      }
    },
    "simResources": {
      "type": "array",
      "metadata": {
        "description": "An array containing properties of the SIM(s) you wish to create. See [Provision proxy SIM(s)](https://docs.microsoft.com/en-gb/azure/private-5g-core/provision-sims-azure-portal) for a full description of the required properties and their format."
      }
    }
  },
  "resources": [
    {
      "copy": {
        "name": "exampleSimResources",
        "count": "[length(parameters('simResources'))]"
      },
      "type": "Microsoft.MobileNetwork/simGroups/sims",
      "apiVersion": "2024-02-01",
      "name": "[format('{0}/{1}', parameters('simGroupName'), parameters('simResources')[copyIndex()].simName)]",
      "properties": {
        "integratedCircuitCardIdentifier": "[parameters('simResources')[copyIndex()].integratedCircuitCardIdentifier]",
        "internationalMobileSubscriberIdentity": "[parameters('simResources')[copyIndex()].internationalMobileSubscriberIdentity]",
        "authenticationKey": "[parameters('simResources')[copyIndex()].authenticationKey]",
        "operatorKeyCode": "[parameters('simResources')[copyIndex()].operatorKeyCode]",
        "deviceType": "[parameters('simResources')[copyIndex()].deviceType]",
        "simPolicy": {
          "id": "[resourceId('Microsoft.MobileNetwork/mobileNetworks/simPolicies', parameters('existingMobileNetworkName'), parameters('existingSimPolicyName'))]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.MobileNetwork/simGroups', parameters('simGroupName'))]"
      ]
    },
    {
      "type": "Microsoft.MobileNetwork/simGroups",
      "apiVersion": "2024-02-01",
      "name": "[parameters('simGroupName')]",
      "location": "[parameters('location')]",
      "properties": {
        "mobileNetwork": {
          "id": "[resourceId('Microsoft.MobileNetwork/mobileNetworks', parameters('existingMobileNetworkName'))]"
        },
        "encryptionKey": {
          "keyUrl": "[parameters('existingEncryptionKeyUrl')]"
        }
      },
      "identity": "[if(not(empty(parameters('existingUserAssignedIdentityResourceId'))), createObject('type', 'UserAssigned', 'userAssignedIdentities', createObject(format('{0}', parameters('existingUserAssignedIdentityResourceId')), createObject())), createObject('type', 'None'))]"
    }
  ]
}

Le risorse di Azure seguenti sono definite nel modello.

Distribuire il modello

  1. Selezionare il collegamento seguente per accedere ad Azure e aprire un modello.

    Pulsante per distribuire il modello di Resource Manager in Azure.

  2. Selezionare o immettere i valori seguenti, usando le informazioni recuperate in Prerequisiti.

    • Sottoscrizione: selezionare la sottoscrizione di Azure usata per creare la rete mobile privata.
    • Gruppo di risorse: selezionare il gruppo di risorse contenente la risorsa Rete mobile che rappresenta la rete mobile privata.
    • Area: selezionare l'area in cui è stata distribuita la rete mobile privata.
    • Località: immettere il nome del codice dell'area in cui è stata distribuita la rete mobile privata.
    • Nome rete mobile esistente: immettere il nome della risorsa rete mobile che rappresenta la rete mobile privata.
    • Nome criterio sim esistente: immettere il nome del criterio SIM da assegnare ai SIM.
    • Sim Group Name (Nome gruppo sim): immettere il nome del nuovo gruppo SIM.
    • Sim Resources (Risorse sim): incollare una delle matrici JSON preparate in Preparare una o più matrici JSON per le macchine virtuali.

    Screenshot del portale di Azure che mostra i campi di configurazione per il modello DI Resource Manager delle macchine virtuali.

  3. Selezionare Rivedi e crea.

  4. Azure ora convaliderà i valori di configurazione immessi. Verrà visualizzato un messaggio che indica che i valori hanno superato la convalida.

    Se la convalida non riesce, verrà visualizzato un messaggio di errore e verranno contrassegnate le schede Configurazione contenenti la configurazione non valida. Selezionare le schede contrassegnate e usare i messaggi di errore per correggere la configurazione non valida prima di tornare alla scheda Rivedi e crea .

  5. Dopo aver convalidato la configurazione, è possibile selezionare Crea per effettuare il provisioning dei SIM. Il portale di Azure visualizzerà una schermata di conferma quando è stato effettuato il provisioning dei SIM.

  6. Se si esegue il provisioning di più di 1000 SIM, ripetere questo processo per ognuna delle matrici JSON.

Esaminare le risorse distribuite

  1. Selezionare Vai al gruppo di risorse.

    Screenshot del portale di Azure che mostra una conferma della distribuzione per il modello di Resource Manager.

  2. Verificare che la risorsa gruppo SIM sia stata creata nel gruppo di risorse.

    Screenshot del portale di Azure che mostra un gruppo di risorse contenente un gruppo sim appena creato.

  3. Selezionare la risorsa gruppo SIM e verificare che sia stato eseguito correttamente il provisioning di tutti i SIM.

    Screenshot del portale di Azure che mostra una risorsa del gruppo SIM contenente LEM.

Passaggi successivi