Descripción de los registros del módulo
En esta unidad, obtendrá información sobre qué son los registros de Bicep, por qué son útiles para compartir el código de Bicep. También aprenderá a crear un registro para su propia organización.
¿Por qué comparte módulos de Bicep?
Cuando se trabaja con Bicep, a menudo se usan recursos similares varias veces. Además, es habitual crear combinaciones de recursos que se implementan en varios lugares. Los módulos de Bicep proporcionan una manera cómoda de crear archivos de Bicep reutilizables. Normalmente, cada módulo define un conjunto de recursos con una configuración predefinida.
Una de las ventajas de usar módulos es que puede compartirlos con otros usuarios y puede beneficiarse de los módulos que otros usuarios comparten con usted. Por ejemplo, puede invertir tiempo en compilar y probar un archivo de Bicep para implementar un conjunto de recursos que use juntos a menudo. Al compartir el archivo como un módulo de Bicep, sus compañeros pueden usar el módulo para implementar rápidamente los mismos recursos.
Un registro de Bicep es el lugar donde se almacenan y comparten los módulos. Cualquier persona puede crear su propio registro. En el futuro, Microsoft planea admitir la publicación de más tipos de contenido de Bicep en registros, además de módulos.
Sugerencia
Microsoft mantiene un registro de módulos de Bicep público. El registro público contiene módulos que cualquier persona de la comunidad puede usar. Con el tiempo, el registro público contendrá módulos para ayudar a lograr algunos escenarios comunes en Bicep.
Este módulo de Learn se centra en compartir sus propios módulos mediante registros privados. La unidad de resumen contiene un vínculo para obtener más información sobre el registro público.
¿Cómo se comparan los registros con las especificaciones de plantilla?
Puede guardar una plantilla de Azure Resource Manager (plantilla de ARM) como especificación de plantilla. Una especificación de plantilla es una manera de hacer que las plantillas se reutilizables y compartirlas a través de su organización.
Los módulos almacenados en registros de Bicep y especificaciones de plantilla son dos formas de agregar reusabilidad al código de implementación. Pero están optimizados para diferentes cosas:
- Los módulos de Bicep están diseñados para combinarse en una implementación mayor. Las especificaciones de plantilla están diseñadas para poder implementarse como una plantilla completa. Puede implementar especificaciones de plantilla mediante Azure Portal, así como mediante herramientas como la CLI de Azure y Azure PowerShell. Sin embargo, si ha creado una especificación de plantilla, Bicep también permite usarla como un módulo si lo desea.
- Las especificaciones de plantilla se almacenan en Azure como recursos. Los módulos de los registros se almacenan como artefactos de contenedor.
- Las especificaciones de plantilla proporcionan funcionalidades de control de acceso. Al trabajar con un registro privado, debe controlar el acceso a los módulos de otras maneras. Obtendrá más información sobre el control de acceso en una unidad posterior.
Al decidir entre el uso de las especificaciones de plantilla y los módulos de Bicep, una buena regla general es: si la plantilla se va a implementar tal y como está en toda la organización, es probable que las especificaciones de plantilla sean una buena opción. Pero si es probable que reutilice esta plantilla dentro de varias plantillas primarias, los módulos de Bicep pueden satisfacer mejor sus necesidades. Un registro es una buena manera de compartir módulos.
Registros privados
Los registros de Bicep se basan en una tecnología denominada registros de contenedor.
Si su organización usa Kubernetes u otra tecnología de creación de contenedores, es posible que ya esté familiarizado con los registros. Sin embargo, no es necesario usar contenedores ni Kubernetes para trabajar con Bicep: Los registros proporcionan una manera genérica y cómoda de almacenar y compartir artefactos. Piense que son equivalentes a las cuentas de almacenamiento.
Actualmente, Bicep admite Azure Container Registry. En el futuro, Microsoft planea admitir otros registros, como Docker Hub.
Azure Container Registry proporciona varios niveles de servicio, con diferentes funcionalidades y límites. Al aprovisionar su propio registro, deberá seleccionar el nivel que mejor se adapte a sus requisitos. Se incluyen vínculos para obtener más información en la unidad de resumen.
Más adelante aprenderá a publicar módulos en un registro.
Sugerencia
En Azure Container Registry, un módulo se denomina repositorio. No lo confunda con un repositorio de Git: los términos son los mismos, pero el significado es diferente.
Control de acceso
Dado que Azure Container Registry proporciona un registro privado para su organización, puede controlar quién tiene acceso a él. Azure Container Registry proporciona varias opciones para administrar el acceso, tanto mediante Microsoft Entra ID como mediante claves que se emiten a usuarios individuales.
Cuando se trabaja con Bicep, el enfoque más sencillo es usar la autenticación de Microsoft Entra. Bicep detecta automáticamente la identidad de Microsoft Entra que se usa en la CLI de Azure o en Azure PowerShell, por lo que no tendrá que volver a iniciar sesión. En el ejercicio siguiente verá cómo funciona la autenticación. Cuando use un registro del módulo de Bicep desde una canalización, utilizará un tipo especial de identidad denominado entidad de servicio.
Puede controlar por separado quién tiene permiso para escribir módulos en el registro y quién tiene permiso para leer módulos.