Aprovisionamiento de nuevas SIM para Azure Private 5G Core: plantilla de ARM

Los recursos de SIM representan las SIM físicas o las eSIM usadas por el equipo de usuario (UE) al que da servicio la red móvil privada. En esta guía paso a paso, aprenderá a aprovisionar nuevas SIM para una red móvil privada existente mediante una plantilla de Azure Resource Manager (plantilla de ARM).

Una plantilla de Azure Resource Manager es un archivo de notación de objetos JavaScript (JSON) que define tanto la infraestructura como la configuración de un proyecto. La plantilla usa sintaxis declarativa. Se describe la implementación deseada sin escribir la secuencia de comandos de programación para crear la implementación.

Si su entorno cumple los requisitos previos y está familiarizado con el uso de plantillas de Resource Manager, seleccione el botón Implementar en Azure. La plantilla se abrirá en Azure Portal.

Botón para implementar la plantilla de Resource Manager en Azure.

Requisitos previos

  • Asegúrese de que puede iniciar sesión en Azure Portal mediante una cuenta con acceso a la suscripción activa que identificó en Finalización de las tareas previas necesarias para implementar una red móvil privada. Esta cuenta debe tener el rol de colaborador integrado en el ámbito de la suscripción.
  • Identifique el nombre del recurso de red móvil correspondiente a la red móvil privada y el grupo de recursos que lo contiene.
  • Identifique la región de Azure en la que implementó la red móvil privada.
  • Elija un nombre para el nuevo grupo de SIM al que se agregarán las SIM.
  • Identifique la directiva de SIM que quiere asignar a los SIM que está aprovisionando. Debe haber creado ya la directiva de SIM mediante las instrucciones de Configuración de una directiva de SIM: Azure Portal.

Recopilación de la información necesaria para las SIM

Para empezar, recopile los valores de la tabla siguiente para cada SIM que quiera aprovisionar.

Value Nombre de parámetro
Nombre de SIM. El nombre de SIM solo puede contener caracteres alfanuméricos, guiones y guiones bajos. simName
Número de identificación de la tarjeta de circuito integrado (ICCID). El ICCID identifica una SIM física o eSIM específicas, e incluye información sobre el país y el emisor de la SIM. El ICCID es opcional y un valor numérico único que contiene entre 19 y 20 dígitos y empieza por 89. integratedCircuitCardIdentifier
Identidad del suscriptor móvil internacional (IMSI). IMSI es un número único (normalmente de 15 dígitos) que identifica un dispositivo o usuario en una red móvil. internationalMobileSubscriberIdentity
Clave de autenticación (Ki). La Ki es un valor único de 128 bits que un operador asigna a la SIM. Se usa junto con el código de operador derivado (OPc) para autenticar a un usuario. Debe ser una cadena de 32 caracteres que contenga solo caracteres hexadecimales. authenticationKey
Código de operador derivado (OPc). El OPc se toma de la Ki de la SIM y del código de operador (OP) de la red. La instancia de la red troncal de paquetes lo usa para autenticar a un usuario mediante un algoritmo basado en estándares. El OPc Debe ser una cadena de 32 caracteres que contenga solo caracteres hexadecimales. operatorKeyCode
Tipo de dispositivo que usa esta SIM. Este valor es una cadena opcional de formato libre. Puede usarse según sea necesario para identificar fácilmente los tipos de dispositivo que usan las redes móviles privadas de la empresa. deviceType
Directiva de SIM que se va a asignar a la SIM. Esto es opcional, pero los SIM no podrán usar la red móvil privada sin una directiva SIM asignada. simPolicyId

Recopile la información necesaria para asignar direcciones IP estáticas

Solo tiene que completar este paso si se aplican todas las siguientes acciones:

  • Va a usar una o varias matrices JSON para aprovisionar las SIM.
  • Ha configurado la asignación de direcciones IP estáticas para las instancias de núcleo de paquetes.
  • Quiere asignar direcciones IP estáticas a las SIM durante el aprovisionamiento de SIM.

Recopile los valores de la siguiente tabla para cada SIM que quiera aprovisionar. Si la red móvil privada tiene varias redes de datos y quiere asignar a esta SIM una dirección IP estática diferente para cada una, recopile los valores de cada dirección IP.

Cada dirección IP debe provenir del grupo que asignó para la asignación de direcciones IP estáticas al crear la red de datos correspondiente, como se describe en Recopilación de valores de red de datos. Para más información, consulte Asignación de grupos de direcciones IP de equipo de usuario (UE).

Value Nombre del campo en Azure Portal Nombre de parámetro JSON
La red de datos que usará la SIM. No aplicable. staticIpConfiguration.attachedDataNetworkId
El segmento de red que usará la SIM. No aplicable. staticIpConfiguration.sliceId
La dirección IP estática que se asignará a la SIM. No aplicable. staticIpConfiguration.staticIpAddress

Preparación de una o varias matrices JSON para las SIM

Use la información recopilada en Recopilación de la información necesaria para las SIM para crear una o varias matrices JSON que contengan propiedades para hasta 1000 SIM que quiera aprovisionar. A continuación se muestra un ejemplo de una matriz que contiene propiedades para dos SIM (SIM1 y SIM2).

Si no desea asignar una directiva SIM o una dirección IP estática ahora, puede eliminar los parámetros simPolicy o staticIpConfiguration.

Nota:

El tamaño máximo del cuerpo de la solicitud de API es de 4 MB. Se recomienda escribir un máximo de 1000 SIM por matriz JSON para permanecer por debajo de este límite. Si desea aprovisionar más de 1000 SIM, cree varias matrices y repita el proceso de aprovisionamiento para cada uno. Como alternativa, puede usar Azure Portal para aprovisionar hasta 10 000 SIM por archivo 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"
	}
   ]
 }
]

Revisión de la plantilla

La plantilla usada en este inicio rápido forma parte de las plantillas de inicio rápido de Azure.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.27.1.19265",
      "templateHash": "7026271350043138477"
    }
  },
  "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-04-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-04-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'))]"
    }
  ]
}

Los siguientes recursos de Azure se definen en la plantilla.

Implementación de la plantilla

  1. Seleccione el vínculo siguiente para iniciar sesión en Azure y abrir una plantilla.

    Botón para implementar la plantilla de Resource Manager en Azure.

  2. Seleccione o introduzca los valores siguientes con la información que recuperó en Requisitos previos.

    • Suscripción: seleccione la suscripción a Azure que usó para crear la red móvil privada.
    • Grupo de recursos: seleccione el grupo de recursos que contiene el recurso de red móvil que representa la red móvil privada.
    • Región: seleccione la región en la que implementó la red móvil privada.
    • Ubicación: escriba el nombre del código de la región en la que implementó la red móvil privada.
    • Nombre de red móvil existente: escriba el nombre del recurso de red móvil que representa la red móvil privada.
    • Nombre de directiva SIM existente: escriba el nombre de la directiva SIM que quiere asignar a las SIM.
    • Nombre del grupo de SIM: escriba el nombre del nuevo grupo de SIM.
    • Recursos de SIM: pegue una de las matrices JSON que preparó en Preparación de una o varias matrices JSON para las SIM.

    Captura de pantalla de Azure Portal en la que se muestran los campos de configuración de la plantilla de ARM de SIM.

  3. Seleccione Revisar + crear.

  4. Azure validará ahora los valores de configuración especificados. Debería ver un mensaje que indica que los valores han superado la validación.

    Si se produce un error en la validación, verá un mensaje de error y se marcarán las pestañas de Configuración que contienen la configuración no válida. Seleccione las pestañas marcadas y use los mensajes de error para corregir la configuración no válida antes de volver a la pestaña Revisión y creación.

  5. Una vez validada la configuración, puede seleccionar Crear para aprovisionar las SIM. Azure Portal mostrará una pantalla de confirmación cuando se hayan aprovisionado las SIM.

  6. Si va a aprovisionar más de 1000 SIM, repita este proceso con cada una de las matrices JSON.

Revisión de los recursos implementados

  1. Seleccione Ir al grupo de recursos.

    Captura de pantalla de Azure Portal en la que se muestra la confirmación de implementación de la plantilla de ARM.

  2. Confirme que el recurso Grupo de SIM se ha creado en el grupo de recursos.

    Captura de pantalla de Azure Portal en la que se muestra un grupo de recursos que contiene un grupo de SIM recién creado.

  3. Seleccione el recurso Grupo de SIM y confirme que todas las SIM se han aprovisionado correctamente.

    Captura de pantalla de Azure Portal en la que se muestra un recurso de grupo de SIM que contiene SIM.

Pasos siguientes